NPAPI:ExtendedXEventModel: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 28: Line 28:
= Event Structure =
= Event Structure =


  typedef enum {
    NPXEventTypeNPEvent = 0, /* event is native X event */
    NPXEventTypeDrawImage = 1 /* event is NPDrawingModelDrawImage event */
  } NPXEventType;
 
   typedef struct _NPExtendedXEvent
   typedef struct _NPExtendedXEvent
   {
   {
     NPXEventType type;
     NPXEventType type;
     void *event;
     void *event;
 
   } NPExtendedXEvent;
   } NPExtendedXEvent;

Revision as of 17:45, 27 April 2010

Status

Under consideration.

Contributors

  • Last modified: April 27, 2010
  • Authors: Oleg Romashin (Nokia), Josh Aas (Mozilla)
  • Contributors:

Overview

The default X event model simply sends a native X event as the argument to NPP_HandleEvent. This extended X event model sends a struct with an event type and an event pointer to allow for events that are not native X events.

The Default X Event Model

As this will be the first alternative to the X event model, we'll designate the original default model:

  • NPEventModelX (NPEventModel = 2)

Negotiating NPEventModelExtendedX

For documentation on negotiating drawing models, see NPAPI:Models. The event model variables for extended X events are:

NPEventModelExtendedX (NPEventModel = 3) NPNVsupportsExtendedXEventsBool (NPNVariable = 3002)

Event Structure

 typedef enum {
   NPXEventTypeNPEvent = 0, /* event is native X event */
   NPXEventTypeDrawImage = 1 /* event is NPDrawingModelDrawImage event */
 } NPXEventType;
 
 typedef struct _NPExtendedXEvent
 {
   NPXEventType type;
   void *event;
 } NPExtendedXEvent;