21 #include "../../SDL_internal.h"
23 #if SDL_VIDEO_DRIVER_NACL
25 #include "ppapi/c/pp_errors.h"
26 #include "ppapi/c/pp_instance.h"
27 #include "ppapi_simple/ps.h"
28 #include "ppapi_simple/ps_interface.h"
29 #include "ppapi_simple/ps_event.h"
30 #include "nacl_io/nacl_io.h"
37 #include "../SDL_sysvideo.h"
38 #include "../../events/SDL_events_c.h"
40 #define NACLVID_DRIVER_NAME "nacl"
66 PSInterfaceGraphics3D()->ResizeBuffers(context, width, height);
74 static int NACL_VideoInit(
_THIS);
75 static void NACL_VideoQuit(
_THIS);
77 static int NACL_Available(
void) {
78 return PSGetInstanceId() != 0;
116 device->
free = NACL_DeleteDevice;
134 NACLVID_DRIVER_NAME,
"SDL Native Client Video Driver",
135 NACL_Available, NACL_CreateDevice
138 int NACL_VideoInit(
_THIS) {
144 mode.w = driverdata->
w;
145 mode.h = driverdata->
h;
146 mode.refresh_rate = 0;
155 driverdata->
instance = PSGetInstanceId();
158 driverdata->
ppb_core = PSInterfaceCore();
162 driverdata->
ppb_view = PSInterfaceView();
163 driverdata->
ppb_var = PSInterfaceVar();
164 driverdata->
ppb_input_event = (PPB_InputEvent*) PSGetInterface(PPB_INPUT_EVENT_INTERFACE);
165 driverdata->
ppb_keyboard_input_event = (PPB_KeyboardInputEvent*) PSGetInterface(PPB_KEYBOARD_INPUT_EVENT_INTERFACE);
166 driverdata->
ppb_mouse_input_event = (PPB_MouseInputEvent*) PSGetInterface(PPB_MOUSE_INPUT_EVENT_INTERFACE);
167 driverdata->
ppb_wheel_input_event = (PPB_WheelInputEvent*) PSGetInterface(PPB_WHEEL_INPUT_EVENT_INTERFACE);
168 driverdata->
ppb_touch_input_event = (PPB_TouchInputEvent*) PSGetInterface(PPB_TOUCH_INPUT_EVENT_INTERFACE);
173 PSEventSetFilter(PSE_ALL);
179 void NACL_VideoQuit(
_THIS) {