diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-01 17:09:46 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-07-01 17:09:46 +0000 |
commit | e865b36b87c44b419886035f898ae1c13a54f91b (patch) | |
tree | 5cc1916d036b64af8af573ac1ac769a7bc169211 /views/widget/native_widget_views.cc | |
parent | 0d1046002cb8aa1a2756f604b05bafb60c594f9f (diff) | |
download | chromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.zip chromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.tar.gz chromium_src-e865b36b87c44b419886035f898ae1c13a54f91b.tar.bz2 |
Gets compositor working for embedded widgets.
BUG=none
TEST=none
R=ben@chromium.org
Review URL: http://codereview.chromium.org/7280002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@91312 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/native_widget_views.cc')
-rw-r--r-- | views/widget/native_widget_views.cc | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/views/widget/native_widget_views.cc b/views/widget/native_widget_views.cc index 9013ccc..4fac3aa 100644 --- a/views/widget/native_widget_views.cc +++ b/views/widget/native_widget_views.cc @@ -8,6 +8,7 @@ #include "views/view.h" #include "views/views_delegate.h" #include "views/widget/native_widget_view.h" +#include "views/widget/root_view.h" namespace views { @@ -19,7 +20,8 @@ NativeWidgetViews::NativeWidgetViews(internal::NativeWidgetDelegate* delegate) view_(NULL), active_(false), minimized_(false), - ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)) { + ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)), + hosting_widget_(NULL) { } NativeWidgetViews::~NativeWidgetViews() { @@ -42,10 +44,11 @@ void NativeWidgetViews::OnActivate(bool active) { // NativeWidgetViews, NativeWidget implementation: void NativeWidgetViews::InitNativeWidget(const Widget::InitParams& params) { + View* desktop_view = ViewsDelegate::views_delegate->GetDefaultParentView(); + hosting_widget_ = desktop_view->GetWidget(); view_ = new internal::NativeWidgetView(this); view_->SetBoundsRect(params.bounds); view_->SetPaintToLayer(true); - View* desktop_view = ViewsDelegate::views_delegate->GetDefaultParentView(); desktop_view->AddChildView(view_); // TODO(beng): handle parenting. @@ -83,6 +86,23 @@ gfx::NativeWindow NativeWidgetViews::GetNativeWindow() const { return GetParentNativeWidget()->GetNativeWindow(); } +const ui::Compositor* NativeWidgetViews::GetCompositor() const { + return hosting_widget_->GetCompositor(); +} + +ui::Compositor* NativeWidgetViews::GetCompositor() { + return hosting_widget_->GetCompositor(); +} + +void NativeWidgetViews::MarkLayerDirty() { + view_->MarkLayerDirty(); +} + +void NativeWidgetViews::CalculateOffsetToAncestorWithLayer(gfx::Point* offset, + View** ancestor) { + view_->CalculateOffsetToAncestorWithLayer(offset, ancestor); +} + void NativeWidgetViews::ViewRemoved(View* view) { return GetParentNativeWidget()->ViewRemoved(view); } @@ -164,11 +184,6 @@ void NativeWidgetViews::BecomeModal() { NOTIMPLEMENTED(); } -gfx::AcceleratedWidget NativeWidgetViews::GetAcceleratedWidget() { - // TODO(sky): - return gfx::kNullAcceleratedWidget; -} - gfx::Rect NativeWidgetViews::GetWindowScreenBounds() const { gfx::Point origin = view_->bounds().origin(); View::ConvertPointToScreen(view_->parent(), &origin); |