| Index: views/widget/native_widget_views.cc
|
| ===================================================================
|
| --- views/widget/native_widget_views.cc (revision 0)
|
| +++ views/widget/native_widget_views.cc (revision 0)
|
| @@ -0,0 +1,236 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "views/widget/native_widget_views.h"
|
| +
|
| +#include "ui/gfx/canvas.h"
|
| +#include "views/view.h"
|
| +
|
| +namespace views {
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NativeWidgetViews::NativeWidgetView:
|
| +
|
| +class NativeWidgetViews::NativeWidgetView : public View {
|
| + public:
|
| + NativeWidgetView() {}
|
| + virtual ~NativeWidgetView() {}
|
| +
|
| + // Overridden from View:
|
| + virtual void OnPaint(gfx::Canvas* canvas) {
|
| + canvas->FillRectInt(SK_ColorRED, 0, 0, width(), height());
|
| + }
|
| +
|
| + private:
|
| + DISALLOW_COPY_AND_ASSIGN(NativeWidgetView);
|
| +};
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NativeWidgetViews, public:
|
| +
|
| +NativeWidgetViews::NativeWidgetViews(internal::NativeWidgetDelegate* delegate)
|
| + : delegate_(delegate),
|
| + view_(NULL),
|
| + ALLOW_THIS_IN_INITIALIZER_LIST(close_widget_factory_(this)) {
|
| +}
|
| +
|
| +NativeWidgetViews::~NativeWidgetViews() {
|
| +}
|
| +
|
| +View* NativeWidgetViews::GetView() {
|
| + return view_;
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NativeWidgetViews, NativeWidget implementation:
|
| +
|
| +void NativeWidgetViews::InitNativeWidget(const Widget::InitParams& params) {
|
| + view_ = new NativeWidgetView;
|
| +
|
| + // TODO(beng): handle parenting.
|
| + // TODO(beng): SetInitParams().
|
| +}
|
| +
|
| +Widget* NativeWidgetViews::GetWidget() {
|
| + return delegate_->AsWidget();
|
| +}
|
| +
|
| +const Widget* NativeWidgetViews::GetWidget() const {
|
| + return delegate_->AsWidget();
|
| +}
|
| +
|
| +gfx::NativeView NativeWidgetViews::GetNativeView() const {
|
| + return GetParentNativeWidget()->GetNativeView();
|
| +}
|
| +
|
| +gfx::NativeWindow NativeWidgetViews::GetNativeWindow() const {
|
| + return GetParentNativeWidget()->GetNativeWindow();
|
| +}
|
| +
|
| +Window* NativeWidgetViews::GetContainingWindow() {
|
| + return view_->GetWindow();
|
| +}
|
| +
|
| +const Window* NativeWidgetViews::GetContainingWindow() const {
|
| + return view_->GetWindow();
|
| +}
|
| +
|
| +void NativeWidgetViews::ViewRemoved(View* view) {
|
| + return GetParentNativeWidget()->ViewRemoved(view);
|
| +}
|
| +
|
| +void NativeWidgetViews::SetNativeWindowProperty(const char* name, void* value) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void* NativeWidgetViews::GetNativeWindowProperty(const char* name) {
|
| + NOTIMPLEMENTED();
|
| + return NULL;
|
| +}
|
| +
|
| +TooltipManager* NativeWidgetViews::GetTooltipManager() const {
|
| + return GetParentNativeWidget()->GetTooltipManager();
|
| +}
|
| +
|
| +bool NativeWidgetViews::IsScreenReaderActive() const {
|
| + return GetParentNativeWidget()->IsScreenReaderActive();
|
| +}
|
| +
|
| +void NativeWidgetViews::SendNativeAccessibilityEvent(
|
| + View* view,
|
| + ui::AccessibilityTypes::Event event_type) {
|
| + return GetParentNativeWidget()->SendNativeAccessibilityEvent(view,
|
| + event_type);
|
| +}
|
| +
|
| +void NativeWidgetViews::SetMouseCapture() {
|
| + GetParentNativeWidget()->SetMouseCapture();
|
| +}
|
| +
|
| +void NativeWidgetViews::ReleaseMouseCapture() {
|
| + GetParentNativeWidget()->ReleaseMouseCapture();
|
| +}
|
| +
|
| +bool NativeWidgetViews::HasMouseCapture() const {
|
| + return GetParentNativeWidget()->HasMouseCapture();
|
| +}
|
| +
|
| +bool NativeWidgetViews::IsMouseButtonDown() const {
|
| + return GetParentNativeWidget()->IsMouseButtonDown();
|
| +}
|
| +
|
| +InputMethod* NativeWidgetViews::GetInputMethodNative() {
|
| + return GetParentNativeWidget()->GetInputMethodNative();
|
| +}
|
| +
|
| +void NativeWidgetViews::ReplaceInputMethod(InputMethod* input_method) {
|
| + GetParentNativeWidget()->ReplaceInputMethod(input_method);
|
| +}
|
| +
|
| +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);
|
| + return gfx::Rect(origin.x(), origin.y(), view_->width(), view_->height());
|
| +}
|
| +
|
| +gfx::Rect NativeWidgetViews::GetClientAreaScreenBounds() const {
|
| + return GetWindowScreenBounds();
|
| +}
|
| +
|
| +void NativeWidgetViews::SetBounds(const gfx::Rect& bounds) {
|
| + // |bounds| are supplied in the coordinates of the parent.
|
| + view_->SetBoundsRect(bounds);
|
| +}
|
| +
|
| +void NativeWidgetViews::SetSize(const gfx::Size& size) {
|
| + view_->SetSize(size);
|
| +}
|
| +
|
| +void NativeWidgetViews::MoveAbove(gfx::NativeView native_view) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void NativeWidgetViews::SetShape(gfx::NativeRegion region) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void NativeWidgetViews::Close() {
|
| + Hide();
|
| + if (close_widget_factory_.empty()) {
|
| + MessageLoop::current()->PostTask(FROM_HERE,
|
| + close_widget_factory_.NewRunnableMethod(&NativeWidgetViews::CloseNow));
|
| + }
|
| +}
|
| +
|
| +void NativeWidgetViews::CloseNow() {
|
| + view_->parent()->RemoveChildView(view_);
|
| + delete view_;
|
| +}
|
| +
|
| +void NativeWidgetViews::Show() {
|
| + view_->SetVisible(true);
|
| +}
|
| +
|
| +void NativeWidgetViews::Hide() {
|
| + view_->SetVisible(false);
|
| +}
|
| +
|
| +void NativeWidgetViews::SetOpacity(unsigned char opacity) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +void NativeWidgetViews::SetAlwaysOnTop(bool on_top) {
|
| + NOTIMPLEMENTED();
|
| +}
|
| +
|
| +bool NativeWidgetViews::IsVisible() const {
|
| + return view_->IsVisible();
|
| +}
|
| +
|
| +bool NativeWidgetViews::IsActive() const {
|
| + return view_->HasFocus();
|
| +}
|
| +
|
| +bool NativeWidgetViews::IsAccessibleWidget() const {
|
| + NOTIMPLEMENTED();
|
| + return false;
|
| +}
|
| +
|
| +bool NativeWidgetViews::ContainsNativeView(gfx::NativeView native_view) const {
|
| + NOTIMPLEMENTED();
|
| + return GetParentNativeWidget()->ContainsNativeView(native_view);
|
| +}
|
| +
|
| +void NativeWidgetViews::RunShellDrag(View* view,
|
| + const ui::OSExchangeData& data,
|
| + int operation) {
|
| + GetParentNativeWidget()->RunShellDrag(view, data, operation);
|
| +}
|
| +
|
| +void NativeWidgetViews::SchedulePaintInRect(const gfx::Rect& rect) {
|
| + view_->SchedulePaintInRect(rect);
|
| +}
|
| +
|
| +void NativeWidgetViews::SetCursor(gfx::NativeCursor cursor) {
|
| + GetParentNativeWidget()->SetCursor(cursor);
|
| +}
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// NativeWidgetViews, private:
|
| +
|
| +NativeWidget* NativeWidgetViews::GetParentNativeWidget() {
|
| + return view_->GetWidget()->native_widget();
|
| +}
|
| +
|
| +const NativeWidget* NativeWidgetViews::GetParentNativeWidget() const {
|
| + return view_->GetWidget()->native_widget();
|
| +}
|
| +
|
| +} // namespace views
|
| +
|
|
|
| Property changes on: views\widget\native_widget_views.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|