| Index: ppapi/cpp/input_event.cc
|
| ===================================================================
|
| --- ppapi/cpp/input_event.cc (revision 0)
|
| +++ ppapi/cpp/input_event.cc (revision 0)
|
| @@ -0,0 +1,172 @@
|
| +// 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 "ppapi/cpp/input_event.h"
|
| +
|
| +#include "ppapi/cpp/common.h"
|
| +#include "ppapi/cpp/instance.h"
|
| +#include "ppapi/cpp/module.h"
|
| +#include "ppapi/cpp/module_impl.h"
|
| +#include "ppapi/cpp/point.h"
|
| +#include "ppapi/cpp/var.h"
|
| +
|
| +namespace pp {
|
| +
|
| +namespace {
|
| +
|
| +template <> const char* interface_name<PPB_InputEvent>() {
|
| + return PPB_INPUT_EVENT_INTERFACE;
|
| +}
|
| +
|
| +template <> const char* interface_name<PPB_KeyboardInputEvent>() {
|
| + return PPB_KEYBOARD_INPUT_EVENT_INTERFACE;
|
| +}
|
| +
|
| +template <> const char* interface_name<PPB_MouseInputEvent>() {
|
| + return PPB_MOUSE_INPUT_EVENT_INTERFACE;
|
| +}
|
| +
|
| +template <> const char* interface_name<PPB_WheelInputEvent>() {
|
| + return PPB_WHEEL_INPUT_EVENT_INTERFACE;
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| +// InputEvent ------------------------------------------------------------------
|
| +
|
| +InputEvent::InputEvent() : Resource() {
|
| +}
|
| +
|
| +InputEvent::InputEvent(PP_Resource input_event_resource) : Resource() {
|
| + // Type check the input event before setting it.
|
| + if (!has_interface<PPB_InputEvent>())
|
| + return;
|
| + if (get_interface<PPB_InputEvent>()->IsInputEvent(input_event_resource)) {
|
| + Module::Get()->core()->AddRefResource(input_event_resource);
|
| + PassRefFromConstructor(input_event_resource);
|
| + }
|
| +}
|
| +
|
| +InputEvent::~InputEvent() {
|
| +}
|
| +
|
| +PP_InputEvent_Type InputEvent::GetType() const {
|
| + if (!has_interface<PPB_InputEvent>())
|
| + return PP_INPUTEVENT_TYPE_UNDEFINED;
|
| + return get_interface<PPB_InputEvent>()->GetType(pp_resource());
|
| +}
|
| +
|
| +PP_TimeTicks InputEvent::GetTimeStamp() const {
|
| + if (!has_interface<PPB_InputEvent>())
|
| + return 0.0f;
|
| + return get_interface<PPB_InputEvent>()->GetTimeStamp(pp_resource());
|
| +}
|
| +
|
| +uint32_t InputEvent::GetModifiers() const {
|
| + if (!has_interface<PPB_InputEvent>())
|
| + return 0;
|
| + return get_interface<PPB_InputEvent>()->GetModifiers(pp_resource());
|
| +}
|
| +
|
| +// MouseInputEvent -------------------------------------------------------------
|
| +
|
| +MouseInputEvent::MouseInputEvent() : InputEvent() {
|
| +}
|
| +
|
| +MouseInputEvent::MouseInputEvent(const InputEvent& event) : InputEvent() {
|
| + // Type check the input event before setting it.
|
| + if (!has_interface<PPB_MouseInputEvent>())
|
| + return;
|
| + if (get_interface<PPB_MouseInputEvent>()->IsMouseInputEvent(
|
| + event.pp_resource())) {
|
| + Module::Get()->core()->AddRefResource(event.pp_resource());
|
| + PassRefFromConstructor(event.pp_resource());
|
| + }
|
| +}
|
| +
|
| +PP_InputEvent_MouseButton MouseInputEvent::GetMouseButton() const {
|
| + if (!has_interface<PPB_MouseInputEvent>())
|
| + return PP_INPUTEVENT_MOUSEBUTTON_NONE;
|
| + return get_interface<PPB_MouseInputEvent>()->GetMouseButton(pp_resource());
|
| +}
|
| +
|
| +Point MouseInputEvent::GetMousePosition() const {
|
| + if (!has_interface<PPB_MouseInputEvent>())
|
| + return Point();
|
| + return get_interface<PPB_MouseInputEvent>()->GetMousePosition(pp_resource());
|
| +}
|
| +
|
| +int32_t MouseInputEvent::GetMouseClickCount() const {
|
| + if (!has_interface<PPB_MouseInputEvent>())
|
| + return 0;
|
| + return get_interface<PPB_MouseInputEvent>()->GetMouseClickCount(
|
| + pp_resource());
|
| +}
|
| +
|
| +// WheelInputEvent -------------------------------------------------------------
|
| +
|
| +WheelInputEvent::WheelInputEvent() : InputEvent() {
|
| +}
|
| +
|
| +WheelInputEvent::WheelInputEvent(const InputEvent& event) : InputEvent() {
|
| + // Type check the input event before setting it.
|
| + if (!has_interface<PPB_WheelInputEvent>())
|
| + return;
|
| + if (get_interface<PPB_WheelInputEvent>()->IsWheelInputEvent(
|
| + event.pp_resource())) {
|
| + Module::Get()->core()->AddRefResource(event.pp_resource());
|
| + PassRefFromConstructor(event.pp_resource());
|
| + }
|
| +}
|
| +
|
| +FloatPoint WheelInputEvent::GetWheelDelta() const {
|
| + if (!has_interface<PPB_WheelInputEvent>())
|
| + return FloatPoint();
|
| + return get_interface<PPB_WheelInputEvent>()->GetWheelDelta(pp_resource());
|
| +}
|
| +
|
| +FloatPoint WheelInputEvent::GetWheelTicks() const {
|
| + if (!has_interface<PPB_WheelInputEvent>())
|
| + return FloatPoint();
|
| + return get_interface<PPB_WheelInputEvent>()->GetWheelTicks(pp_resource());
|
| +}
|
| +
|
| +bool WheelInputEvent::GetScrollByPage() const {
|
| + if (!has_interface<PPB_WheelInputEvent>())
|
| + return false;
|
| + return PP_ToBool(
|
| + get_interface<PPB_WheelInputEvent>()->GetScrollByPage(pp_resource()));
|
| +}
|
| +
|
| +// KeyboardInputEvent ----------------------------------------------------------
|
| +
|
| +KeyboardInputEvent::KeyboardInputEvent() : InputEvent() {
|
| +}
|
| +
|
| +KeyboardInputEvent::KeyboardInputEvent(const InputEvent& event) : InputEvent() {
|
| + // Type check the input event before setting it.
|
| + if (!has_interface<PPB_KeyboardInputEvent>())
|
| + return;
|
| + if (get_interface<PPB_KeyboardInputEvent>()->IsKeyboardInputEvent(
|
| + event.pp_resource())) {
|
| + Module::Get()->core()->AddRefResource(event.pp_resource());
|
| + PassRefFromConstructor(event.pp_resource());
|
| + }
|
| +}
|
| +
|
| +uint32_t KeyboardInputEvent::GetKeyCode() const {
|
| + if (!has_interface<PPB_KeyboardInputEvent>())
|
| + return 0;
|
| + return get_interface<PPB_KeyboardInputEvent>()->GetKeyCode(pp_resource());
|
| +}
|
| +
|
| +Var KeyboardInputEvent::GetCharacterText() const {
|
| + if (!has_interface<PPB_KeyboardInputEvent>())
|
| + return PP_INPUTEVENT_TYPE_UNDEFINED;
|
| + return Var(Var::PassRef(),
|
| + get_interface<PPB_KeyboardInputEvent>()->GetCharacterText(
|
| + pp_resource()));
|
| +}
|
| +
|
| +} // namespace pp
|
|
|
| Property changes on: ppapi/cpp/input_event.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|