Index: components/exo/shell_surface.h |
diff --git a/components/exo/shell_surface.h b/components/exo/shell_surface.h |
index 68d4bc280ae660394b5ce165da8d0542e1c3561a..beca1bafb9b8c7db3fb40ba3911646dd3b80be31 100644 |
--- a/components/exo/shell_surface.h |
+++ b/components/exo/shell_surface.h |
@@ -51,6 +51,7 @@ class ShellSurface : public SurfaceDelegate, |
ShellSurface* parent, |
const gfx::Rect& initial_bounds, |
bool activatable, |
+ bool can_minimize, |
int container); |
explicit ShellSurface(Surface* surface); |
~ShellSurface() override; |
@@ -146,13 +147,19 @@ class ShellSurface : public SurfaceDelegate, |
// for the surface from the user's perspective. |
void SetGeometry(const gfx::Rect& geometry); |
- // Set the content bounds for the shadow. Empty bounds will delete |
- // the shadow. |
- void SetRectangularShadow(const gfx::Rect& content_bounds); |
+ // Enable/disable rectangular shadow. |
+ void SetRectangularShadow(bool enabled); |
+ |
+ // Set the content bounds for the shadow. Shell surface geometry will be |
+ // used if bounds are empty. |
+ void SetRectangularShadowContentBounds(const gfx::Rect& content_bounds); |
// Set the pacity of the background for the window that has a shadow. |
void SetRectangularShadowBackgroundOpacity(float opacity); |
+ // Enable/disable window frame. |
+ void SetFrame(bool enabled); |
+ |
// Set scale factor for surface. The scale factor will be applied to surface |
// and all descendants. |
void SetScale(double scale); |
@@ -163,8 +170,8 @@ class ShellSurface : public SurfaceDelegate, |
// Set origin in screen coordinate space. |
void SetOrigin(const gfx::Point& origin); |
- // Set activatable state for surface. |
- void SetActivatable(bool activatable); |
+ // Set container for surface. |
+ void SetContainer(int container); |
// Sets the main surface for the window. |
static void SetMainSurface(aura::Window* window, Surface* surface); |
@@ -199,6 +206,7 @@ class ShellSurface : public SurfaceDelegate, |
// Overridden from views::View: |
gfx::Size GetPreferredSize() const override; |
+ gfx::Size GetMinimumSize() const override; |
// Overridden from ash::wm::WindowStateObserver: |
void OnPreWindowStateTypeChange(ash::wm::WindowState* window_state, |
@@ -276,8 +284,11 @@ class ShellSurface : public SurfaceDelegate, |
aura::Window* parent_; |
gfx::Rect initial_bounds_; |
bool activatable_ = true; |
+ const bool can_minimize_; |
// Container Window Id (see ash/public/cpp/shell_window_ids.h) |
- const int container_; |
+ int container_; |
+ bool frame_enabled_ = false; |
+ bool shadow_enabled_ = false; |
bool pending_show_widget_ = false; |
base::string16 title_; |
std::string application_id_; |
@@ -300,12 +311,12 @@ class ShellSurface : public SurfaceDelegate, |
aura::Window* shadow_underlay_ = nullptr; |
std::unique_ptr<ui::EventHandler> shadow_underlay_event_handler_; |
gfx::Rect shadow_content_bounds_; |
+ float shadow_background_opacity_ = 1.0; |
std::deque<Config> pending_configs_; |
std::unique_ptr<ash::WindowResizer> resizer_; |
std::unique_ptr<ScopedAnimationsDisabled> scoped_animations_disabled_; |
int top_inset_height_ = 0; |
int pending_top_inset_height_ = 0; |
- float rectangular_shadow_background_opacity_ = 1.0; |
DISALLOW_COPY_AND_ASSIGN(ShellSurface); |
}; |