Home | History | Annotate | Download | only in cocoa
      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 UI_BASE_COCOA_NSVIEW_ADDITIONS_H_
      6 #define UI_BASE_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 // Draw using ancestorView's drawRect function into this view's rect. Do any
     36 // required translating or flipping to transform between the two coordinate
     37 // systems.
     38 - (void)cr_drawUsingAncestor:(NSView*)ancestorView inRect:(NSRect)rect;
     39 
     40 // Used by ancestorView in the above draw call, to look up the child view that
     41 // it is actually drawing to.
     42 - (NSView*)cr_viewBeingDrawnTo;
     43 
     44 @end
     45 
     46 #endif  // UI_BASE_COCOA_NSVIEW_ADDITIONS_H_
     47