1 // Copyright 2013 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_APPKIT_UTILS_H 6 #define UI_BASE_COCOA_APPKIT_UTILS_H 7 8 #import <Cocoa/Cocoa.h> 9 10 #include "ui/base/ui_base_export.h" 11 12 namespace ui { 13 14 struct NinePartImageIds { 15 int top_left; 16 int top; 17 int top_right; 18 int left; 19 int center; 20 int right; 21 int bottom_left; 22 int bottom; 23 int bottom_right; 24 }; 25 26 // A macro to define arrays of IDR constants used with DrawNinePartImage. 27 #define IMAGE_GRID(x) { x ## _TOP_LEFT, x ## _TOP, x ## _TOP_RIGHT, \ 28 x ## _LEFT, x ## _CENTER, x ## _RIGHT, \ 29 x ## _BOTTOM_LEFT, x ## _BOTTOM, x ## _BOTTOM_RIGHT, } 30 31 // Utility method to draw a nine part image using image ids. 32 UI_BASE_EXPORT void DrawNinePartImage(NSRect frame, 33 const NinePartImageIds& image_ids, 34 NSCompositingOperation operation, 35 CGFloat alpha, 36 BOOL flipped); 37 38 } // namespace ui 39 40 #endif // UI_BASE_COCOA_APPKIT_UTILS_H 41