Home | History | Annotate | Download | only in cocoa
      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