1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef ASH_WM_RESIZE_SHADOW_H_
6 #define ASH_WM_RESIZE_SHADOW_H_
8 #include "base/basictypes.h"
9 #include "base/memory/scoped_ptr.h"
26 // A class to render the resize edge effect when the user moves their mouse
27 // over a sizing edge. This is just a visual effect; the actual resize is
28 // handled by the EventFilter.
34 // Initializes the resize effect layers for a given |window|.
35 void Init(aura::Window
* window
);
37 // Shows resize effects for one or more edges based on a |hit_test| code, such
38 // as HTRIGHT or HTBOTTOMRIGHT.
39 void ShowForHitTest(int hit_test
);
41 // Hides all resize effects.
44 // Updates the effect positions based on the |bounds| of the window.
45 void Layout(const gfx::Rect
& bounds
);
47 int GetLastHitTestForTest() const {
48 return last_hit_test_
;
52 // Images for the shadow effect.
53 scoped_ptr
< ::wm::ImageGrid
> image_grid_
;
55 // Hit test value from last call to ShowForHitTest(). Used to prevent
56 // repeatedly triggering the same animations for the same hit.
59 DISALLOW_COPY_AND_ASSIGN(ResizeShadow
);
64 #endif // ASH_WM_RESIZE_SHADOW_H_