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(
|
||||
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(
|
||||
|
|
|
@ -60,6 +60,8 @@ class NativeWindowWin : public NativeWindow,
|
|||
virtual bool IsKiosk() OVERRIDE;
|
||||
virtual gfx::NativeWindow GetNativeWindow() OVERRIDE;
|
||||
|
||||
SkRegion* draggable_region() { return draggable_region_.get(); }
|
||||
|
||||
protected:
|
||||
virtual void UpdateDraggableRegions(
|
||||
const std::vector<DraggableRegion>& regions) OVERRIDE;
|
||||
|
@ -85,6 +87,8 @@ class NativeWindowWin : public NativeWindow,
|
|||
scoped_ptr<views::Widget> window_;
|
||||
views::WebView* web_view_; // managed by window_.
|
||||
|
||||
scoped_ptr<SkRegion> draggable_region_;
|
||||
|
||||
bool resizable_;
|
||||
string16 title_;
|
||||
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