| Index: ui/ozone/platform/caca/caca_event_source.cc
|
| diff --git a/ui/ozone/platform/caca/caca_event_source.cc b/ui/ozone/platform/caca/caca_event_source.cc
|
| deleted file mode 100644
|
| index b430a8fec2a281f9dec798c65d211fb40fcf9846..0000000000000000000000000000000000000000
|
| --- a/ui/ozone/platform/caca/caca_event_source.cc
|
| +++ /dev/null
|
| @@ -1,234 +0,0 @@
|
| -// Copyright 2014 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 "ui/ozone/platform/caca/caca_event_source.h"
|
| -
|
| -#include <caca.h>
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/macros.h"
|
| -#include "base/message_loop/message_loop.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "ui/events/event.h"
|
| -#include "ui/events/event_utils.h"
|
| -#include "ui/events/keycodes/keyboard_codes.h"
|
| -#include "ui/ozone/platform/caca/caca_window.h"
|
| -
|
| -namespace ui {
|
| -
|
| -namespace {
|
| -
|
| -ui::KeyboardCode GetKeyboardCode(const caca_event_t& event) {
|
| - // List of special mappings the Caca provides.
|
| - static const ui::KeyboardCode kCacaKeyMap[] = {
|
| - ui::VKEY_UNKNOWN,
|
| - ui::VKEY_A,
|
| - ui::VKEY_B,
|
| - ui::VKEY_C,
|
| - ui::VKEY_D,
|
| - ui::VKEY_E,
|
| - ui::VKEY_F,
|
| - ui::VKEY_G,
|
| - ui::VKEY_BACK,
|
| - ui::VKEY_TAB,
|
| - ui::VKEY_J,
|
| - ui::VKEY_K,
|
| - ui::VKEY_L,
|
| - ui::VKEY_RETURN,
|
| - ui::VKEY_N,
|
| - ui::VKEY_O,
|
| - ui::VKEY_P,
|
| - ui::VKEY_Q,
|
| - ui::VKEY_R,
|
| - ui::VKEY_PAUSE,
|
| - ui::VKEY_T,
|
| - ui::VKEY_U,
|
| - ui::VKEY_V,
|
| - ui::VKEY_W,
|
| - ui::VKEY_X,
|
| - ui::VKEY_Y,
|
| - ui::VKEY_Z,
|
| - ui::VKEY_ESCAPE,
|
| - ui::VKEY_DELETE,
|
| - ui::VKEY_UP,
|
| - ui::VKEY_DOWN,
|
| - ui::VKEY_LEFT,
|
| - ui::VKEY_RIGHT,
|
| - ui::VKEY_INSERT,
|
| - ui::VKEY_HOME,
|
| - ui::VKEY_END,
|
| - ui::VKEY_PRIOR,
|
| - ui::VKEY_NEXT,
|
| - ui::VKEY_F1,
|
| - ui::VKEY_F2,
|
| - ui::VKEY_F3,
|
| - ui::VKEY_F4,
|
| - ui::VKEY_F5,
|
| - ui::VKEY_F6,
|
| - ui::VKEY_F7,
|
| - ui::VKEY_F8,
|
| - ui::VKEY_F9,
|
| - ui::VKEY_F10,
|
| - ui::VKEY_F11,
|
| - ui::VKEY_F12,
|
| - };
|
| -
|
| - int key_code = caca_get_event_key_ch(&event);
|
| - if (base::IsAsciiLower(key_code))
|
| - return static_cast<ui::KeyboardCode>(key_code - ('a' - 'A'));
|
| - if (key_code >= '0' && key_code <= 'Z')
|
| - return static_cast<ui::KeyboardCode>(key_code);
|
| - if (static_cast<unsigned int>(key_code) < arraysize(kCacaKeyMap))
|
| - return kCacaKeyMap[key_code];
|
| -
|
| - return ui::VKEY_UNKNOWN;
|
| -}
|
| -
|
| -int ModifierFromKey(const caca_event_t& event) {
|
| - int key_code = caca_get_event_key_ch(&event);
|
| - if (base::IsAsciiUpper(key_code))
|
| - return ui::EF_SHIFT_DOWN;
|
| - if ((key_code >= CACA_KEY_CTRL_A && key_code <= CACA_KEY_CTRL_G) ||
|
| - (key_code >= CACA_KEY_CTRL_J && key_code <= CACA_KEY_CTRL_L) ||
|
| - (key_code >= CACA_KEY_CTRL_N && key_code <= CACA_KEY_CTRL_R) ||
|
| - (key_code >= CACA_KEY_CTRL_T && key_code <= CACA_KEY_CTRL_Z))
|
| - return ui::EF_CONTROL_DOWN;
|
| -
|
| - return ui::EF_NONE;
|
| -}
|
| -
|
| -int ModifierFromButton(const caca_event_t& event) {
|
| - switch (caca_get_event_mouse_button(&event)) {
|
| - case 1:
|
| - return ui::EF_LEFT_MOUSE_BUTTON;
|
| - case 2:
|
| - return ui::EF_RIGHT_MOUSE_BUTTON;
|
| - case 3:
|
| - return ui::EF_MIDDLE_MOUSE_BUTTON;
|
| - }
|
| - return 0;
|
| -}
|
| -
|
| -// Translate coordinates to bitmap coordinates.
|
| -gfx::PointF TranslateLocation(const gfx::PointF& location, CacaWindow* window) {
|
| - gfx::Size physical_size = window->physical_size();
|
| - gfx::Size bitmap_size = window->bitmap_size();
|
| - return gfx::PointF(
|
| - location.x() * bitmap_size.width() / physical_size.width(),
|
| - location.y() * bitmap_size.height() / physical_size.height());
|
| -}
|
| -
|
| -ui::EventType GetEventTypeFromNative(const caca_event_t& event) {
|
| - switch (caca_get_event_type(&event)) {
|
| - case CACA_EVENT_KEY_PRESS:
|
| - return ui::ET_KEY_PRESSED;
|
| - case CACA_EVENT_KEY_RELEASE:
|
| - return ui::ET_KEY_RELEASED;
|
| - case CACA_EVENT_MOUSE_PRESS:
|
| - return ui::ET_MOUSE_PRESSED;
|
| - case CACA_EVENT_MOUSE_RELEASE:
|
| - return ui::ET_MOUSE_RELEASED;
|
| - case CACA_EVENT_MOUSE_MOTION:
|
| - return ui::ET_MOUSE_MOVED;
|
| - default:
|
| - return ui::ET_UNKNOWN;
|
| - }
|
| -}
|
| -
|
| -} // namespace
|
| -
|
| -CacaEventSource::CacaEventSource() {
|
| -}
|
| -
|
| -CacaEventSource::~CacaEventSource() {
|
| -}
|
| -
|
| -void CacaEventSource::TryProcessingEvent(CacaWindow* window) {
|
| - if (!window->display())
|
| - return;
|
| -
|
| - caca_event_t event;
|
| - int event_mask = CACA_EVENT_KEY_PRESS | CACA_EVENT_KEY_RELEASE |
|
| - CACA_EVENT_MOUSE_PRESS | CACA_EVENT_MOUSE_RELEASE |
|
| - CACA_EVENT_MOUSE_MOTION | CACA_EVENT_RESIZE |
|
| - CACA_EVENT_QUIT;
|
| -
|
| - if (!caca_get_event(window->display(), event_mask, &event, 0))
|
| - return;
|
| -
|
| - switch (caca_get_event_type(&event)) {
|
| - case CACA_EVENT_KEY_PRESS:
|
| - case CACA_EVENT_KEY_RELEASE:
|
| - case CACA_EVENT_MOUSE_PRESS:
|
| - case CACA_EVENT_MOUSE_RELEASE:
|
| - case CACA_EVENT_MOUSE_MOTION:
|
| - OnInputEvent(&event, window);
|
| - break;
|
| - case CACA_EVENT_RESIZE:
|
| - window->OnCacaResize();
|
| - break;
|
| - case CACA_EVENT_QUIT:
|
| - window->OnCacaQuit();
|
| - break;
|
| - default:
|
| - NOTIMPLEMENTED();
|
| - }
|
| -}
|
| -
|
| -void CacaEventSource::OnInputEvent(caca_event_t* event, CacaWindow* window) {
|
| - ui::EventType type = GetEventTypeFromNative(*event);
|
| - bool pressed = type == ui::ET_KEY_PRESSED || type == ui::ET_MOUSE_PRESSED;
|
| -
|
| - switch (type) {
|
| - case ui::ET_KEY_PRESSED:
|
| - case ui::ET_KEY_RELEASED: {
|
| - if (pressed)
|
| - modifier_flags_ |= ModifierFromKey(*event);
|
| - else
|
| - modifier_flags_ &= ~ModifierFromKey(*event);
|
| -
|
| - ui::KeyEvent key_event(
|
| - type, GetKeyboardCode(*event), modifier_flags_);
|
| - window->OnCacaEvent(&key_event);
|
| - break;
|
| - }
|
| - case ui::ET_MOUSE_MOVED:
|
| - last_cursor_location_.SetPoint(caca_get_event_mouse_x(event),
|
| - caca_get_event_mouse_y(event));
|
| - // Update cursor location.
|
| - caca_gotoxy(caca_get_canvas(window->display()),
|
| - last_cursor_location_.x(),
|
| - last_cursor_location_.y());
|
| -
|
| - // fallthrough
|
| - case ui::ET_MOUSE_PRESSED:
|
| - case ui::ET_MOUSE_RELEASED: {
|
| - int flags = 0;
|
| - int changed_flags = 0;
|
| - if (type != ui::ET_MOUSE_MOVED) {
|
| - if (pressed) {
|
| - changed_flags = ModifierFromButton(*event);
|
| - modifier_flags_ |= changed_flags;
|
| - } else {
|
| - modifier_flags_ &= ~changed_flags;
|
| - }
|
| - // On release the button pressed is removed from |modifier_flags_|,
|
| - // but sending the event needs it set.
|
| - flags = modifier_flags_ | changed_flags;
|
| - }
|
| - gfx::PointF location = TranslateLocation(last_cursor_location_, window);
|
| - ui::MouseEvent mouse_event(type, gfx::Point(), gfx::Point(),
|
| - EventTimeForNow(), flags, changed_flags);
|
| - mouse_event.set_location_f(location);
|
| - mouse_event.set_root_location_f(location);
|
| - window->OnCacaEvent(&mouse_event);
|
| - break;
|
| - }
|
| - default:
|
| - NOTIMPLEMENTED();
|
| - break;
|
| - }
|
| -}
|
| -
|
| -} // namespace ui
|
|
|