Home | History | Annotate | Download | only in cocoa
      1 // Copyright (c) 2010 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 #include "chrome/browser/ui/cocoa/floating_bar_backing_view.h"
      6 
      7 #include "base/mac/mac_util.h"
      8 #import "chrome/browser/ui/cocoa/browser_frame_view.h"
      9 
     10 @implementation FloatingBarBackingView
     11 
     12 - (void)drawRect:(NSRect)rect {
     13   NSWindow* window = [self window];
     14   BOOL isMainWindow = [window isMainWindow];
     15 
     16   if (isMainWindow)
     17     [[NSColor windowFrameColor] set];
     18   else
     19     [[NSColor windowBackgroundColor] set];
     20   NSRectFill(rect);
     21 
     22   // TODO(rohitrao): Don't assume -22 here.
     23   [BrowserFrameView drawWindowThemeInDirtyRect:rect
     24                                        forView:self
     25                                         bounds:[self bounds]
     26                                         offset:NSMakePoint(0, -22)
     27                           forceBlackBackground:YES];
     28 
     29 }
     30 
     31 // Eat all mouse events (and do *not* pass them on to the next responder!).
     32 - (void)mouseDown:(NSEvent*)event {}
     33 - (void)rightMouseDown:(NSEvent*)event {}
     34 - (void)otherMouseDown:(NSEvent*)event {}
     35 - (void)rightMouseUp:(NSEvent*)event {}
     36 - (void)otherMouseUp:(NSEvent*)event {}
     37 - (void)mouseMoved:(NSEvent*)event {}
     38 - (void)mouseDragged:(NSEvent*)event {}
     39 - (void)rightMouseDragged:(NSEvent*)event {}
     40 - (void)otherMouseDragged:(NSEvent*)event {}
     41 
     42 // Eat this too, except that ...
     43 - (void)mouseUp:(NSEvent*)event {
     44   // a double-click in the blank area should try to minimize, to be consistent
     45   // with double-clicks on the contiguous tab strip area. (It'll fail and beep.)
     46   if ([event clickCount] == 2 &&
     47       base::mac::ShouldWindowsMiniaturizeOnDoubleClick())
     48     [[self window] performMiniaturize:self];
     49 }
     50 
     51 @end  // @implementation FloatingBarBackingView
     52