Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / athena / activity / activity_frame_view.h
index 43b1ac9..a3cd660 100644 (file)
@@ -5,10 +5,12 @@
 #ifndef ATHENA_ACTIVITY_ACTIVITY_FRAME_VIEW_H_
 #define ATHENA_ACTIVITY_ACTIVITY_FRAME_VIEW_H_
 
-#include "base/memory/scoped_ptr.h"
+#include "athena/wm/public/window_manager_observer.h"
+#include "ui/gfx/insets.h"
 #include "ui/views/window/non_client_view.h"
 
 namespace views {
+class ImageView;
 class Label;
 class Widget;
 }
@@ -18,15 +20,16 @@ namespace athena {
 class ActivityViewModel;
 
 // A NonClientFrameView used for activity.
-class ActivityFrameView : public views::NonClientFrameView {
+class ActivityFrameView : public views::NonClientFrameView,
+                          public WindowManagerObserver {
  public:
-  // Internal class name.
+  // The frame class name.
   static const char kViewClassName[];
 
   ActivityFrameView(views::Widget* frame, ActivityViewModel* view_model);
   virtual ~ActivityFrameView();
 
-  // views::NonClientFrameView overrides:
+  // views::NonClientFrameView:
   virtual gfx::Rect GetBoundsForClientView() const OVERRIDE;
   virtual gfx::Rect GetWindowBoundsForClientBounds(
       const gfx::Rect& client_bounds) const OVERRIDE;
@@ -36,19 +39,33 @@ class ActivityFrameView : public views::NonClientFrameView {
   virtual void ResetWindowControls() OVERRIDE;
   virtual void UpdateWindowIcon() OVERRIDE;
   virtual void UpdateWindowTitle() OVERRIDE;
+  virtual void SizeConstraintsChanged() OVERRIDE;
 
-  // views::View overrides:
+  // views::View:
   virtual gfx::Size GetPreferredSize() const OVERRIDE;
   virtual const char* GetClassName() const OVERRIDE;
   virtual void Layout() OVERRIDE;
+  virtual void OnPaintBackground(gfx::Canvas* canvas) OVERRIDE;
 
  private:
+  // WindowManagerObserver:
+  virtual void OnOverviewModeEnter() OVERRIDE;
+  virtual void OnOverviewModeExit() OVERRIDE;
+  virtual void OnSplitViewModeEnter() OVERRIDE;
+  virtual void OnSplitViewModeExit() OVERRIDE;
+
+  gfx::Insets NonClientBorderInsets() const;
+  int NonClientBorderThickness() const;
   int NonClientTopBorderHeight() const;
 
   // Not owned.
   views::Widget* frame_;
   ActivityViewModel* view_model_;
   views::Label* title_;
+  views::ImageView* icon_;
+
+  // Whether overview mode is active.
+  bool in_overview_;
 
   DISALLOW_COPY_AND_ASSIGN(ActivityFrameView);
 };