| Index: ppapi/thunk/ppb_input_event_thunk.cc
|
| ===================================================================
|
| --- ppapi/thunk/ppb_input_event_thunk.cc (revision 0)
|
| +++ ppapi/thunk/ppb_input_event_thunk.cc (revision 0)
|
| @@ -0,0 +1,150 @@
|
| +// 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/c/pp_errors.h"
|
| +#include "ppapi/thunk/thunk.h"
|
| +#include "ppapi/thunk/enter.h"
|
| +#include "ppapi/thunk/ppb_input_event_api.h"
|
| +#include "ppapi/thunk/ppb_instance_api.h"
|
| +#include "ppapi/thunk/resource_creation_api.h"
|
| +
|
| +namespace ppapi {
|
| +namespace thunk {
|
| +
|
| +namespace {
|
| +
|
| +typedef EnterFunction<PPB_Instance_FunctionAPI> EnterInstance;
|
| +typedef EnterResource<PPB_InputEvent_API> EnterInputEvent;
|
| +
|
| +int32_t RequestInputEvents(PP_Instance instance, uint32_t event_classes) {
|
| + EnterInstance enter(instance, true);
|
| + if (enter.failed())
|
| + return PP_ERROR_BADARGUMENT;
|
| + return enter.functions()->RequestInputEvents(instance, event_classes);
|
| +}
|
| +
|
| +int32_t RequestFilteringInputEvents(PP_Instance instance,
|
| + uint32_t event_classes) {
|
| + EnterInstance enter(instance, true);
|
| + if (enter.failed())
|
| + return PP_ERROR_BADARGUMENT;
|
| + return enter.functions()->RequestFilteringInputEvents(instance,
|
| + event_classes);
|
| +}
|
| +
|
| +void ClearInputEventRequest(PP_Instance instance,
|
| + uint32_t event_classes) {
|
| + EnterInstance enter(instance, true);
|
| + if (enter.succeeded())
|
| + enter.functions()->ClearInputEventRequest(instance, event_classes);
|
| +}
|
| +
|
| +PP_Bool IsInputEvent(PP_Resource resource) {
|
| + EnterInputEvent enter(resource, false);
|
| + return enter.succeeded() ? PP_TRUE : PP_FALSE;
|
| +}
|
| +
|
| +PP_InputEvent_Type GetEventType(PP_Resource event) {
|
| + EnterInputEvent enter(event, true);
|
| + if (enter.failed())
|
| + return PP_INPUTEVENT_TYPE_UNDEFINED;
|
| + return enter.object()->GetEventType();
|
| +}
|
| +
|
| +PP_TimeTicks GetEventTimeStamp(PP_Resource event) {
|
| + EnterInputEvent enter(event, true);
|
| + if (enter.failed())
|
| + return 0.0;
|
| + return enter.object()->GetEventTimeStamp();
|
| +}
|
| +
|
| +uint32_t GetEventModifiers(PP_Resource event) {
|
| + EnterInputEvent enter(event, true);
|
| + if (enter.failed())
|
| + return 0;
|
| + return enter.object()->GetEventModifiers();
|
| +}
|
| +
|
| +PP_InputEvent_MouseButton GetMouseButton(PP_Resource mouse_event) {
|
| + EnterInputEvent enter(mouse_event, true);
|
| + if (enter.failed())
|
| + return PP_INPUTEVENT_MOUSEBUTTON_NONE;
|
| + return enter.object()->GetMouseButton();
|
| +}
|
| +
|
| +PP_Point GetMousePosition(PP_Resource mouse_event) {
|
| + EnterInputEvent enter(mouse_event, true);
|
| + if (enter.failed())
|
| + return PP_MakePoint(0, 0);
|
| + return enter.object()->GetMousePosition();
|
| +}
|
| +
|
| +int32_t GetMouseClickCount(PP_Resource mouse_event) {
|
| + EnterInputEvent enter(mouse_event, true);
|
| + if (enter.failed())
|
| + return 0;
|
| + return enter.object()->GetMouseClickCount();
|
| +}
|
| +
|
| +PP_FloatPoint GetWheelDelta(PP_Resource wheel_event) {
|
| + EnterInputEvent enter(wheel_event, true);
|
| + if (enter.failed())
|
| + return PP_MakeFloatPoint(0.0f, 0.0f);
|
| + return enter.object()->GetWheelDelta();
|
| +}
|
| +
|
| +PP_FloatPoint GetWheelTicks(PP_Resource wheel_event) {
|
| + EnterInputEvent enter(wheel_event, true);
|
| + if (enter.failed())
|
| + return PP_MakeFloatPoint(0.0f, 0.0f);
|
| + return enter.object()->GetWheelTicks();
|
| +}
|
| +
|
| +PP_Bool GetWheelScrollByPage(PP_Resource wheel_event) {
|
| + EnterInputEvent enter(wheel_event, true);
|
| + if (enter.failed())
|
| + return PP_FALSE;
|
| + return enter.object()->GetWheelScrollByPage();
|
| +}
|
| +
|
| +uint32_t GetKeyCode(PP_Resource key_event) {
|
| + EnterInputEvent enter(key_event, true);
|
| + if (enter.failed())
|
| + return 0;
|
| + return enter.object()->GetKeyCode();
|
| +}
|
| +
|
| +PP_Var GetCharacterText(PP_Resource character_event) {
|
| + EnterInputEvent enter(character_event, true);
|
| + if (enter.failed())
|
| + return PP_MakeUndefined();
|
| + return enter.object()->GetCharacterText();
|
| +}
|
| +
|
| +const PPB_InputEvent g_ppb_input_event_thunk = {
|
| + &RequestInputEvents,
|
| + &RequestFilteringInputEvents,
|
| + &ClearInputEventRequest,
|
| + &IsInputEvent,
|
| + &GetEventType,
|
| + &GetEventTimeStamp,
|
| + &GetEventModifiers,
|
| + &GetMouseButton,
|
| + &GetMousePosition,
|
| + &GetMouseClickCount,
|
| + &GetWheelDelta,
|
| + &GetWheelTicks,
|
| + &GetWheelScrollByPage,
|
| + &GetKeyCode,
|
| + &GetCharacterText
|
| +};
|
| +
|
| +} // namespace
|
| +
|
| +const PPB_InputEvent* GetPPB_InputEvent_Thunk() {
|
| + return &g_ppb_input_event_thunk;
|
| +}
|
| +
|
| +} // namespace thunk
|
| +} // namespace ppapi
|
|
|
| Property changes on: ppapi/thunk/ppb_input_event_thunk.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|