Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1233)

Unified Diff: components/exo/shell_surface.h

Issue 2548653005: exo: Add initial support for service side decorations. (Closed)
Patch Set: fix typo Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/exo/pointer_unittest.cc ('k') | components/exo/shell_surface.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
};
« no previous file with comments | « components/exo/pointer_unittest.cc ('k') | components/exo/shell_surface.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698