| OLD | NEW | 
|---|
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef CONTENT_BROWSER_WEB_CONTENTS_AURA_IMAGE_WINDOW_DELEGATE_H_ | 5 #ifndef UI_AURA_EXTRA_IMAGE_WINDOW_DELEGATE_H_ | 
| 6 #define CONTENT_BROWSER_WEB_CONTENTS_AURA_IMAGE_WINDOW_DELEGATE_H_ | 6 #define UI_AURA_EXTRA_IMAGE_WINDOW_DELEGATE_H_ | 
| 7 | 7 | 
| 8 #include "content/common/content_export.h" | 8 #include "third_party/skia/include/core/SkColor.h" | 
| 9 #include "ui/aura/window_delegate.h" | 9 #include "ui/aura/window_delegate.h" | 
|  | 10 #include "ui/aura_extra/aura_extra_export.h" | 
| 10 #include "ui/gfx/geometry/size.h" | 11 #include "ui/gfx/geometry/size.h" | 
|  | 12 #include "ui/gfx/geometry/vector2d.h" | 
| 11 #include "ui/gfx/image/image.h" | 13 #include "ui/gfx/image/image.h" | 
| 12 | 14 | 
| 13 namespace content { | 15 namespace aura_extra { | 
| 14 | 16 | 
| 15 // An ImageWindowDelegate paints an image for a Window. The delegate destroys | 17 // An ImageWindowDelegate paints an image for a Window, possibly also filling | 
| 16 // itself when the Window is destroyed. The delegate does not consume any event. | 18 // the window with a specified backround color. The delegate does not consume | 
| 17 class CONTENT_EXPORT ImageWindowDelegate : public aura::WindowDelegate { | 19 // any event. | 
|  | 20 // | 
|  | 21 // The delegate destroys itself when the Window is destroyed. This is done in | 
|  | 22 // |OnWindowDestroyed()| function which subclasses can override to prevent | 
|  | 23 // self-destroying. | 
|  | 24 class AURA_EXTRA_EXPORT ImageWindowDelegate : public aura::WindowDelegate { | 
| 18  public: | 25  public: | 
| 19   ImageWindowDelegate(); | 26   ImageWindowDelegate(); | 
| 20 | 27 | 
| 21   void SetImage(const gfx::Image& image); | 28   void SetImage(const gfx::Image& image); | 
|  | 29 | 
|  | 30   void set_background_color(SkColor color) { background_color_ = color; } | 
|  | 31   void set_image_offset(gfx::Vector2d offset) { offset_ = offset; } | 
|  | 32 | 
| 22   bool has_image() const { return !image_.IsEmpty(); } | 33   bool has_image() const { return !image_.IsEmpty(); } | 
| 23 | 34 | 
| 24  protected: | 35  protected: | 
| 25   ~ImageWindowDelegate() override; | 36   ~ImageWindowDelegate() override; | 
| 26 | 37 | 
| 27   // Overridden from aura::WindowDelegate: | 38   // Overridden from aura::WindowDelegate: | 
| 28   gfx::Size GetMinimumSize() const override; | 39   gfx::Size GetMinimumSize() const override; | 
| 29   gfx::Size GetMaximumSize() const override; | 40   gfx::Size GetMaximumSize() const override; | 
| 30   void OnBoundsChanged(const gfx::Rect& old_bounds, | 41   void OnBoundsChanged(const gfx::Rect& old_bounds, | 
| 31                        const gfx::Rect& new_bounds) override; | 42                        const gfx::Rect& new_bounds) override; | 
| 32   gfx::NativeCursor GetCursor(const gfx::Point& point) override; | 43   gfx::NativeCursor GetCursor(const gfx::Point& point) override; | 
| 33   int GetNonClientComponent(const gfx::Point& point) const override; | 44   int GetNonClientComponent(const gfx::Point& point) const override; | 
| 34   bool ShouldDescendIntoChildForEventHandling( | 45   bool ShouldDescendIntoChildForEventHandling( | 
| 35       aura::Window* child, | 46       aura::Window* child, | 
| 36       const gfx::Point& location) override; | 47       const gfx::Point& location) override; | 
| 37   bool CanFocus() override; | 48   bool CanFocus() override; | 
| 38   void OnCaptureLost() override; | 49   void OnCaptureLost() override; | 
| 39   void OnPaint(gfx::Canvas* canvas) override; | 50   void OnPaint(gfx::Canvas* canvas) override; | 
| 40   void OnDeviceScaleFactorChanged(float device_scale_factor) override; | 51   void OnDeviceScaleFactorChanged(float device_scale_factor) override; | 
| 41   void OnWindowDestroying(aura::Window* window) override; | 52   void OnWindowDestroying(aura::Window* window) override; | 
| 42   void OnWindowDestroyed(aura::Window* window) override; | 53   void OnWindowDestroyed(aura::Window* window) override; | 
| 43   void OnWindowTargetVisibilityChanged(bool visible) override; | 54   void OnWindowTargetVisibilityChanged(bool visible) override; | 
| 44   bool HasHitTestMask() const override; | 55   bool HasHitTestMask() const override; | 
| 45   void GetHitTestMask(gfx::Path* mask) const override; | 56   void GetHitTestMask(gfx::Path* mask) const override; | 
| 46 | 57 | 
| 47  protected: | 58  protected: | 
|  | 59   SkColor background_color_; | 
| 48   gfx::Image image_; | 60   gfx::Image image_; | 
|  | 61   gfx::Vector2d offset_; | 
|  | 62 | 
| 49   gfx::Size window_size_; | 63   gfx::Size window_size_; | 
| 50 | 64 | 
| 51   // Keeps track of whether the window size matches the image size or not. If | 65   // Keeps track of whether the window size matches the image size or not. If | 
| 52   // the image size is smaller than the window size, then the delegate paints a | 66   // the image size is smaller than the window size, then the delegate fills the | 
| 53   // white background for the missing regions. | 67   // missing regions with |background_color_| (defult is white). | 
| 54   bool size_mismatch_; | 68   bool size_mismatch_; | 
| 55 | 69 | 
| 56   DISALLOW_COPY_AND_ASSIGN(ImageWindowDelegate); | 70   DISALLOW_COPY_AND_ASSIGN(ImageWindowDelegate); | 
| 57 }; | 71 }; | 
| 58 | 72 | 
| 59 }  // namespace content | 73 }  // namespace aura_extra | 
| 60 | 74 | 
| 61 #endif  // CONTENT_BROWSER_WEB_CONTENTS_AURA_IMAGE_WINDOW_DELEGATE_H_ | 75 #endif  // UI_AURA_EXTRA_IMAGE_WINDOW_DELEGATE_H_ | 
| OLD | NEW | 
|---|