• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 CHROME_BROWSER_UI_COCOA_NSVIEW_ADDITIONS_H_
6 #define CHROME_BROWSER_UI_COCOA_NSVIEW_ADDITIONS_H_
7 
8 #import <Cocoa/Cocoa.h>
9 
10 @interface NSView (ChromeAdditions)
11 
12 // Returns the line width that will generate a 1 pixel wide line.
13 - (CGFloat)cr_lineWidth;
14 
15 // Checks if the mouse is currently in this view.
16 - (BOOL)cr_isMouseInView;
17 
18 // Returns YES if this view is below |otherView|.
19 - (BOOL)cr_isBelowView:(NSView*)otherView;
20 
21 // Returns YES if this view is aobve |otherView|.
22 - (BOOL)cr_isAboveView:(NSView*)otherView;
23 
24 // Ensures that the z-order of |subview| is correct relative to |otherView|.
25 - (void)cr_ensureSubview:(NSView*)subview
26             isPositioned:(NSWindowOrderingMode)place
27               relativeTo:(NSView *)otherView;
28 
29 // Return best color for keyboard focus ring.
30 - (NSColor*)cr_keyboardFocusIndicatorColor;
31 
32 // Set needsDisplay for this view and all descendants.
33 - (void)cr_recursivelySetNeedsDisplay:(BOOL)flag;
34 
35 // Set the specified view to have a CoreAnimation layer if CoreAnimation is
36 // enabled at the command line.
37 - (void)cr_setWantsLayer:(BOOL)wantsLayer;
38 
39 // Draw using ancestorView's drawRect function into this view's rect. Do any
40 // required translating or flipping to transform between the two coordinate
41 // systems.
42 - (void)cr_drawUsingAncestor:(NSView*)ancestorView inRect:(NSRect)rect;
43 
44 // Used by ancestorView in the above draw call, to look up the child view that
45 // it is actually drawing to.
46 - (NSView*)cr_viewBeingDrawnTo;
47 
48 @end
49 
50 #endif  // CHROME_BROWSER_UI_COCOA_NSVIEW_ADDITIONS_H_
51