SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_rpivideo.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 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_RPIVIDEO_H__
23
#define __SDL_RPIVIDEO_H__
24
25
#include "../../SDL_internal.h"
26
#include "../SDL_sysvideo.h"
27
28
#include <bcm_host.h>
29
#include "GLES/gl.h"
30
#include "
EGL/egl.h
"
31
#include "
EGL/eglext.h
"
32
33
typedef
struct
SDL_VideoData
34
{
35
uint32_t
egl_refcount
;
/* OpenGL ES reference count */
36
}
SDL_VideoData
;
37
38
39
typedef
struct
SDL_DisplayData
40
{
41
DISPMANX_DISPLAY_HANDLE_T
dispman_display
;
42
}
SDL_DisplayData
;
43
44
45
typedef
struct
SDL_WindowData
46
{
47
EGL_DISPMANX_WINDOW_T
dispman_window
;
48
#if SDL_VIDEO_OPENGL_EGL
49
EGLSurface
egl_surface
;
50
#endif
51
52
/* Vsync callback cond and mutex */
53
SDL_cond
*
vsync_cond
;
54
SDL_mutex
*
vsync_cond_mutex
;
55
SDL_bool
double_buffer
;
56
57
}
SDL_WindowData
;
58
59
#define SDL_RPI_VIDEOLAYER 10000
/* High enough so to occlude everything */
60
#define SDL_RPI_MOUSELAYER SDL_RPI_VIDEOLAYER + 1
61
62
63
/****************************************************************************/
64
/* SDL_VideoDevice functions declaration */
65
/****************************************************************************/
66
67
/* Display and window functions */
68
int
RPI_VideoInit
(
_THIS
);
69
void
RPI_VideoQuit
(
_THIS
);
70
void
RPI_GetDisplayModes
(
_THIS
,
SDL_VideoDisplay
* display);
71
int
RPI_SetDisplayMode
(
_THIS
,
SDL_VideoDisplay
* display,
SDL_DisplayMode
*
mode
);
72
int
RPI_CreateWindow
(
_THIS
,
SDL_Window
*
window
);
73
int
RPI_CreateWindowFrom
(
_THIS
,
SDL_Window
*
window
,
const
void
*
data
);
74
void
RPI_SetWindowTitle
(
_THIS
,
SDL_Window
*
window
);
75
void
RPI_SetWindowIcon
(
_THIS
,
SDL_Window
*
window
,
SDL_Surface
* icon);
76
void
RPI_SetWindowPosition
(
_THIS
,
SDL_Window
*
window
);
77
void
RPI_SetWindowSize
(
_THIS
,
SDL_Window
*
window
);
78
void
RPI_ShowWindow
(
_THIS
,
SDL_Window
*
window
);
79
void
RPI_HideWindow
(
_THIS
,
SDL_Window
*
window
);
80
void
RPI_RaiseWindow
(
_THIS
,
SDL_Window
*
window
);
81
void
RPI_MaximizeWindow
(
_THIS
,
SDL_Window
*
window
);
82
void
RPI_MinimizeWindow
(
_THIS
,
SDL_Window
*
window
);
83
void
RPI_RestoreWindow
(
_THIS
,
SDL_Window
*
window
);
84
void
RPI_SetWindowGrab
(
_THIS
,
SDL_Window
*
window
,
SDL_bool
grabbed);
85
void
RPI_DestroyWindow
(
_THIS
,
SDL_Window
*
window
);
86
87
/* Window manager function */
88
SDL_bool
RPI_GetWindowWMInfo
(
_THIS
,
SDL_Window
*
window
,
89
struct
SDL_SysWMinfo
*info);
90
91
/* OpenGL/OpenGL ES functions */
92
int
RPI_GLES_LoadLibrary
(
_THIS
,
const
char
*
path
);
93
void
*
RPI_GLES_GetProcAddress
(
_THIS
,
const
char
*proc);
94
void
RPI_GLES_UnloadLibrary
(
_THIS
);
95
SDL_GLContext
RPI_GLES_CreateContext
(
_THIS
,
SDL_Window
*
window
);
96
int
RPI_GLES_MakeCurrent
(
_THIS
,
SDL_Window
*
window
,
SDL_GLContext
context
);
97
int
RPI_GLES_SetSwapInterval
(
_THIS
,
int
interval);
98
int
RPI_GLES_GetSwapInterval
(
_THIS
);
99
int
RPI_GLES_SwapWindow
(
_THIS
,
SDL_Window
*
window
);
100
void
RPI_GLES_DeleteContext
(
_THIS
,
SDL_GLContext
context
);
101
102
#endif
/* __SDL_RPIVIDEO_H__ */
103
104
/* vi: set ts=4 sw=4 expandtab: */
src
video
raspberry
SDL_rpivideo.h
Generated on Sun Jun 26 2022 23:07:16 for SDL by
1.8.1.2