summaryrefslogtreecommitdiffstats
path: root/views/widget/native_widget_view.cc
diff options
context:
space:
mode:
authorben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-24 23:54:35 +0000
committerben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-05-24 23:54:35 +0000
commit65fffb56ebe6c8df9448f7a1e3bb6a86234de026 (patch)
treee374390a3d3fbc20ae2776ce5790131272707443 /views/widget/native_widget_view.cc
parent09733b45d3254d0f270c9ac2f9134dbc69f08304 (diff)
downloadchromium_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.cc108
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
+