Home | History | Annotate | Download | only in thunk
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #ifndef PPAPI_THUNK_PPB_INPUT_EVENT_API_H_
      6 #define PPAPI_THUNK_PPB_INPUT_EVENT_API_H_
      7 
      8 #include "ppapi/c/dev/ppb_ime_input_event_dev.h"
      9 #include "ppapi/c/dev/ppb_keyboard_input_event_dev.h"
     10 #include "ppapi/c/ppb_input_event.h"
     11 #include "ppapi/thunk/ppapi_thunk_export.h"
     12 
     13 namespace ppapi {
     14 
     15 struct InputEventData;
     16 
     17 namespace thunk {
     18 
     19 class PPAPI_THUNK_EXPORT PPB_InputEvent_API {
     20  public:
     21   virtual ~PPB_InputEvent_API() {}
     22 
     23   // This function is not exposed through the C API, but returns the internal
     24   // event data for easy proxying.
     25   virtual const InputEventData& GetInputEventData() const = 0;
     26 
     27   virtual PP_InputEvent_Type GetType() = 0;
     28   virtual PP_TimeTicks GetTimeStamp() = 0;
     29   virtual uint32_t GetModifiers() = 0;
     30   virtual PP_InputEvent_MouseButton GetMouseButton() = 0;
     31   virtual PP_Point GetMousePosition() = 0;
     32   virtual int32_t GetMouseClickCount() = 0;
     33   virtual PP_Point GetMouseMovement() = 0;
     34   virtual PP_FloatPoint GetWheelDelta() = 0;
     35   virtual PP_FloatPoint GetWheelTicks() = 0;
     36   virtual PP_Bool GetWheelScrollByPage() = 0;
     37   virtual uint32_t GetKeyCode() = 0;
     38   virtual PP_Var GetCharacterText() = 0;
     39   virtual PP_Bool SetUsbKeyCode(uint32_t) = 0;
     40   virtual uint32_t GetUsbKeyCode() = 0;
     41   virtual uint32_t GetIMESegmentNumber() = 0;
     42   virtual uint32_t GetIMESegmentOffset(uint32_t index) = 0;
     43   virtual int32_t GetIMETargetSegment() = 0;
     44   virtual void GetIMESelection(uint32_t* start, uint32_t* end) = 0;
     45   virtual void AddTouchPoint(PP_TouchListType list,
     46                              const PP_TouchPoint& point) = 0;
     47   virtual uint32_t GetTouchCount(PP_TouchListType list) = 0;
     48   virtual PP_TouchPoint GetTouchByIndex(PP_TouchListType list,
     49                                         uint32_t index) = 0;
     50   virtual PP_TouchPoint GetTouchById(PP_TouchListType list,
     51                                      uint32_t id) = 0;
     52 };
     53 
     54 }  // namespace thunk
     55 }  // namespace ppapi
     56 
     57 #endif  // PPAPI_THUNK_PPB_INPUT_EVENT_API_H_
     58