Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Unified Diff: third_party/npapi/bindings/npapi_extensions.h

Issue 453015: Update the Pepper APIs to the latest spec for the 2D demo plugin.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/reference_builds/
Patch Set: '' Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/npapi/bindings/npapi.h ('k') | third_party/npapi/npapi.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/npapi/bindings/npapi_extensions.h
===================================================================
--- third_party/npapi/bindings/npapi_extensions.h (revision 33382)
+++ third_party/npapi/bindings/npapi_extensions.h (working copy)
@@ -1,13 +1,11 @@
-// 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.
+/* 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 WEBKIT_GLUE_PEPPER_PEPPER_H_
-#define WEBKIT_GLUE_PEPPER_PEPPER_H_
+#ifndef _NP_EXTENSIONS_H_
+#define _NP_EXTENSIONS_H_
-#ifdef PEPPER_APIS_ENABLED
-
-#include "base/basictypes.h"
#include "third_party/npapi/bindings/npapi.h"
/*
@@ -16,6 +14,88 @@
*/
#define NPNVPepperExtensions ((NPNVariable) 4000)
+typedef void NPDeviceConfig;
+typedef void NPDeviceContext;
+typedef void NPUserData;
+
+/* unique id for each device interface */
+typedef int32 NPDeviceID;
+
+/* completion callback for flush device */
+typedef void (*NPDeviceFlushContextCallbackPtr)(
+ NPP instace,
+ NPDeviceContext* context,
+ NPError err,
+ NPUserData* userData);
+
+/* query single capabilities of device */
+typedef NPError (
+ *NPDeviceQueryCapabilityPtr)(NPP instance,
+ int32 capability,
+ int32 *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 state,
+ int32 *value);
+/* poke device state */
+typedef NPError (*NPDeviceSetStateContextPtr) (
+ NPP instance,
+ NPDeviceContext* context,
+ int32 state,
+ int32 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);
+
+/* forward decl typdef structs */
+typedef struct NPDevice NPDevice;
+typedef struct NPExtensions NPExtensions;
+
+/* generic device interface */
+struct NPDevice {
+ NPDeviceQueryCapabilityPtr queryCapability;
+ NPDeviceQueryConfigPtr queryConfig;
+ NPDeviceInitializeContextPtr initializeContext;
+ NPDeviceSetStateContextPtr setStateContext;
+ NPDeviceGetStateContextPtr getStateContext;
+ NPDeviceFlushContextPtr flushContext;
+ NPDeviceDestroyContextPtr destroyContext;
+};
+
+/* returns NULL if deviceID unavailable / unrecognized */
+typedef NPDevice* (*NPAcquireDevicePtr)(
+ NPP instance,
+ NPDeviceID device);
+
+/* Pepper extensions */
+struct NPExtensions {
+ /* Device interface acquisition */
+ NPAcquireDevicePtr acquireDevice;
+};
+
+/* Events -------------------------------------------------------------------*/
+
typedef enum {
NPMouseButton_None = -1,
NPMouseButton_Left = 0,
@@ -98,7 +178,7 @@
int32 value;
} NPFocusEvent;
-typedef struct _NPPepprEvent
+typedef struct _NPPepperEvent
{
uint32 size;
int32 type;
@@ -114,30 +194,30 @@
} u;
} NPPepperEvent;
-typedef struct _NPPepperRegion
-{
- int32 x;
- int32 y;
- int32 w;
- int32 h;
-} NPPepperRegion;
+/* 2D -----------------------------------------------------------------------*/
+#define NPPepper2DDevice 1
+
typedef enum _NPRenderType
{
NPRenderGraphicsRGBA
} NPRenderType;
-typedef struct _NPRenderContext
+typedef struct _NPDeviceContext2DConfig {
+} NPDeviceContext2DConfig;
+
+typedef struct _NPDeviceContext2D
{
union {
struct {
void* region;
int32 stride;
- // The dirty region that the plugin has painted into the buffer. This
- // will be initialized to the size of the plugin image in
- // initializeRenderContextPtr. The plugin can change the values to only
- // update portions of the image.
+ /* The dirty region that the plugin has painted into the buffer. This
+ * will be initialized to the size of the plugin image in
+ * initializeRenderContextPtr. The plugin can change the values to only
+ * update portions of the image.
+ */
struct {
int32 left;
int32 top;
@@ -146,34 +226,6 @@
} dirty;
} graphicsRgba;
} u;
-} NPRenderContext;
+} NPDeviceContext2D;
-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);
-typedef NPError (*NPDestroyRenderContextPtr)(NPP instance,
- NPRenderContext* context);
-typedef NPError (*NPOpenFilePtr)(NPP instance, const char* fileName, void** handle);
-
-typedef struct _NPPepperExtensions
-{
- /* Renderer extensions */
- NPInitializeRenderContextPtr initializeRender;
- NPFlushRenderContextPtr flushRender;
- NPDestroyRenderContextPtr destroyRender;
- /* Shared memory extensions */
-
- /* I/O extensions */
- NPOpenFilePtr openFile;
-} NPPepperExtensions;
-
-#endif /* PEPPER_APIS_ENABLED */
-
-#endif /* WEBKIT_GLUE_PEPPER_PEPPER_H_ */
+#endif /* _NP_EXTENSIONS_H_ */
« no previous file with comments | « third_party/npapi/bindings/npapi.h ('k') | third_party/npapi/npapi.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698