summaryrefslogtreecommitdiffstats
path: root/third_party/npapi/bindings/npapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/npapi/bindings/npapi.h')
-rw-r--r--third_party/npapi/bindings/npapi.h144
1 files changed, 144 insertions, 0 deletions
diff --git a/third_party/npapi/bindings/npapi.h b/third_party/npapi/bindings/npapi.h
index 628f00d..aac35e3 100644
--- a/third_party/npapi/bindings/npapi.h
+++ b/third_party/npapi/bindings/npapi.h
@@ -437,6 +437,15 @@ typedef enum {
#endif
, NPNVsupportsCocoaBool = 3001 /* TRUE if the browser supports the Cocoa event model */
#endif
+#ifdef PEPPER_APIS_ENABLED
+ /*
+ * Note: these APIs have not been ratified by Mozilla, et al.
+ * Until they are, they need to be distinct values from other enum
+ * elements here.
+ */
+ , NPNVInitializeRenderContextFunc = 4000 /* A pointer to the InitializeRenderContext function */
+ , NPNVFlushRenderContextFunc = 4001 /* A pointer to the FlushRenderContext function */
+#endif
} NPNVariable;
typedef enum {
@@ -607,6 +616,7 @@ typedef enum {
NPCoordinateSpaceFlippedScreen
} NPCoordinateSpace;
+#if !defined(PEPPER_APIS_ENABLED)
#if defined(XP_MAC) || defined(XP_MACOSX)
#ifndef NP_NO_CARBON
@@ -737,6 +747,140 @@ enum NPEventType {
#endif /* XP_MACOSX */
+#else // defined(PEPPER_APIS_ENABLED)
+typedef enum {
+ NPMouseButton_None = -1,
+ NPMouseButton_Left = 0,
+ NPMouseButton_Middle = 1,
+ NPMouseButton_Right = 2,
+} NPMouseButtons;
+
+typedef enum {
+ NPEventType_Undefined = -1,
+ NPEventType_MouseDown = 0,
+ NPEventType_MouseUp = 1,
+ NPEventType_MouseMove = 2,
+ NPEventType_MouseEnter = 3,
+ NPEventType_MouseLeave = 4,
+ NPEventType_MouseWheel = 5,
+ NPEventType_RawKeyDown = 6,
+ NPEventType_KeyDown = 7,
+ NPEventType_KeyUp = 8,
+ NPEventType_Char = 9,
+ NPEventType_Minimize = 10,
+ NPEventType_Focus = 11,
+ NPEventType_Device = 12
+} NPEventTypes;
+
+typedef enum {
+ NPEventModifier_ShiftKey = 1 << 0,
+ NPEventModifier_ControlKey = 1 << 1,
+ NPEventModifier_AltKey = 1 << 2,
+ NPEventModifier_MetaKey = 1 << 3,
+ NPEventModifier_IsKeyPad = 1 << 4,
+ NPEventModifier_IsAutoRepeat = 1 << 5,
+ NPEventModifier_LeftButtonDown = 1 << 6,
+ NPEventModifier_MiddleButtonDown = 1 << 7,
+ NPEventModifier_RightButtonDown = 1 << 8
+} NPEventModifiers;
+
+typedef struct _NPKeyEvent
+{
+ uint32 modifier;
+ uint32 normalizedKeyCode;
+} NPKeyEvent;
+
+typedef struct _NPCharacterEvent
+{
+ uint32 modifier;
+ uint32 text;
+ uint32 unmodifiedText;
+} NPCharacterEvent;
+
+typedef struct _NPMouseEvent
+{
+ uint32 modifier;
+ int32 button;
+ int32 x;
+ int32 y;
+ int32 clickCount;
+} NPMouseEvent;
+
+typedef struct _NPMouseWheelEvent
+{
+ uint32 modifier;
+ float deltaX;
+ float deltaY;
+ float wheelTicksX;
+ float wheelTicksY;
+ uint32 scrollByPage;
+} NPMouseWheelEvent;
+
+typedef struct _NPDeviceEvent {
+ uint32 device_uid;
+ uint32 subtype;
+ // uint8 generic[0];
+} NPDeviceEvent;
+
+typedef struct _NPMinimizeEvent {
+ int32 value;
+} NPMinimizeEvent;
+
+typedef struct _NPFocusEvent {
+ int32 value;
+} NPFocusEvent;
+
+typedef struct _NPEvent
+{
+ uint32 size;
+ int32 type;
+ double timeStampSeconds;
+ union {
+ NPKeyEvent key;
+ NPCharacterEvent character;
+ NPMouseEvent mouse;
+ NPMouseWheelEvent wheel;
+ NPMinimizeEvent minimize;
+ NPFocusEvent focus;
+ NPDeviceEvent device;
+ } u;
+} NPEvent;
+
+typedef struct _NPRegion
+{
+ int32 x;
+ int32 y;
+ int32 w;
+ int32 h;
+} NPRegion;
+
+typedef enum _NPRenderType
+{
+ NPRenderGraphicsRGBA
+} NPRenderType;
+
+typedef struct _NPRenderContext
+{
+ union {
+ struct {
+ void* region;
+ int32 stride;
+ } graphicsRgba;
+ } u;
+} NPRenderContext;
+
+typedef void (*NPFlushRenderContextCallbackPtr)(NPRenderContext* context,
+ NPError err,
+ void* userData);
+typedef NPError (*NPInitializeRenderContextPtr)(NPP instance,
+ NPRenderType type,
+ NPRenderContext* context);
+typedef NPError (*NPFlushRenderContextPtr)(NPP instance,
+ NPRenderContext* context,
+ NPFlushRenderContextCallbackPtr callback,
+ void* userData);
+#endif // defined(PEPPER_APIS_ENABLED)
+
/*
* Values for mode passed to NPP_New:
*/