diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 23:54:35 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 23:54:35 +0000 |
commit | 65fffb56ebe6c8df9448f7a1e3bb6a86234de026 (patch) | |
tree | e374390a3d3fbc20ae2776ce5790131272707443 /views/widget/native_widget_view.cc | |
parent | 09733b45d3254d0f270c9ac2f9134dbc69f08304 (diff) | |
download | chromium_src-65fffb56ebe6c8df9448f7a1e3bb6a86234de026.zip chromium_src-65fffb56ebe6c8df9448f7a1e3bb6a86234de026.tar.gz chromium_src-65fffb56ebe6c8df9448f7a1e3bb6a86234de026.tar.bz2 |
Hook up more of the NativeWidgetViews.
- Move NativeWidgetView to its own file.
- Enhances the example to contain a button.
http://crbug.com/83663
TEST=none
Review URL: http://codereview.chromium.org/7065042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86527 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/widget/native_widget_view.cc')
-rw-r--r-- | views/widget/native_widget_view.cc | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/views/widget/native_widget_view.cc b/views/widget/native_widget_view.cc new file mode 100644 index 0000000..525de8e --- /dev/null +++ b/views/widget/native_widget_view.cc @@ -0,0 +1,108 @@ +// 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_view.h" + +#include "ui/gfx/canvas.h" + +namespace views { +namespace internal { + +//////////////////////////////////////////////////////////////////////////////// +// NativeWidgetView, public: + +NativeWidgetView::NativeWidgetView(NativeWidgetViews* native_widget) + : native_widget_(native_widget) { +} + +NativeWidgetView::~NativeWidgetView() { +} + +//////////////////////////////////////////////////////////////////////////////// +// NativeWidgetView, View overrides: + +void NativeWidgetView::ViewHierarchyChanged(bool is_add, View* parent, + View* child) { + if (is_add && child == this) + delegate()->OnNativeWidgetCreated(); +} + +void NativeWidgetView::OnBoundsChanged(const gfx::Rect& previous_bounds) { + delegate()->OnSizeChanged(size()); +} + +void NativeWidgetView::OnPaint(gfx::Canvas* canvas) { + canvas->FillRectInt(SK_ColorRED, 0, 0, width(), height()); + delegate()->OnNativeWidgetPaint(canvas); +} + +bool NativeWidgetView::OnMousePressed(const MouseEvent& event) { + MouseEvent e(event, this); + return delegate()->OnMouseEvent(event); +} + +bool NativeWidgetView::OnMouseDragged(const MouseEvent& event) { + MouseEvent e(event, this); + return delegate()->OnMouseEvent(event); +} + +void NativeWidgetView::OnMouseReleased(const MouseEvent& event) { + MouseEvent e(event, this); + delegate()->OnMouseEvent(event); +} + +void NativeWidgetView::OnMouseCaptureLost() { + delegate()->OnMouseCaptureLost(); +} + +void NativeWidgetView::OnMouseMoved(const MouseEvent& event) { + MouseEvent e(event, this); + delegate()->OnMouseEvent(event); +} + +void NativeWidgetView::OnMouseEntered(const MouseEvent& event) { + MouseEvent e(event, this); + delegate()->OnMouseEvent(event); +} + +void NativeWidgetView::OnMouseExited(const MouseEvent& event) { + MouseEvent e(event, this); + delegate()->OnMouseEvent(event); +} + +#if defined(TOUCH_UI) +View::TouchStatus NativeWidgetView::OnTouchEvent(const TouchEvent& event) { + NOTIMPLEMENTED(); + // TODO(beng): TouchEvents don't go through the Widget right now... so we + // can't just pass them to the delegate... + return TOUCH_STATUS_UNKNOWN; +} +#endif + +bool NativeWidgetView::OnKeyPressed(const KeyEvent& event) { + return delegate()->OnKeyEvent(event); +} + +bool NativeWidgetView::OnKeyReleased(const KeyEvent& event) { + return delegate()->OnKeyEvent(event); +} + +bool NativeWidgetView::OnMouseWheel(const MouseWheelEvent& event) { + MouseWheelEvent e(event, this); + return delegate()->OnMouseEvent(event); +} + +void NativeWidgetView::OnFocus() { + // TODO(beng): check if we have to do this. + //delegate()->OnNativeFocus(NULL); +} + +void NativeWidgetView::OnBlur() { + // TODO(beng): check if we have to do this. + //delegate()->OnNativeBlur(NULL); +} + +} // namespace internal +} // namespace views + |