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 12namespace ui { 13 14struct 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. 32UI_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