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

Unified Diff: ash/wm/workspace/workspace_window_resizer.h

Issue 10008084: Add ctrl+drag feature for allowing resizing window with exact positioning. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nits. Created 8 years, 8 months 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 | « ash/wm/workspace/workspace_event_filter.cc ('k') | ash/wm/workspace/workspace_window_resizer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/wm/workspace/workspace_window_resizer.h
diff --git a/ash/wm/workspace/workspace_window_resizer.h b/ash/wm/workspace/workspace_window_resizer.h
index 34a960d2a48020f0ba9aa2d13a165c71d2f7d446..76c837cef42e14bda7d262cfd2718dbb9b3219b4 100644
--- a/ash/wm/workspace/workspace_window_resizer.h
+++ b/ash/wm/workspace/workspace_window_resizer.h
@@ -41,7 +41,6 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
aura::Window* window,
const gfx::Point& location,
int window_component,
- int grid_size,
const std::vector<aura::Window*>& attached_windows);
// Returns true if the drag will result in changing the window in anyway.
@@ -52,8 +51,8 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
}
// Overridden from WindowResizer:
- virtual void Drag(const gfx::Point& location) OVERRIDE;
- virtual void CompleteDrag() OVERRIDE;
+ virtual void Drag(const gfx::Point& location, int event_flags) OVERRIDE;
+ virtual void CompleteDrag(int event_flags) OVERRIDE;
virtual void RevertDrag() OVERRIDE;
private:
@@ -73,10 +72,10 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
// Returns the final bounds to place the window at. This differs from
// the current if there is a grid.
- gfx::Rect GetFinalBounds(const gfx::Rect& bounds) const;
+ gfx::Rect GetFinalBounds(const gfx::Rect& bounds, int grid_size) const;
// Lays out the attached windows. |bounds| is the bounds of the main window.
- void LayoutAttachedWindows(const gfx::Rect& bounds);
+ void LayoutAttachedWindows(const gfx::Rect& bounds, int grid_size);
// Calculates the size (along the primary axis) of the attached windows.
// |initial_size| is the initial size of the main window, |current_size| the
@@ -87,14 +86,18 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
int current_size,
int start,
int end,
+ int grid_size,
std::vector<int>* sizes) const;
// Adjusts the bounds to enforce that windows are vertically contained in the
// work area.
- void AdjustBoundsForMainWindow(gfx::Rect* bounds) const;
+ void AdjustBoundsForMainWindow(gfx::Rect* bounds, int grid_size) const;
// Snaps the window bounds to the work area edges if necessary.
- void SnapToWorkAreaEdges(const gfx::Rect& work_area, gfx::Rect* bounds) const;
+ void SnapToWorkAreaEdges(
+ const gfx::Rect& work_area,
+ gfx::Rect* bounds,
+ int grid_size) const;
// Returns true if the window touches the bottom edge of the work area.
bool TouchesBottomOfScreen() const;
@@ -105,7 +108,10 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
int PrimaryAxisCoordinate(int x, int y) const;
// Updates the bounds of the phantom window.
- void UpdatePhantomWindow(const gfx::Point& location, const gfx::Rect& bounds);
+ void UpdatePhantomWindow(
+ const gfx::Point& location,
+ const gfx::Rect& bounds,
+ int grid_size);
// Restacks the windows z-order position so that one of the windows is at the
// top of the z-order, and the rest directly underneath it.
« no previous file with comments | « ash/wm/workspace/workspace_event_filter.cc ('k') | ash/wm/workspace/workspace_window_resizer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698