mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-10-07 22:28:01 +03:00
Refactor: Remove sdl_videodev and its accessor macros
This commit is contained in:
+12
-36
@@ -30,27 +30,18 @@
|
||||
#include "portab.h"
|
||||
#include "ags.h"
|
||||
|
||||
struct sdl_private_data {
|
||||
SDL_Window *window;
|
||||
SDL_Renderer *renderer;
|
||||
SDL_Texture *texture;
|
||||
SDL_Surface *dsp; /* toplevel surface */
|
||||
|
||||
SDL_Surface *dib; /* offscreen surface */
|
||||
|
||||
SDL_Color col[256]; /* color palette */
|
||||
|
||||
agsurface_t *cimg;
|
||||
|
||||
int view_w;
|
||||
int view_h;
|
||||
|
||||
boolean dirty;
|
||||
|
||||
boolean fs_on;
|
||||
|
||||
boolean (*custom_event_handler)(const SDL_Event *);
|
||||
};
|
||||
extern SDL_Window *sdl_window;
|
||||
extern SDL_Renderer *sdl_renderer;
|
||||
extern SDL_Texture *sdl_texture;
|
||||
extern SDL_Surface *sdl_display; // toplevel surface
|
||||
extern SDL_Surface *sdl_dib; // offscreen surface
|
||||
extern SDL_Color sdl_col[256]; // color palette
|
||||
extern agsurface_t *sdl_dibinfo;
|
||||
extern int view_w;
|
||||
extern int view_h;
|
||||
extern bool sdl_dirty;
|
||||
extern bool sdl_fs_on;
|
||||
extern boolean (*sdl_custom_event_handler)(const SDL_Event *);
|
||||
|
||||
void sdl_event_init(void);
|
||||
void sdl_cursor_init(void);
|
||||
@@ -59,19 +50,4 @@ boolean sdl_joy_open(int index);
|
||||
SDL_Surface *sdl_dib_to_surface_with_alpha(int x, int y, int w, int h);
|
||||
SDL_Surface *sdl_dib_to_surface_colorkey(int x, int y, int w, int h, int col);
|
||||
|
||||
extern struct sdl_private_data *sdl_videodev;
|
||||
|
||||
#define sdl_window (sdl_videodev->window)
|
||||
#define sdl_renderer (sdl_videodev->renderer)
|
||||
#define sdl_texture (sdl_videodev->texture)
|
||||
#define sdl_display (sdl_videodev->dsp)
|
||||
#define sdl_dib (sdl_videodev->dib)
|
||||
#define sdl_col (sdl_videodev->col)
|
||||
#define sdl_dibinfo (sdl_videodev->cimg)
|
||||
#define view_w (sdl_videodev->view_w)
|
||||
#define view_h (sdl_videodev->view_h)
|
||||
#define sdl_dirty (sdl_videodev->dirty)
|
||||
#define sdl_fs_on (sdl_videodev->fs_on)
|
||||
#define sdl_custom_event_handler (sdl_videodev->custom_event_handler)
|
||||
|
||||
#endif /* __SDL_PRIVATE_H__ */
|
||||
|
||||
+13
-5
@@ -36,10 +36,22 @@
|
||||
#include "xsystem35.h"
|
||||
#include "image.h"
|
||||
|
||||
SDL_Window *sdl_window;
|
||||
SDL_Renderer *sdl_renderer;
|
||||
SDL_Texture *sdl_texture;
|
||||
SDL_Surface *sdl_display; // toplevel surface
|
||||
SDL_Surface *sdl_dib; // offscreen surface
|
||||
SDL_Color sdl_col[256]; // color palette
|
||||
agsurface_t *sdl_dibinfo;
|
||||
int view_w;
|
||||
int view_h;
|
||||
bool sdl_dirty;
|
||||
bool sdl_fs_on;
|
||||
boolean (*sdl_custom_event_handler)(const SDL_Event *);
|
||||
|
||||
static void window_init(const char *render_driver);
|
||||
static void makeDIB(int width, int height, int depth);
|
||||
|
||||
struct sdl_private_data *sdl_videodev;
|
||||
static int joy_device_index = -1;
|
||||
|
||||
static SDL_Joystick *js;
|
||||
@@ -73,8 +85,6 @@ static boolean joy_open(void) {
|
||||
|
||||
/* SDL の初期化 */
|
||||
int sdl_Initialize(const char *render_driver) {
|
||||
sdl_videodev = calloc(1, sizeof(struct sdl_private_data));
|
||||
|
||||
window_init(render_driver);
|
||||
|
||||
/* offscreen Pixmap */
|
||||
@@ -95,8 +105,6 @@ int sdl_Initialize(const char *render_driver) {
|
||||
}
|
||||
|
||||
void sdl_Remove(void) {
|
||||
if (sdl_videodev == NULL) return;
|
||||
|
||||
if (sdl_display) {
|
||||
SDL_FreeSurface(sdl_dib);
|
||||
SDL_DestroyRenderer(sdl_renderer);
|
||||
|
||||
Reference in New Issue
Block a user