Index: third_party/npapi/bindings/npapi_extensions.h |
diff --git a/third_party/npapi/bindings/npapi_extensions.h b/third_party/npapi/bindings/npapi_extensions.h |
deleted file mode 100644 |
index 144417b3e3de8767abaa6aa0fcc1dcec12dcea7b..0000000000000000000000000000000000000000 |
--- a/third_party/npapi/bindings/npapi_extensions.h |
+++ /dev/null |
@@ -1,1079 +0,0 @@ |
-/* Copyright (c) 2006-2009 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. |
- */ |
- |
-#ifndef _NP_EXTENSIONS_H_ |
-#define _NP_EXTENSIONS_H_ |
- |
-// Use the shorter include path here so that this file can be used in non- |
-// Chromium projects, such as the Native Client SDK. |
-#include "npapi.h" |
- |
-#include <stddef.h> // For size_t |
- |
-/* |
- * A fake "enum" value for getting browser-implemented Pepper extensions. |
- * The variable returns a pointer to an NPNExtensions structure. */ |
-#define NPNVPepperExtensions ((NPNVariable) 4000) |
- |
-/* |
- * A fake "enum" value for getting plugin-implemented Pepper extensions. |
- * The variable returns a pointer to an NPPExtensions structure. */ |
-#define NPPVPepperExtensions ((NPPVariable) 4001) |
- |
-typedef void NPDeviceConfig; |
-typedef void NPDeviceContext; |
-typedef void NPUserData; |
- |
-/* unique id for each device interface */ |
-typedef int32_t NPDeviceID; |
- |
-/* Events -------------------------------------------------------------------*/ |
- |
-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_t modifier; |
- uint32_t normalizedKeyCode; |
-} NPKeyEvent; |
- |
-typedef struct _NPCharacterEvent |
-{ |
- uint32_t modifier; |
- uint16_t text[4]; |
- uint16_t unmodifiedText[4]; |
-} NPCharacterEvent; |
- |
-typedef struct _NPMouseEvent |
-{ |
- uint32_t modifier; |
- int32_t button; |
- int32_t x; |
- int32_t y; |
- int32_t clickCount; |
-} NPMouseEvent; |
- |
-typedef struct _NPMouseWheelEvent |
-{ |
- uint32_t modifier; |
- float deltaX; |
- float deltaY; |
- float wheelTicksX; |
- float wheelTicksY; |
- uint32_t scrollByPage; |
-} NPMouseWheelEvent; |
- |
-typedef struct _NPDeviceEvent { |
- uint32_t device_uid; |
- uint32_t subtype; |
- /* uint8_t generic[0]; */ |
-} NPDeviceEvent; |
- |
-typedef struct _NPMinimizeEvent { |
- int32_t value; |
-} NPMinimizeEvent; |
- |
-typedef struct _NPFocusEvent { |
- int32_t value; |
-} NPFocusEvent; |
- |
-typedef struct _NPPepperEvent |
-{ |
- uint32_t size; |
- int32_t type; |
- double timeStampSeconds; |
- union { |
- NPKeyEvent key; |
- NPCharacterEvent character; |
- NPMouseEvent mouse; |
- NPMouseWheelEvent wheel; |
- NPMinimizeEvent minimize; |
- NPFocusEvent focus; |
- NPDeviceEvent device; |
- } u; |
-} NPPepperEvent; |
- |
-/* 2D -----------------------------------------------------------------------*/ |
- |
-#define NPPepper2DDevice 1 |
- |
-typedef struct _NPDeviceContext2DConfig { |
-} NPDeviceContext2DConfig; |
- |
-typedef struct _NPDeviceContext2D |
-{ |
- /* Internal value used by the browser to identify this device. */ |
- void* reserved; |
- |
- /* A pointer to the pixel data. This data is 8-bit values in BGRA order in |
- * memory. Each row will start |stride| bytes after the previous one. |
- * |
- * THIS DATA USES PREMULTIPLIED ALPHA. This means that each color channel has |
- * been multiplied with the corresponding alpha, which makes compositing |
- * easier. If any color channels have a value greater than the alpha value, |
- * you'll likely get crazy colors and weird artifacts. */ |
- void* region; |
- |
- /* Length of each row of pixels in bytes. This may be larger than width * 4 |
- * if there is padding at the end of each row to help with alignment. */ |
- int32_t stride; |
- |
- /* The dirty region that the plugin has painted into the buffer. This |
- * will be initialized to the size of the plugin image in |
- * initializeContextPtr. The plugin can change the values to only |
- * update portions of the image. */ |
- struct { |
- int32_t left; |
- int32_t top; |
- int32_t right; |
- int32_t bottom; |
- } dirty; |
-} NPDeviceContext2D; |
- |
-typedef struct _NPDeviceBuffer { |
- void* ptr; |
- size_t size; |
-} NPDeviceBuffer; |
- |
-/* completion callback for flush device */ |
-typedef void (*NPDeviceFlushContextCallbackPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- NPError err, |
- NPUserData* userData); |
- |
-/* query single capabilities of device */ |
-typedef NPError ( |
- *NPDeviceQueryCapabilityPtr)(NPP instance, |
- int32_t capability, |
- int32_t *value); |
-/* query config (configuration == a set of capabilities) */ |
-typedef NPError ( |
- *NPDeviceQueryConfigPtr)(NPP instance, |
- const NPDeviceConfig* request, |
- NPDeviceConfig* obtain); |
-/* device initialization */ |
-typedef NPError (*NPDeviceInitializeContextPtr)( |
- NPP instance, |
- const NPDeviceConfig* config, |
- NPDeviceContext* context); |
-/* peek at device state */ |
-typedef NPError (*NPDeviceGetStateContextPtr) ( |
- NPP instance, |
- NPDeviceContext* context, |
- int32_t state, |
- intptr_t* value); |
-/* poke device state */ |
-typedef NPError (*NPDeviceSetStateContextPtr) ( |
- NPP instance, |
- NPDeviceContext* context, |
- int32_t state, |
- intptr_t value); |
-/* flush context, if callback, userData are NULL */ |
-/* this becomes a blocking call */ |
-typedef NPError (*NPDeviceFlushContextPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- NPDeviceFlushContextCallbackPtr callback, |
- void* userData); |
-/* destroy device context. Application responsible for */ |
-/* freeing context, if applicable */ |
-typedef NPError (*NPDeviceDestroyContextPtr)( |
- NPP instance, |
- NPDeviceContext* context); |
-/* Create a buffer associated with a particular context. The usage of the */ |
-/* buffer is device specific. The lifetime of the buffer is scoped with the */ |
-/* lifetime of the context. */ |
-typedef NPError (*NPDeviceCreateBufferPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- size_t size, |
- int32_t* id); |
-/* Destroy a buffer associated with a particular context. */ |
-typedef NPError (*NPDeviceDestroyBufferPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- int32_t id); |
-/* Map a buffer id to its address. */ |
-typedef NPError (*NPDeviceMapBufferPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- int32_t id, |
- NPDeviceBuffer* buffer); |
- |
- |
-/* forward decl typdef structs */ |
-typedef struct NPDevice NPDevice; |
-typedef struct NPNExtensions NPNExtensions; |
- |
-// DEPRECATED: this typedef is just for the NaCl code until they switch to NPNExtensions. |
-// PLEASE REMOVE THIS WHEN THE NACL CODE IS UPDATED. |
-typedef struct NPNExtensions NPExtensions; |
- |
- |
-/* New experimental device API. */ |
- |
-/* Mode for calls to NPDeviceSynchronizeContext. */ |
-typedef enum { |
- /* Get or set locally cached state without synchronizing or communicating */ |
- /* with the service process (or thread). */ |
- NPDeviceSynchronizationMode_Cached, |
- |
- /* Exchanges state with service process (or thread). Does not wait for any */ |
- /* progress before returning. */ |
- NPDeviceSynchronizationMode_Immediate, |
- |
- /* Exchanges state with service process (or thread). Blocks caller until */ |
- /* further progress can be made. */ |
- NPDeviceSynchronizationMode_Flush |
-} NPDeviceSynchronizationMode; |
- |
-/* Get the number of configs supported by a given device. */ |
-typedef NPError (*NPDeviceGetNumConfigsPtr)(NPP instance, |
- int32_t* numConfigs); |
- |
-/* Get attribute values from a config. NPDeviceGetConfigs might return */ |
-/* multiple configs. This function can be used to examine them to */ |
-/* find the most suitable. For example, NPDeviceGetConfigs might return one */ |
-/* config with antialiasing enabled and one without. This can be determined */ |
-/* using this function. */ |
-/* Inputs: */ |
-/* config: The config index to extract the attributes from. */ |
-/* attribList: Array of input config attribute / value pairs */ |
-/* terminated with NPAttrib_End. */ |
-/* Outputs: */ |
-/* attribList: The values paired up with each attribute are filled in */ |
-/* on return. */ |
-typedef NPError (*NPDeviceGetConfigAttribsPtr)(NPP instance, |
- int32_t config, |
- int32_t* attribList); |
- |
-/* Create a device context based on a particular device configuration and a */ |
-/* list config input attributes. */ |
-/* Inputs: */ |
-/* config: The device configuration to use. */ |
-/* attribList: NULL or an array of context specific attribute / value */ |
-/* pairs terminated with NPAttrib_End. */ |
-/* Outputs: */ |
-/* context: The created context. */ |
-typedef NPError (*NPDeviceCreateContextPtr)(NPP instance, |
- int32_t config, |
- const int32_t* attribList, |
- NPDeviceContext** context); |
- |
-/* Destroy a context. */ |
-/* Inputs: */ |
-/* context: The context to destroy. */ |
-/*typedef NPError (*NPDestroyContext)(NPP instance, */ |
-/* NPDeviceContext* context); */ |
- |
-/* This type should be cast to the type associated with the particular */ |
-/* callback type */ |
-typedef void (*NPDeviceGenericCallbackPtr)(void); |
- |
-/* Register a callback with a context. Callbacks are never invoked after the */ |
-/* associated context has been destroyed. The semantics of the particular */ |
-/* callback type determine which thread the callback is invoked on. It might */ |
-/* be the plugin thread, the thread RegisterCallback is invoked on or a */ |
-/* special thread created for servicing callbacks, such as an audio thread */ |
-/* Inputs: */ |
-/* callbackType: The device specific callback type */ |
-/* callback: The callback to invoke. The signature varies by type. Use */ |
-/* NULL to unregister the callback for a particular type. */ |
-/* callbackData: A value that is passed to the callback function. Other */ |
-/* callback arguments vary by type. */ |
-typedef NPError (*NPDeviceRegisterCallbackPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- int32_t callbackType, |
- NPDeviceGenericCallbackPtr callback, |
- void* callbackData); |
- |
-/* Callback for NPDeviceSynchronizeContext. */ |
-/* Inputs: */ |
-/* instance: The associated plugin instance. */ |
-/* context: The context that was flushed. */ |
-/* error: Indicates success of flush operation. */ |
-/* data: The completion callback data that was passed to */ |
-/* NPDeviceSynchronizeContext. */ |
-typedef void (*NPDeviceSynchronizeContextCallbackPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- NPError error, |
- void* data); |
- |
-/* Synchronize the state of a device context. Takes lists of input and output */ |
-/* attributes. Generally, the input attributes are copied into the context */ |
-/* and the output attributes are filled in the state of the context either */ |
-/* after (before) the synchronization depending on whether it is synchronous */ |
-/* (asynchronous). The get the state of the context after an asynchronous */ |
-/* synchronization, call this function a second time with Cached mode after */ |
-/* the callback has been invoked. */ |
-/* Inputs: */ |
-/* context: The context to synchronize. */ |
-/* mode: The type of synchronization to perform. */ |
-/* inputAttribList: NULL or an array of input synchronization attribute / */ |
-/* value pairs terminated with NPAttrib_End. */ |
-/* outputAttribList: NULL or an array of output synchronization */ |
-/* attributes / uninitialized value pairs terminated */ |
-/* with NPAttrib_End. */ |
-/* callback: NULL for synchronous operation or completion callback function */ |
-/* for asynchronous operation. */ |
-/* callbackData: Argument passed to callback function. */ |
-/* Outputs: */ |
-/* outputAttribList: The values paired up with each attribute are filled */ |
-/* in on return for synchronous operation. */ |
-typedef NPError (*NPDeviceSynchronizeContextPtr)( |
- NPP instance, |
- NPDeviceContext* context, |
- NPDeviceSynchronizationMode mode, |
- const int32_t* inputAttribList, |
- int32_t* outputAttribList, |
- NPDeviceSynchronizeContextCallbackPtr callback, |
- void* callbackData); |
- |
-/* All attributes shared between devices, with the exception of */ |
-/* NPDeviceContextAttrib_End, have bit 31 set. Device specific attributes */ |
-/* have the bit clear. */ |
-enum { |
- /* Used to terminate arrays of attribute / value pairs. */ |
- NPAttrib_End = 0, |
- |
- /* Error status of context. Non-zero means error. Shared by all devices, */ |
- /* though error values are device specific. */ |
- NPAttrib_Error = 0x80000000 |
-}; |
- |
-/* generic device interface */ |
-struct NPDevice { |
- NPDeviceQueryCapabilityPtr queryCapability; |
- NPDeviceQueryConfigPtr queryConfig; |
- NPDeviceInitializeContextPtr initializeContext; |
- NPDeviceSetStateContextPtr setStateContext; |
- NPDeviceGetStateContextPtr getStateContext; |
- NPDeviceFlushContextPtr flushContext; |
- NPDeviceDestroyContextPtr destroyContext; |
- NPDeviceCreateBufferPtr createBuffer; |
- NPDeviceDestroyBufferPtr destroyBuffer; |
- NPDeviceMapBufferPtr mapBuffer; |
- |
- /* Experimental device API */ |
- NPDeviceGetNumConfigsPtr getNumConfigs; |
- NPDeviceGetConfigAttribsPtr getConfigAttribs; |
- NPDeviceCreateContextPtr createContext; |
-/* NPDeviceDestroyContextPtr destroyContext; */ |
- NPDeviceRegisterCallbackPtr registerCallback; |
- NPDeviceSynchronizeContextPtr synchronizeContext; |
-/* NPDeviceCreateBufferPtr createBuffer; */ |
-/* NPDeviceDestroyBufferPtr destroyBuffer; */ |
-/* NPDeviceMapBufferPtr mapBuffer; */ |
-}; |
- |
-/* returns NULL if deviceID unavailable / unrecognized */ |
-typedef NPDevice* (*NPAcquireDevicePtr)( |
- NPP instance, |
- NPDeviceID device); |
- |
-/* Updates the number of find results for the current search term. If |
- * there are no matches 0 should be passed in. Only when the plugin has |
- * finished searching should it pass in the final count with finalResult set to |
- * true. */ |
-typedef void (*NPNumberOfFindResultsChangedPtr)( |
- NPP instance, |
- int total, |
- bool finalResult); |
- |
- /* Updates the index of the currently selected search item. */ |
-typedef void (*NPSelectedFindResultChangedPtr)( |
- NPP instance, |
- int index); |
- |
-/* Theming -----------------------------------------------------------------*/ |
-typedef int32_t NPWidgetID; |
- |
-typedef enum { |
- NPWidgetTypeScrollbar = 0 |
-} NPWidgetType; |
- |
-typedef struct _NPScrollbarCreateParams { |
- bool vertical; |
-} NPScrollbarCreateParams; |
- |
-typedef struct _NPRect32 |
-{ |
- uint32_t top; |
- uint32_t left; |
- uint32_t bottom; |
- uint32_t right; |
-} NPRect32; |
- |
-typedef struct _NPScrollbarTickMarks { |
- uint32_t count; |
- NPRect32* tickmarks; |
-} NPScrollbarTickMarks; |
- |
-typedef enum { |
- NPWidgetPropertyLocation = 0, // variable is NPRect*. |
- NPWidgetPropertyDirtyRect = 1, // Get only. variable is NPRec*. |
- NPWidgetPropertyScrollbarThickness = 2, // Get only. variable is int32_t*. |
- NPWidgetPropertyScrollbarValue = 3, // variable is int32_t*. |
- NPWidgetPropertyScrollbarDocumentSize = 4, // Set only. variable is int32_t*. |
- // Set only. variable is NPScrollbarTickMarks*. |
- NPWidgetPropertyScrollbarTickMarks = 5, |
- // Set only. variable is bool* (true for forward, false for backward). |
- NPWidgetPropertyScrollbarScrollByLine = 6, |
- // Set only. variable is bool* (true for forward, false for backward). |
- NPWidgetPropertyScrollbarScrollByPage = 7, |
- // Set only. variable is bool* (true for forward, false for backward). |
- NPWidgetPropertyScrollbarScrollByDocument = 8, |
- // Set only. variable is int32_t* (positive forward, negative backward). |
- NPWidgetPropertyScrollbarScrollByPixels = 9 |
-} NPWidgetProperty; |
- |
-// Creates a widget. If it returns NPERR_NO_ERROR then id will contain a unique |
-// identifer for the widget that's used for the next functions. |
-typedef NPError (*NPCreateWidgetPtr) ( |
- NPP instance, |
- NPWidgetType type, |
- void* params, // Widget specific. |
- NPWidgetID* id); |
- |
-// Destroys a widget. |
-typedef NPError (*NPDestroyWidgetPtr) ( |
- NPP instance, |
- NPWidgetID id); |
- |
-// Paint the dirty rectangle of the given widget into context. |
-typedef NPError (*NPPaintWidgetPtr) ( |
- NPP instance, |
- NPWidgetID id, |
- NPDeviceContext2D* context, |
- NPRect* dirty); |
- |
-// Pass in a pepper event to a plugin. It'll return true iff it uses it. |
-typedef bool (*NPHandleWidgetEventPtr) ( |
- NPP instance, |
- NPWidgetID id, |
- NPPepperEvent* event); |
- |
-// Gets a property of the widget. "value" varies depending on the variable. |
-typedef NPError (*NPGetWidgetPropertyPtr) ( |
- NPP instance, |
- NPWidgetID id, |
- NPWidgetProperty property, |
- void* value); |
- |
-// Sets a property of the widget. |
-typedef NPError (*NPSetWidgetPropertyPtr) ( |
- NPP instance, |
- NPWidgetID id, |
- NPWidgetProperty property, |
- void* value); |
- |
-typedef struct _NPWidgetExtensions { |
- NPCreateWidgetPtr createWidget; |
- NPDestroyWidgetPtr destroyWidget; |
- NPPaintWidgetPtr paintWidget; |
- NPHandleWidgetEventPtr handleWidgetEvent; |
- NPGetWidgetPropertyPtr getWidgetProperty; |
- NPSetWidgetPropertyPtr setWidgetProperty; |
-} NPWidgetExtensions; |
- |
-typedef NPWidgetExtensions* (*NPGetWidgetExtensionsPtr)( |
- NPP instance); |
- |
- |
-/* Supports opening files anywhere on the system after prompting the user to |
- * pick one. |
- * |
- * This API is asynchronous. It will return immediately and the user will be |
- * prompted in parallel to pick a file. The plugin may continue to receive |
- * events while the open file dialog is up, and may continue to paint. Plugins |
- * may want to ignore input events between the call and the callback to avoid |
- * reentrant behavior. If the return value is not NPERR_NO_ERROR, the callback |
- * will NOT be executed. |
- * |
- * It is an error to call BrowseForFile before a previous call has executed |
- * the callback. |
- * |
- * Setting the flags to "Open" requires that the file exist to allow picking. |
- * Setting the flags to "Save" allows selecting nonexistant files (which will |
- * then be created), and will prompt the user if they want to overwrite an |
- * existing file if it exists. |
- * |
- * The plugin may specify a comma-separated list of possible mime types in |
- * the "extensions" parameter. If no extensions are specified, the dialog box |
- * will default to allowing all extensions. The first extension in the list |
- * will be the default. |
- * |
- * TODO(brettw) On Windows the extensions traditionally include a text |
- * description with the extension in the popup, do we want to allow this? |
- * We should probably also allow the ability to put "All files" in the |
- * list on Windows. |
- * |
- * Once the user has picked a file or has canceled the dialog box, the given |
- * callback will be called with the results of the operation and the passed in |
- * "user data" pointer. If the user successfully picked a file, the filename |
- * will be non-NULL and will contain a pointer to an array of strings, one for |
- * each file picked (the first file will be file_paths[0]). This buffer will |
- * become invalid as soon as the call completes, so it is the plugin's |
- * responsibility to copy the filename(sp if it needs future access to them. |
- * A NULL file_paths in the callback means the user canceled the dialog box. |
- * |
- * The filename will be in UTF-8. It may not actually correspond to the actual |
- * file on disk on a Linux system, because we'll do our best to convert it from |
- * the filesystem's locale to UTF-8. Instead, the string will be appropriate for |
- * displaying to the user which file they picked. |
- * */ |
-typedef enum { |
- NPChooseFile_Open = 1, |
- NPChooseFile_OpenMultiple = 2, |
- NPChooseFile_Save = 3 |
-} NPChooseFileMode; |
-typedef void (*NPChooseFileCallback)(const char** filePaths, |
- uint32_t pathCount, |
- void* userData); |
-typedef NPError (*NPChooseFilePtr)( |
- NPP instance, |
- const char* mimeTypes, |
- NPChooseFileMode mode, |
- NPChooseFileCallback callback, |
- void* userData); |
- |
-typedef enum { |
- NPCursorTypePointer = 0, |
- NPCursorTypeCross = 1, |
- NPCursorTypeHand = 2, |
- NPCursorTypeIBeam = 3, |
- NPCursorTypeWait = 4, |
- NPCursorTypeHelp = 5, |
- NPCursorTypeEastResize = 6, |
- NPCursorTypeNorthResize = 7, |
- NPCursorTypeNorthEastResize = 8, |
- NPCursorTypeNorthWestResize = 9, |
- NPCursorTypeSouthResize = 10, |
- NPCursorTypeSouthEastResize = 11, |
- NPCursorTypeSouthWestResize = 12, |
- NPCursorTypeWestResize = 13, |
- NPCursorTypeNorthSouthResize = 14, |
- NPCursorTypeEastWestResize = 15, |
- NPCursorTypeNorthEastSouthWestResize = 16, |
- NPCursorTypeNorthWestSouthEastResize = 17, |
- NPCursorTypeColumnResize = 18, |
- NPCursorTypeRowResize = 19, |
- NPCursorTypeMiddlePanning = 20, |
- NPCursorTypeEastPanning = 21, |
- NPCursorTypeNorthPanning = 22, |
- NPCursorTypeNorthEastPanning = 23, |
- NPCursorTypeNorthWestPanning = 24, |
- NPCursorTypeSouthPanning = 25, |
- NPCursorTypeSouthEastPanning = 26, |
- NPCursorTypeSouthWestPanning = 27, |
- NPCursorTypeWestPanning = 28, |
- NPCursorTypeMove = 29, |
- NPCursorTypeVerticalText = 30, |
- NPCursorTypeCell = 31, |
- NPCursorTypeContextMenu = 32, |
- NPCursorTypeAlias = 33, |
- NPCursorTypeProgress = 34, |
- NPCursorTypeNoDrop = 35, |
- NPCursorTypeCopy = 36, |
- NPCursorTypeNone = 37, |
- NPCursorTypeNotAllowed = 38, |
- NPCursorTypeZoomIn = 39, |
- NPCursorTypeZoomOut = 40 |
-} NPCursorType; |
- |
-// Temporary SetCursor API. |
-typedef NPError (*NPSetCursorPtr)( |
- NPP instance, |
- NPCursorType type); |
- |
-/* unique id for each font */ |
-typedef int NPFontID; |
- |
-typedef enum { |
- NPCharsetAnsi = 0, |
- NPCharsetDefault = 1, |
- NPCharsetSymbol = 2, |
- NPCharsetMac = 77, |
- NPCharsetShiftJIS = 128, |
- NPCharsetHangul = 129, |
- NPCharsetJohab = 130, |
- NPCharsetGB2312 =134, |
- NPCharsetChineseBIG5 = 136, |
- NPCharsetGreek = 161, |
- NPCharsetTurkish = 162, |
- NPCharsetVietnamese = 163, |
- NPCharsetHebrew = 177, |
- NPCharsetArabic = 178, |
- NPCharsetBaltic = 186, |
- NPCharsetRussian = 204, |
- NPCharsetThai = 222, |
- NPCharsetEastEurope = 238, |
- NPCharsetOEM = 255 |
-} NPCharset; |
- |
-typedef enum { |
- NPPitchDefault, |
- NPPitchFixed |
-} NPPitch; |
- |
-typedef enum { |
- NPFamilyDefault, |
- NPFamilyRoman, |
- NPFamilyScript |
-} NPFamily; |
- |
-typedef struct _NPFontDescription { |
- const char* face; |
- int weight; |
- bool italic; |
- NPPitch pitch; |
- NPFamily family; |
- NPCharset charset; |
-} NPFontDescription; |
- |
-// Return a font which best matches the given properties. |
-typedef NPError (*NPMatchFontWithFallbackPtr) ( |
- NPP instance, |
- const NPFontDescription* description, |
- NPFontID* id); |
- |
-// Loads a specified font table for the given font. |
-// table: the table in *big-endian* format, or 0 for the whole font file. |
-// output: a buffer of size output_length that gets the data. can be 0, in |
-// which case output_length will be set to the required size in bytes. |
-// output_length: size of output, if it's not 0. |
-typedef NPError (*GetFontTablePtr) ( |
- NPP instance, |
- NPFontID id, |
- uint32_t table, |
- void* output, |
- size_t* output_length); |
- |
-// Destroys a font. |
-typedef NPError (*NPDestroyFontPtr) ( |
- NPP instance, |
- NPFontID id); |
- |
-typedef struct _NPFontExtensions { |
- NPMatchFontWithFallbackPtr matchFontWithFallback; |
- GetFontTablePtr getFontTable; |
- NPDestroyFontPtr destroyFont; |
-} NPFontExtensions; |
- |
-typedef NPFontExtensions* (*NPGetFontExtensionsPtr)( |
- NPP instance); |
- |
-/* Pepper extensions */ |
-struct NPNExtensions { |
- /* Device interface acquisition */ |
- NPAcquireDevicePtr acquireDevice; |
- /* Find */ |
- NPNumberOfFindResultsChangedPtr numberOfFindResultsChanged; |
- NPSelectedFindResultChangedPtr selectedFindResultChanged; |
- /* File I/O extensions */ |
- NPChooseFilePtr chooseFile; |
- /* Widget */ |
- NPGetWidgetExtensionsPtr getWidgetExtensions; |
- /* Cursor */ |
- NPSetCursorPtr setCursor; |
- /* Font */ |
- NPGetFontExtensionsPtr getFontExtensions; |
-}; |
- |
-/* 3D -----------------------------------------------------------------------*/ |
- |
-#define NPPepper3DDevice 2 |
- |
-typedef struct _NPDeviceContext3DConfig { |
- int32_t commandBufferSize; |
-} NPDeviceContext3DConfig; |
- |
-typedef enum _NPDeviceContext3DError { |
- // No error has ocurred. |
- NPDeviceContext3DError_NoError, |
- |
- // The size of a command was invalid. |
- NPDeviceContext3DError_InvalidSize, |
- |
- // An offset was out of bounds. |
- NPDeviceContext3DError_OutOfBounds, |
- |
- // A command was not recognized. |
- NPDeviceContext3DError_UnknownCommand, |
- |
- // The arguments to a command were invalid. |
- NPDeviceContext3DError_InvalidArguments, |
- |
- // The 3D context was lost, for example due to a power management event. The |
- // context must be destroyed and a new one created. |
- NPDeviceContext3DError_LostContext, |
- |
- // Any other error. |
- NPDeviceContext3DError_GenericError |
-} NPDeviceContext3DError; |
- |
-typedef struct _NPDeviceContext3D NPDeviceContext3D; |
- |
-typedef void (*NPDeviceContext3DRepaintPtr)(NPP npp, |
- NPDeviceContext3D* context); |
- |
-// TODO(apatrick): this need not be exposed when we switch over to the new |
-// device API. It's layout can also be implementation dependent. |
-typedef struct _NPDeviceContext3D |
-{ |
- void* reserved; |
- |
- // If true, then a flush will only complete once the get offset has advanced |
- // on the GPU thread. If false, then the get offset might have changed but |
- // the GPU thread will respond as quickly as possible without guaranteeing |
- // having made any progress in executing pending commands. Set to true |
- // to ensure that progress is made or when flushing in a loop waiting for the |
- // GPU to reach a certain state, for example in advancing beyond a particular |
- // token. Set to false when flushing to query the current state, for example |
- // whether an error has occurred. |
- bool waitForProgress; |
- |
- // Buffer in which commands are stored. |
- void* commandBuffer; |
- int32_t commandBufferSize; |
- |
- // Offset in command buffer reader has reached. Synchronized on flush. |
- int32_t getOffset; |
- |
- // Offset in command buffer writer has reached. Synchronized on flush. |
- int32_t putOffset; |
- |
- // Last processed token. Synchronized on flush. |
- int32_t token; |
- |
- // Callback invoked on the main thread when the context must be repainted. |
- // TODO(apatrick): move this out of the context struct like the rest of the |
- // fields. |
- NPDeviceContext3DRepaintPtr repaintCallback; |
- |
- // Error status. Synchronized on flush. |
- NPDeviceContext3DError error; |
-} NPDeviceContext3D; |
- |
- |
-/* Begin 3D specific portion of experimental device API */ |
- |
-/* Device buffer ID reserved for command buffer */ |
-enum { |
- NP3DCommandBufferId = 0 |
-}; |
- |
-/* 3D attributes */ |
-enum { |
- /* Example GetConfigAttribs attributes. See EGL 1.4 spec. */ |
- /* These may be passed to GetConfigAttribs. */ |
- NP3DAttrib_BufferSize = 0x3020, |
- NP3DAttrib_AlphaSize = 0x3021, |
- NP3DAttrib_BlueSize = 0x3022, |
- NP3DAttrib_GreenSize = 0x3023, |
- NP3DAttrib_RedSize = 0x3024, |
- NP3DAttrib_DepthSize = 0x3025, |
- NP3DAttrib_StencilSize = 0x3026, |
- NP3DAttrib_SurfaceType = 0x3033, |
- |
- /* Example CreateContext attributes. See EGL 1.4 spec. */ |
- /* These may be passed to CreateContext. */ |
- NP3DAttrib_SwapBehavior = 0x3093, |
- NP3DAttrib_MultisampleResolve = 0x3099, |
- |
- /* Size of command buffer in 32-bit entries. */ |
- /* This may be passed to CreateContext as an input or SynchronizeContext as */ |
- /* an output. */ |
- NP3DAttrib_CommandBufferSize = 0x10000000, |
- |
- /* These may be passed to SynchronizeContext. */ |
- |
- /* Offset in command buffer writer has reached. In / out.*/ |
- NP3DAttrib_PutOffset, |
- |
- /* Offset in command buffer reader has reached. Out only. */ |
- NP3DAttrib_GetOffset, |
- |
- /* Last processed token. Out only. */ |
- NP3DAttrib_Token |
-}; |
- |
-/* 3D callbacks */ |
-enum { |
- /* This callback is invoked whenever the plugin must repaint everything. */ |
- /* This might be because the window manager must repaint a window or */ |
- /* the context has been lost, for example a power management event. */ |
- NP3DCallback_Repaint = 1 |
-}; |
- |
-/* Flags for NPConfig3DOutAttrib_SurfaceType */ |
-enum { |
- NP3DSurfaceType_MultisampleResolveBox = 0x0200, |
- NP3DSurfaceType_SwapBehaviorPreserved = 0x0400 |
-}; |
- |
-/* Values for NPConfig3DInAttrib_SwapBehavior */ |
-enum { |
- NP3DSwapBehavior_Preserved = 0x3094, |
- NP3DSwapBehavior_Destroyed = 0x3095 |
-}; |
- |
-/* Values for NPConfig3DInAttrib_MultisampleResolve */ |
-enum { |
- NP3DMultisampleResolve_Default = 0x309A, |
- NP3DMultisampleResolve_Box = 0x309B |
-}; |
- |
-/* End 3D specific API */ |
- |
-/* Audio --------------------------------------------------------------------*/ |
- |
-#define NPPepperAudioDevice 3 |
- |
-/* min & max sample frame count */ |
-typedef enum { |
- NPAudioMinSampleFrameCount = 64, |
- NPAudioMaxSampleFrameCount = 32768 |
-} NPAudioSampleFrameCounts; |
- |
-/* supported sample rates */ |
-typedef enum { |
- NPAudioSampleRate44100Hz = 44100, |
- NPAudioSampleRate48000Hz = 48000, |
- NPAudioSampleRate96000Hz = 96000 |
-} NPAudioSampleRates; |
- |
-/* supported sample formats */ |
-typedef enum { |
- NPAudioSampleTypeInt16 = 0, |
- NPAudioSampleTypeFloat32 = 1 |
-} NPAudioSampleTypes; |
- |
-/* supported channel layouts */ |
-/* there is code that depends on these being the actual number of channels */ |
-typedef enum { |
- NPAudioChannelNone = 0, |
- NPAudioChannelMono = 1, |
- NPAudioChannelStereo = 2, |
- NPAudioChannelThree = 3, |
- NPAudioChannelFour = 4, |
- NPAudioChannelFive = 5, |
- NPAudioChannelFiveOne = 6, |
- NPAudioChannelSeven = 7, |
- NPAudioChannelSevenOne = 8 |
-} NPAudioChannels; |
- |
-/* audio context states */ |
-typedef enum { |
- NPAudioContextStateCallback = 0, |
- NPAudioContextStateUnderrunCounter = 1 |
-} NPAudioContextStates; |
- |
-/* audio context state values */ |
-typedef enum { |
- NPAudioCallbackStop = 0, |
- NPAudioCallbackStart = 1 |
-} NPAudioContextStateValues; |
- |
-/* audio query capabilities */ |
-typedef enum { |
- NPAudioCapabilitySampleRate = 0, |
- NPAudioCapabilitySampleType = 1, |
- NPAudioCapabilitySampleFrameCount = 2, |
- NPAudioCapabilitySampleFrameCount44100Hz = 3, |
- NPAudioCapabilitySampleFrameCount48000Hz = 4, |
- NPAudioCapabilitySampleFrameCount96000Hz = 5, |
- NPAudioCapabilityOutputChannelMap = 6, |
- NPAudioCapabilityInputChannelMap = 7 |
-} NPAudioCapabilities; |
- |
-typedef struct _NPDeviceContextAudio NPDeviceContextAudio; |
- |
-/* user supplied callback function */ |
-typedef void (*NPAudioCallback)(NPDeviceContextAudio *context); |
- |
-typedef struct _NPDeviceContextAudioConfig { |
- int32_t sampleRate; |
- int32_t sampleType; |
- int32_t outputChannelMap; |
- int32_t inputChannelMap; |
- int32_t sampleFrameCount; |
- uint32_t startThread; |
- uint32_t flags; |
- NPAudioCallback callback; |
- void *userData; |
-} NPDeviceContextAudioConfig; |
- |
-struct _NPDeviceContextAudio { |
- NPDeviceContextAudioConfig config; |
- void *outBuffer; |
- void *inBuffer; |
- void *reserved; |
-}; |
- |
-/* Printing related APIs ---------------------------------------------------*/ |
- |
-/* Defines a contiguous range of pages to be printed. Page numbers use a |
- * zero-based index. */ |
-typedef struct _NPPrintPageNumberRange { |
- int32_t firstPageNumber; |
- int32_t lastPageNumber; |
-} NPPrintPageNumberRange; |
- |
-/* Being a print operation. Returns the total number of pages to print at the |
- * given printableArea size and DPI. printableArea is in points (a point is 1/72 |
- * of an inch). The plugin is expected to remember the values of printableArea |
- * and printerDPI for use in subsequent print interface calls. These values |
- * should be cleared in printEnd. */ |
-typedef NPError (*NPPPrintBeginPtr) ( |
- NPP instance, |
- NPRect* printableArea, |
- int32_t printerDPI, |
- int32_t* numPages); |
-/* Returns the required raster dimensions for the given page. */ |
-typedef NPError (*NPPGetRasterDimensionsPtr) ( |
- NPP instance, |
- int32_t pageNumber, |
- int32_t* widthInPixels, |
- int32_t* heightInPixels); |
-/* Prints the specified page This allows the plugin to print a raster output. */ |
-typedef NPError (*NPPPrintPageRasterPtr) ( |
- NPP instance, |
- int32_t pageNumber, |
- NPDeviceContext2D* printSurface); |
-/* Ends the print operation */ |
-typedef NPError (*NPPPrintEndPtr) (NPP instance); |
-/* Prints the specified pages as PDF. The plugin allocates the output buffer |
- * pointed to by pdf_output using the browser-supplied NPN_MemAlloc function. |
- * The caller is expected to free the output buffer upon success.*/ |
-typedef NPError (*NPPrintPagesAsPDFPtr)(NPP instance, |
- NPPrintPageNumberRange* page_ranges, |
- int32_t page_range_count, |
- unsigned char** pdf_output, |
- int32_t* output_size); |
- |
- |
-/* TODO(sanjeevr) : Provide a vector interface for printing. We need to decide |
- * on a vector format that can support embedded fonts. A vector format will |
- * greatly reduce the size of the required output buffer. */ |
- |
-typedef struct _NPPPrintExtensions { |
- NPPPrintBeginPtr printBegin; |
- NPPGetRasterDimensionsPtr getRasterDimensions; |
- NPPPrintPageRasterPtr printPageRaster; |
- NPPPrintEndPtr printEnd; |
- NPPrintPagesAsPDFPtr printPagesAsPDF; |
-} NPPPrintExtensions; |
- |
-/* Returns NULL if the plugin does not support print extensions */ |
-typedef NPPPrintExtensions* (*NPPGetPrintExtensionsPtr)(NPP instance); |
- |
-/* Find ---------------------------------------------------------------------*/ |
- |
-/* Finds the given UTF-8 text starting at the current selection. The number of |
- * results will be updated asynchronously via numberOfFindResultsChanged. Note |
- * that multiple StartFind calls can happen before StopFind is called in the |
- * case of the search term changing. */ |
-typedef NPError (*NPPStartFindPtr) ( |
- NPP instance, |
- const char* text, |
- bool caseSensitive); |
- |
-/* Go to the next/previous result. */ |
-typedef NPError (*NPPSelectFindResultPtr) ( |
- NPP instance, |
- bool forward); |
- |
-/* Tells the plugin that the find operation has stopped, so it should clear |
- * any highlighting. */ |
-typedef NPError (*NPPStopFindPtr) ( |
- NPP instance); |
- |
-typedef struct _NPPFindExtensions { |
- NPPStartFindPtr startFind; |
- NPPSelectFindResultPtr selectFindResult; |
- NPPStopFindPtr stopFind; |
-} NPPFindExtensions; |
- |
-/* Returns NULL if the plugin does not support find extensions. */ |
-typedef NPPFindExtensions* (*NPPGetFindExtensionsPtr)(NPP instance); |
- |
-/* Zooms a plugin to the given factor. If text_only is true, then only the text |
- * should be zoomed. */ |
-typedef NPError (*NPPZoomPtr) ( |
- NPP instance, |
- float factor, |
- bool text_only); |
- |
-typedef NPError (*NPPWidgetPropertyChangedPtr) ( |
- NPP instance, |
- NPWidgetID id, |
- NPWidgetProperty property); |
- |
-/* type of selection */ |
-typedef enum { |
- NPSelectionTypeAny = 0, |
- NPSelectionTypePlainText = 1, |
- NPSelectionTypeHTML = 2 |
-} NPSelectionType; |
- |
-/* Gets the selection. NPERR_GENERIC_ERROR is returned if nothing is selected. |
- * 'type' is both an input and output parameter. The caller can request a |
- * specific type, and if the plugin can't provide it, it will return |
- * NPERR_GENERIC_ERROR. Or the caller can specify NPSelectionTypeAny to let the |
- * plugin pick the best format for the data. The result is returned in a buffer |
- * that's owned by the caller and which is allocated using NPN_MemAlloc. If no |
- * data is available, NPERR_GENERIC_ERROR is returned. */ |
-typedef NPError (*NPPGetSelectionPtr) ( |
- NPP instance, |
- NPSelectionType* type, |
- void** data); |
- |
-typedef struct _NPPExtensions { |
- NPPGetPrintExtensionsPtr getPrintExtensions; |
- NPPGetFindExtensionsPtr getFindExtensions; |
- NPPZoomPtr zoom; |
- NPPWidgetPropertyChangedPtr widgetPropertyChanged; |
- NPPGetSelectionPtr getSelection; |
-} NPPExtensions; |
- |
-#endif /* _NP_EXTENSIONS_H_ */ |