cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

SDL_pandora.h (3906B)


      1/*
      2  Simple DirectMedia Layer
      3  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
      4
      5  This software is provided 'as-is', without any express or implied
      6  warranty.  In no event will the authors be held liable for any damages
      7  arising from the use of this software.
      8
      9  Permission is granted to anyone to use this software for any purpose,
     10  including commercial applications, and to alter it and redistribute it
     11  freely, subject to the following restrictions:
     12
     13  1. The origin of this software must not be misrepresented; you must not
     14     claim that you wrote the original software. If you use this software
     15     in a product, an acknowledgment in the product documentation would be
     16     appreciated but is not required.
     17  2. Altered source versions must be plainly marked as such, and must not be
     18     misrepresented as being the original software.
     19  3. This notice may not be removed or altered from any source distribution.
     20*/
     21
     22#ifndef __SDL_PANDORA_H__
     23#define __SDL_PANDORA_H__
     24
     25#include <GLES/egl.h>
     26
     27#include "../../SDL_internal.h"
     28#include "../SDL_sysvideo.h"
     29
     30typedef struct SDL_VideoData
     31{
     32    SDL_bool egl_initialized;   /* OpenGL ES device initialization status */
     33    EGLDisplay egl_display;     /* OpenGL ES display connection           */
     34    uint32_t egl_refcount;      /* OpenGL ES reference count              */
     35    uint32_t swapinterval;      /* OpenGL ES default swap interval        */
     36
     37} SDL_VideoData;
     38
     39
     40typedef struct SDL_DisplayData
     41{
     42
     43} SDL_DisplayData;
     44
     45
     46typedef struct SDL_WindowData
     47{
     48    SDL_bool uses_gles;         /* if true window must support OpenGL ES */
     49
     50    EGLConfig gles_configs[32];
     51    EGLint gles_config;         /* OpenGL ES configuration index      */
     52    EGLContext gles_context;    /* OpenGL ES context                  */
     53    EGLint gles_attributes[256];        /* OpenGL ES attributes for context   */
     54    EGLSurface gles_surface;    /* OpenGL ES target rendering surface */
     55
     56} SDL_WindowData;
     57
     58
     59/****************************************************************************/
     60/* SDL_VideoDevice functions declaration                                    */
     61/****************************************************************************/
     62
     63/* Display and window functions */
     64int PND_videoinit(_THIS);
     65void PND_videoquit(_THIS);
     66void PND_getdisplaymodes(_THIS, SDL_VideoDisplay * display);
     67int PND_setdisplaymode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode);
     68int PND_createwindow(_THIS, SDL_Window * window);
     69int PND_createwindowfrom(_THIS, SDL_Window * window, const void *data);
     70void PND_setwindowtitle(_THIS, SDL_Window * window);
     71void PND_setwindowicon(_THIS, SDL_Window * window, SDL_Surface * icon);
     72void PND_setwindowposition(_THIS, SDL_Window * window);
     73void PND_setwindowsize(_THIS, SDL_Window * window);
     74void PND_showwindow(_THIS, SDL_Window * window);
     75void PND_hidewindow(_THIS, SDL_Window * window);
     76void PND_raisewindow(_THIS, SDL_Window * window);
     77void PND_maximizewindow(_THIS, SDL_Window * window);
     78void PND_minimizewindow(_THIS, SDL_Window * window);
     79void PND_restorewindow(_THIS, SDL_Window * window);
     80void PND_setwindowgrab(_THIS, SDL_Window * window);
     81void PND_destroywindow(_THIS, SDL_Window * window);
     82
     83/* Window manager function */
     84SDL_bool PND_getwindowwminfo(_THIS, SDL_Window * window,
     85                             struct SDL_SysWMinfo *info);
     86
     87/* OpenGL/OpenGL ES functions */
     88int PND_gl_loadlibrary(_THIS, const char *path);
     89void *PND_gl_getprocaddres(_THIS, const char *proc);
     90void PND_gl_unloadlibrary(_THIS);
     91SDL_GLContext PND_gl_createcontext(_THIS, SDL_Window * window);
     92int PND_gl_makecurrent(_THIS, SDL_Window * window, SDL_GLContext context);
     93int PND_gl_setswapinterval(_THIS, int interval);
     94int PND_gl_getswapinterval(_THIS);
     95void PND_gl_swapwindow(_THIS, SDL_Window * window);
     96void PND_gl_deletecontext(_THIS, SDL_GLContext context);
     97
     98
     99#endif /* __SDL_PANDORA_H__ */
    100
    101/* vi: set ts=4 sw=4 expandtab: */