chromium/ppapi/c/ppb_input_event.h

/* Copyright 2012 The Chromium Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

/* From ppb_input_event.idl modified Tue Oct 24 12:49:54 2017. */

#ifndef PPAPI_C_PPB_INPUT_EVENT_H_
#define PPAPI_C_PPB_INPUT_EVENT_H_

#include "ppapi/c/pp_bool.h"
#include "ppapi/c/pp_instance.h"
#include "ppapi/c/pp_macros.h"
#include "ppapi/c/pp_point.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_stdint.h"
#include "ppapi/c/pp_time.h"
#include "ppapi/c/pp_touch_point.h"
#include "ppapi/c/pp_var.h"

#define PPB_INPUT_EVENT_INTERFACE_1_0
#define PPB_INPUT_EVENT_INTERFACE

#define PPB_MOUSE_INPUT_EVENT_INTERFACE_1_0
#define PPB_MOUSE_INPUT_EVENT_INTERFACE_1_1
#define PPB_MOUSE_INPUT_EVENT_INTERFACE

#define PPB_WHEEL_INPUT_EVENT_INTERFACE_1_0
#define PPB_WHEEL_INPUT_EVENT_INTERFACE

#define PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_0
#define PPB_KEYBOARD_INPUT_EVENT_INTERFACE_1_2
#define PPB_KEYBOARD_INPUT_EVENT_INTERFACE

#define PPB_TOUCH_INPUT_EVENT_INTERFACE_1_0
#define PPB_TOUCH_INPUT_EVENT_INTERFACE_1_4
#define PPB_TOUCH_INPUT_EVENT_INTERFACE

#define PPB_IME_INPUT_EVENT_INTERFACE_1_0
#define PPB_IME_INPUT_EVENT_INTERFACE

/**
 * @file
 * This file defines the Input Event interfaces.
 */


/**
 * @addtogroup Enums
 * @{
 */
/**
 * This enumeration contains the types of input events.
 */
PP_InputEvent_Type;
PP_COMPILE_ASSERT_SIZE_IN_BYTES();

/**
 * This enumeration contains event modifier constants. Each modifier is one
 * bit. Retrieve the modifiers from an input event using the GetEventModifiers
 * function on PPB_InputEvent.
 */
PP_InputEvent_Modifier;
PP_COMPILE_ASSERT_SIZE_IN_BYTES();

/**
 * This enumeration contains constants representing each mouse button. To get
 * the mouse button for a mouse down or up event, use GetMouseButton on
 * PPB_InputEvent.
 */
PP_InputEvent_MouseButton;
PP_COMPILE_ASSERT_SIZE_IN_BYTES();

PP_InputEvent_Class;
PP_COMPILE_ASSERT_SIZE_IN_BYTES();
/**
 * @}
 */

/**
 * @addtogroup Interfaces
 * @{
 */
/**
 * The <code>PPB_InputEvent</code> interface contains pointers to several
 * functions related to generic input events on the browser.
 */
struct PPB_InputEvent_1_0 {};

PPB_InputEvent;

/**
 * The <code>PPB_MouseInputEvent</code> interface contains pointers to several
 * functions related to mouse input events.
 */
struct PPB_MouseInputEvent_1_1 {};

PPB_MouseInputEvent;

struct PPB_MouseInputEvent_1_0 {};

/**
 * The <code>PPB_WheelIputEvent</code> interface contains pointers to several
 * functions related to wheel input events.
 */
struct PPB_WheelInputEvent_1_0 {};

PPB_WheelInputEvent;

/**
 * The <code>PPB_KeyboardInputEvent</code> interface contains pointers to
 * several functions related to keyboard input events.
 */
struct PPB_KeyboardInputEvent_1_2 {};

PPB_KeyboardInputEvent;

struct PPB_KeyboardInputEvent_1_0 {};
/**
 * @}
 */

/**
 * @addtogroup Enums
 * @{
 */
PP_TouchListType;
PP_COMPILE_ASSERT_SIZE_IN_BYTES();
/**
 * @}
 */

/**
 * @addtogroup Interfaces
 * @{
 */
/**
 * The <code>PPB_TouchInputEvent</code> interface contains pointers to several
 * functions related to touch events.
 */
struct PPB_TouchInputEvent_1_4 {};

PPB_TouchInputEvent;

struct PPB_TouchInputEvent_1_0 {};

struct PPB_IMEInputEvent_1_0 {};

PPB_IMEInputEvent;
/**
 * @}
 */

#endif  /* PPAPI_C_PPB_INPUT_EVENT_H_ */