168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// found in the LICENSE file. 468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#ifndef UI_BASE_COCOA_APPKIT_UTILS_H 668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#define UI_BASE_COCOA_APPKIT_UTILS_H 768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#import <Cocoa/Cocoa.h> 968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/base/ui_base_export.h" 1168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)namespace ui { 1368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 1468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)struct NinePartImageIds { 1568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int top_left; 1668043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int top; 1768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int top_right; 1868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int left; 1968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int center; 2068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int right; 2168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int bottom_left; 2268043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int bottom; 2368043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) int bottom_right; 2468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)}; 2568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// A macro to define arrays of IDR constants used with DrawNinePartImage. 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define IMAGE_GRID(x) { x ## _TOP_LEFT, x ## _TOP, x ## _TOP_RIGHT, \ 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) x ## _LEFT, x ## _CENTER, x ## _RIGHT, \ 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) x ## _BOTTOM_LEFT, x ## _BOTTOM, x ## _BOTTOM_RIGHT, } 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 3168043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)// Utility method to draw a nine part image using image ids. 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)UI_BASE_EXPORT void DrawNinePartImage(NSRect frame, 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const NinePartImageIds& image_ids, 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) NSCompositingOperation operation, 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) CGFloat alpha, 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) BOOL flipped); 3768043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 3868043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)} // namespace ui 3968043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) 4068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles)#endif // UI_BASE_COCOA_APPKIT_UTILS_H 41