- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / location_bar / image_decoration.h
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_LOCATION_BAR_IMAGE_DECORATION_H_
6 #define CHROME_BROWSER_UI_COCOA_LOCATION_BAR_IMAGE_DECORATION_H_
7
8 #import "base/mac/scoped_nsobject.h"
9 #include "chrome/browser/ui/cocoa/location_bar/location_bar_decoration.h"
10
11 // |LocationBarDecoration| which sizes and draws itself according to
12 // an |NSImage|.
13
14 class ImageDecoration : public LocationBarDecoration {
15  public:
16   ImageDecoration();
17   virtual ~ImageDecoration();
18
19   NSImage* GetImage();
20   void SetImage(NSImage* image);
21
22   // Returns the part of |frame| the image is drawn in.
23   NSRect GetDrawRectInFrame(NSRect frame);
24
25   // Implement |LocationBarDecoration|.
26   virtual CGFloat GetWidthForSpace(CGFloat width) OVERRIDE;
27   virtual void DrawInFrame(NSRect frame, NSView* control_view) OVERRIDE;
28
29  private:
30   base::scoped_nsobject<NSImage> image_;
31
32   DISALLOW_COPY_AND_ASSIGN(ImageDecoration);
33 };
34
35 #endif  // CHROME_BROWSER_UI_COCOA_LOCATION_BAR_IMAGE_DECORATION_H_