src/video/nacl/SDL_naclvideo.h
changeset 8833 ae720d61d14d
child 9619 b94b6d0bff0f
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/video/nacl/SDL_naclvideo.h	Fri Jun 06 15:45:59 2014 -0300
     1.3 @@ -0,0 +1,67 @@
     1.4 +/*
     1.5 +  Simple DirectMedia Layer
     1.6 +  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
     1.7 +
     1.8 +  This software is provided 'as-is', without any express or implied
     1.9 +  warranty.  In no event will the authors be held liable for any damages
    1.10 +  arising from the use of this software.
    1.11 +
    1.12 +  Permission is granted to anyone to use this software for any purpose,
    1.13 +  including commercial applications, and to alter it and redistribute it
    1.14 +  freely, subject to the following restrictions:
    1.15 +
    1.16 +  1. The origin of this software must not be misrepresented; you must not
    1.17 +     claim that you wrote the original software. If you use this software
    1.18 +     in a product, an acknowledgment in the product documentation would be
    1.19 +     appreciated but is not required.
    1.20 +  2. Altered source versions must be plainly marked as such, and must not be
    1.21 +     misrepresented as being the original software.
    1.22 +  3. This notice may not be removed or altered from any source distribution.
    1.23 +*/
    1.24 +#include "../../SDL_internal.h"
    1.25 +
    1.26 +#ifndef _SDL_naclvideo_h
    1.27 +#define _SDL_naclvideo_h
    1.28 +
    1.29 +#include "../SDL_sysvideo.h"
    1.30 +#include "ppapi_simple/ps_interface.h"
    1.31 +#include "ppapi/c/pp_input_event.h"
    1.32 +
    1.33 +
    1.34 +/* Hidden "this" pointer for the video functions */
    1.35 +#define _THIS  SDL_VideoDevice *_this
    1.36 +
    1.37 +
    1.38 +/* Private display data */
    1.39 +
    1.40 +typedef struct SDL_VideoData {
    1.41 +  Uint32 format;
    1.42 +  int w, h;
    1.43 +  SDL_Window *window;
    1.44 +
    1.45 +  const PPB_Graphics3D *ppb_graphics;
    1.46 +  const PPB_MessageLoop *ppb_message_loop;
    1.47 +  const PPB_Core *ppb_core;
    1.48 +  const PPB_Fullscreen *ppb_fullscreen;
    1.49 +  const PPB_Instance *ppb_instance;
    1.50 +  const PPB_ImageData *ppb_image_data;
    1.51 +  const PPB_View *ppb_view;
    1.52 +  const PPB_Var *ppb_var;
    1.53 +  const PPB_InputEvent *ppb_input_event;
    1.54 +  const PPB_KeyboardInputEvent *ppb_keyboard_input_event;
    1.55 +  const PPB_MouseInputEvent *ppb_mouse_input_event;
    1.56 +  const PPB_WheelInputEvent *ppb_wheel_input_event;
    1.57 +  const PPB_TouchInputEvent *ppb_touch_input_event;
    1.58 +      
    1.59 +  PP_Resource message_loop;
    1.60 +  PP_Instance instance;
    1.61 +  
    1.62 +  /* FIXME: Check threading issues...otherwise use a hardcoded _this->context across all threads */
    1.63 +  /* PP_Resource context; */
    1.64 +
    1.65 +} SDL_VideoData;
    1.66 +
    1.67 +extern void NACL_SetScreenResolution(int width, int height, Uint32 format);
    1.68 +
    1.69 +
    1.70 +#endif /* _SDL_naclvideo_h */