Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef UI_BASE_COCOA_THREE_PART_IMAGE_H | |
| 6 #define UI_BASE_COCOA_THREE_PART_IMAGE_H | |
| 7 | |
| 8 #import <Cocoa/Cocoa.h> | |
| 9 | |
| 10 #include "base/mac/scoped_nsobject.h" | |
| 11 #include "ui/base/ui_base_export.h" | |
| 12 | |
| 13 namespace ui { | |
| 14 | |
| 15 // A wrapper around NSDrawThreePartImage that caches the images. | |
|
Robert Sesek
2015/02/12 21:56:37
This should mention that the ids are for ResourceB
Andre
2015/02/12 22:10:37
Done.
| |
| 16 // The middle image is optional. | |
| 17 // Vertical orientation is not currently supported. | |
| 18 class UI_BASE_EXPORT ThreePartImage { | |
| 19 public: | |
| 20 ThreePartImage(int left_id, int middle_id, int right_id); | |
| 21 ~ThreePartImage(); | |
| 22 | |
| 23 // Returns the image rects if drawn in |bounds|. | |
| 24 NSRect GetLeftRect(NSRect bounds) const; | |
| 25 NSRect GetMiddleRect(NSRect bounds) const; | |
| 26 NSRect GetRightRect(NSRect bounds) const; | |
| 27 | |
| 28 // Draws the three part image inside |rect|. | |
| 29 void DrawInRect(NSRect rect, NSCompositingOperation op, CGFloat alpha) const; | |
| 30 | |
| 31 // Returns YES if |point| is in a non-transparent part of the images. | |
| 32 // Returns YES if |point| is inside the middle rect and there is no middle | |
| 33 // image. | |
| 34 BOOL HitTest(NSPoint point, NSRect bounds) const; | |
| 35 | |
| 36 private: | |
| 37 // Returns YES if |point| is in a non-transparent part of |image|. | |
| 38 BOOL HitTestImage(NSPoint point, NSImage* image, NSRect imageRect) const; | |
| 39 | |
| 40 base::scoped_nsobject<NSImage> leftImage_; | |
| 41 base::scoped_nsobject<NSImage> middleImage_; | |
| 42 base::scoped_nsobject<NSImage> rightImage_; | |
| 43 NSSize leftSize_; | |
| 44 NSSize rightSize_; | |
| 45 | |
| 46 DISALLOW_COPY_AND_ASSIGN(ThreePartImage); | |
| 47 }; | |
| 48 | |
| 49 } // namespace ui | |
| 50 | |
| 51 #endif // UI_BASE_COCOA_THREE_PART_IMAGE_H | |
| OLD | NEW |