win: Save draggable region.
This commit is contained in:
parent
3c0671c179
commit
f833423a2f
3 changed files with 25 additions and 1 deletions
|
@ -223,6 +223,26 @@ gfx::NativeWindow NativeWindowWin::GetNativeWindow() {
|
||||||
|
|
||||||
void NativeWindowWin::UpdateDraggableRegions(
|
void NativeWindowWin::UpdateDraggableRegions(
|
||||||
const std::vector<DraggableRegion>& regions) {
|
const std::vector<DraggableRegion>& regions) {
|
||||||
|
if (has_frame_)
|
||||||
|
return;
|
||||||
|
|
||||||
|
SkRegion* draggable_region = new SkRegion;
|
||||||
|
|
||||||
|
// By default, the whole window is non-draggable. We need to explicitly
|
||||||
|
// include those draggable regions.
|
||||||
|
for (std::vector<extensions::DraggableRegion>::const_iterator iter =
|
||||||
|
regions.begin();
|
||||||
|
iter != regions.end(); ++iter) {
|
||||||
|
const extensions::DraggableRegion& region = *iter;
|
||||||
|
draggable_region->op(
|
||||||
|
region.bounds.x(),
|
||||||
|
region.bounds.y(),
|
||||||
|
region.bounds.right(),
|
||||||
|
region.bounds.bottom(),
|
||||||
|
region.draggable ? SkRegion::kUnion_Op : SkRegion::kDifference_Op);
|
||||||
|
}
|
||||||
|
|
||||||
|
draggable_region_.reset(draggable_region);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NativeWindowWin::HandleKeyboardEvent(
|
void NativeWindowWin::HandleKeyboardEvent(
|
||||||
|
|
|
@ -60,6 +60,8 @@ class NativeWindowWin : public NativeWindow,
|
||||||
virtual bool IsKiosk() OVERRIDE;
|
virtual bool IsKiosk() OVERRIDE;
|
||||||
virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
|
virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
|
||||||
|
|
||||||
|
SkRegion* draggable_region() { return draggable_region_.get(); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void UpdateDraggableRegions(
|
virtual void UpdateDraggableRegions(
|
||||||
const std::vector<DraggableRegion>& regions) OVERRIDE;
|
const std::vector<DraggableRegion>& regions) OVERRIDE;
|
||||||
|
@ -85,6 +87,8 @@ class NativeWindowWin : public NativeWindow,
|
||||||
scoped_ptr<views::Widget> window_;
|
scoped_ptr<views::Widget> window_;
|
||||||
views::WebView* web_view_; // managed by window_.
|
views::WebView* web_view_; // managed by window_.
|
||||||
|
|
||||||
|
scoped_ptr<SkRegion> draggable_region_;
|
||||||
|
|
||||||
bool resizable_;
|
bool resizable_;
|
||||||
string16 title_;
|
string16 title_;
|
||||||
gfx::Size minimum_size_;
|
gfx::Size minimum_size_;
|
||||||
|
|
2
vendor/apm
vendored
2
vendor/apm
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 613d15242ac2286eafbfe19e3857580b8adeec8c
|
Subproject commit 2c9da12d10e0f8bbcf53bbfbd553ea2cdcb9b02a
|
Loading…
Reference in a new issue