 +static SDL_Surface *NACL_SetVideoMode(_THIS, SDL_Surface *current, int width, int height, int bpp, Uint32 flags);
 +static void NACL_VideoQuit(_THIS);
 +static void NACL_UpdateRects(_THIS, int numrects, SDL_Rect *rects);
++static int NACL_GL_GetAttribute(_THIS, SDL_GLattr attrib, int* value);
++static int NACL_GL_MakeCurrent(_THIS);
++static void NACL_GL_SwapBuffers(_THIS);
 +
 +/* The implementation dependent data for the window manager cursor */
 +struct WMcursor {

+
+  /* Initialize all variables that we clean on shutdown */
+  device = (SDL_VideoDevice *)SDL_malloc(sizeof(SDL_VideoDevice));
+  if ( device ) {
+    SDL_memset(device, 0, (sizeof *device));
+    device->hidden = (struct SDL_PrivateVideoData *)
+        SDL_malloc((sizeof *device->hidden));
+  }
+  if ( (device == NULL) || (device->hidden == NULL) ) {
+    SDL_OutOfMemory();
+    if ( device ) {
+      SDL_free(device);
+    }
+    return(0);
+  }
+  SDL_memset(device->hidden, 0, (sizeof *device->hidden));
+

+  _this->info.current_h = gNaclVideoHeight;
+
+  /* We're done! */
+  return 0;
+}
+
+SDL_Rect **NACL_ListModes(_THIS, SDL_PixelFormat *format, Uint32 flags) {
