Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: views/widget/native_widget_wayland.cc

Issue 8378005: wayland: define base:NativeEvent for Wayland (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix per feedback. Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « views/widget/native_widget_wayland.h ('k') | views/widget/tooltip_manager_views.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "views/widget/native_widget_wayland.h" 5 #include "views/widget/native_widget_wayland.h"
6 6
7 #include <cairo.h> 7 #include <cairo.h>
8 #include <cairo-gl.h> 8 #include <cairo-gl.h>
9 #include <EGL/egl.h> 9 #include <EGL/egl.h>
10 #include <GL/gl.h> 10 #include <GL/gl.h>
11 #include <wayland-egl.h> 11 #include <wayland-egl.h>
12 12
13 #include <algorithm> 13 #include <algorithm>
14 #include <list> 14 #include <list>
15 15
16 #include "base/bind.h" 16 #include "base/bind.h"
17 #include "base/memory/scoped_ptr.h" 17 #include "base/memory/scoped_ptr.h"
18 #include "base/wayland/wayland_event.h"
18 #include "ui/base/view_prop.h" 19 #include "ui/base/view_prop.h"
19 #include "ui/gfx/canvas_skia_paint.h" 20 #include "ui/gfx/canvas_skia_paint.h"
20 #include "ui/gfx/compositor/compositor.h" 21 #include "ui/gfx/compositor/compositor.h"
21 #include "ui/gfx/gl/gl_surface.h" 22 #include "ui/gfx/gl/gl_surface.h"
22 #include "ui/gfx/gl/gl_surface_egl.h" 23 #include "ui/gfx/gl/gl_surface_egl.h"
23 #include "ui/wayland/events/wayland_event.h"
24 #include "ui/wayland/wayland_display.h" 24 #include "ui/wayland/wayland_display.h"
25 #include "ui/wayland/wayland_input_device.h" 25 #include "ui/wayland/wayland_input_device.h"
26 #include "ui/wayland/wayland_screen.h" 26 #include "ui/wayland/wayland_screen.h"
27 #include "ui/wayland/wayland_window.h" 27 #include "ui/wayland/wayland_window.h"
28 #include "views/ime/input_method_wayland.h" 28 #include "views/ime/input_method_wayland.h"
29 #include "views/views_delegate.h" 29 #include "views/views_delegate.h"
30 #include "views/widget/native_widget_views.h" 30 #include "views/widget/native_widget_views.h"
31 #include "views/widget/root_view.h" 31 #include "views/widget/root_view.h"
32 #include "views/widget/tooltip_manager_views.h" 32 #include "views/widget/tooltip_manager_views.h"
33 33
34 using ui::ViewProp; 34 using ui::ViewProp;
35 35
36 using base::wayland::WaylandEvent;
37
36 namespace views { 38 namespace views {
37 39
38 namespace { 40 namespace {
39 41
40 // Links the WaylandWidget to its NativeWidget. 42 // Links the WaylandWidget to its NativeWidget.
41 const char* const kNativeWidgetKey = "__VIEWS_NATIVE_WIDGET__"; 43 const char* const kNativeWidgetKey = "__VIEWS_NATIVE_WIDGET__";
42 44
43 } // namespace 45 } // namespace
44 46
45 NativeWidgetWayland::NativeWidgetWayland( 47 NativeWidgetWayland::NativeWidgetWayland(
(...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 } 544 }
543 545
544 // Have cairo swap buffers, then let Wayland know of the damaged area. 546 // Have cairo swap buffers, then let Wayland know of the damaged area.
545 cairo_gl_surface_swapbuffers(cairo_surface_); 547 cairo_gl_surface_swapbuffers(cairo_surface_);
546 wl_surface_damage(wayland_window_->surface(), 548 wl_surface_damage(wayland_window_->surface(),
547 damage_area.x(), damage_area.y(), 549 damage_area.x(), damage_area.y(),
548 damage_area.width(), damage_area.height()); 550 damage_area.width(), damage_area.height());
549 } 551 }
550 } 552 }
551 553
552 void NativeWidgetWayland::OnMotionNotify(ui::WaylandEvent event) { 554 void NativeWidgetWayland::OnMotionNotify(WaylandEvent event) {
553 MouseEvent mouse_event(&event); 555 MouseEvent mouse_event(&event);
554 delegate_->OnMouseEvent(mouse_event); 556 delegate_->OnMouseEvent(mouse_event);
555 } 557 }
556 558
557 void NativeWidgetWayland::OnButtonNotify(ui::WaylandEvent event) { 559 void NativeWidgetWayland::OnButtonNotify(WaylandEvent event) {
558 if (event.button.button == ui::SCROLL_UP || 560 if (event.button.button == ui::SCROLL_UP ||
559 event.button.button == ui::SCROLL_DOWN) { 561 event.button.button == ui::SCROLL_DOWN) {
560 MouseWheelEvent mouse_event(&event); 562 MouseWheelEvent mouse_event(&event);
561 delegate_->OnMouseEvent(mouse_event); 563 delegate_->OnMouseEvent(mouse_event);
562 } else { 564 } else {
563 MouseEvent mouse_event(&event); 565 MouseEvent mouse_event(&event);
564 delegate_->OnMouseEvent(mouse_event); 566 delegate_->OnMouseEvent(mouse_event);
565 } 567 }
566 } 568 }
567 569
568 void NativeWidgetWayland::OnKeyNotify(ui::WaylandEvent event) { 570 void NativeWidgetWayland::OnKeyNotify(WaylandEvent event) {
569 KeyEvent key_event(&event); 571 KeyEvent key_event(&event);
570 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); 572 InputMethod* input_method = GetWidget()->GetInputMethodDirect();
571 if (input_method) 573 if (input_method)
572 input_method->DispatchKeyEvent(key_event); 574 input_method->DispatchKeyEvent(key_event);
573 else 575 else
574 DispatchKeyEventPostIME(key_event); 576 DispatchKeyEventPostIME(key_event);
575 } 577 }
576 578
577 void NativeWidgetWayland::OnPointerFocus(ui::WaylandEvent event) { 579 void NativeWidgetWayland::OnPointerFocus(WaylandEvent event) {
578 MouseEvent mouse_event(&event); 580 MouseEvent mouse_event(&event);
579 delegate_->OnMouseEvent(mouse_event); 581 delegate_->OnMouseEvent(mouse_event);
580 } 582 }
581 583
582 void NativeWidgetWayland::OnKeyboardFocus(ui::WaylandEvent event) { 584 void NativeWidgetWayland::OnKeyboardFocus(WaylandEvent event) {
583 InputMethod* input_method = GetWidget()->GetInputMethodDirect(); 585 InputMethod* input_method = GetWidget()->GetInputMethodDirect();
584 if (input_method) { 586 if (input_method) {
585 if (event.keyboard_focus.state) 587 if (event.keyboard_focus.state)
586 input_method->OnFocus(); 588 input_method->OnFocus();
587 else 589 else
588 input_method->OnBlur(); 590 input_method->OnBlur();
589 } 591 }
590 } 592 }
591 593
592 void NativeWidgetWayland::OnGeometryChange(ui::WaylandEvent event) { 594 void NativeWidgetWayland::OnGeometryChange(WaylandEvent event) {
593 SetSize(gfx::Size(event.geometry_change.width, 595 SetSize(gfx::Size(event.geometry_change.width,
594 event.geometry_change.height)); 596 event.geometry_change.height));
595 } 597 }
596 598
597 ///////////////////////////////////////////////////////////////////////////// 599 /////////////////////////////////////////////////////////////////////////////
598 // Widget 600 // Widget
599 601
600 // static 602 // static
601 bool Widget::ConvertRect(const Widget* source, 603 bool Widget::ConvertRect(const Widget* source,
602 const Widget* target, 604 const Widget* target,
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 674
673 // static 675 // static
674 bool NativeWidgetPrivate::IsMouseButtonDown() { 676 bool NativeWidgetPrivate::IsMouseButtonDown() {
675 NOTIMPLEMENTED(); 677 NOTIMPLEMENTED();
676 return false; 678 return false;
677 } 679 }
678 680
679 } // namespace internal 681 } // namespace internal
680 682
681 } // namespace views 683 } // namespace views
OLDNEW
« no previous file with comments | « views/widget/native_widget_wayland.h ('k') | views/widget/tooltip_manager_views.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698