Edit README, some work on SDL 2.0

This commit is contained in:
octospacc 2022-08-06 20:34:46 +02:00
parent 113c2ea17d
commit 270ae8baa0
6 changed files with 56 additions and 19 deletions

View File

@ -1,5 +1,6 @@
#pragma once
#include <stdbool.h>
#include <stddef.h>
#ifdef MultiSpacc_Target_SDL12
#include "SDL12/SDL.h"

View File

@ -1,15 +1,20 @@
#include <stddef.h>
#include "../MultiSpacc.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "SDL/SDL_mixer.h"
#include "SDL/SDL_ttf.h"
void MultiSpacc_SetAppTitle( const char *Title ) {
SDL_WM_SetCaption( Title, NULL );
SDL_Surface *MultiSpacc_GetWindow( int Width, int Height, int Bits, Uint32 Flags ) {
return SDL_SetVideoMode( Width, Height, Bits, Flags );
}
SDL_Surface *MultiSpacc_GetWindowSurface( SDL_Surface *Window ) {
return Window;
}
void MultiSpacc_SetAppIcon( SDL_Surface *Icon ) {
void MultiSpacc_SetAppTitle( SDL_Surface *Window, const char *Title ) {
SDL_WM_SetCaption( Title, NULL );
}
void MultiSpacc_SetAppIcon( SDL_Surface *Window, SDL_Surface *Icon ) {
SDL_WM_SetIcon( Icon, NULL );
}
@ -21,11 +26,3 @@ int MultiSpacc_SetColorKey( SDL_Surface *Surface, bool Flag, Uint32 Key ) {
return SDL_SetColorKey( Surface, 0, Key );
}
}
SDL_Surface *MultiSpacc_GetWindow( int Width, int Height, int Bits, Uint32 Flags ) {
return SDL_SetVideoMode( Width, Height, Bits, Flags );
}
SDL_Surface *MultiSpacc_GetWindowSurface( SDL_Surface *Window ) {
return Window;
}

View File

@ -4,15 +4,16 @@
#define MultiSpacc_Target_SDL12
#endif
#include <stddef.h>
#include "../MultiSpacc.h"
#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include "SDL/SDL_mixer.h"
#include "SDL/SDL_ttf.h"
void MultiSpacc_SetAppTitle( const char *Title );
void MultiSpacc_SetAppIcon( SDL_Surface *Icon );
int MultiSpacc_SetColorKey( SDL_Surface *Surface, bool Flag, Uint32 Key );
SDL_Surface *MultiSpacc_GetWindow( int Width, int Height, int Bits, Uint32 Flags );
SDL_Surface *MultiSpacc_GetWindowSurface( SDL_Surface *Window );
void MultiSpacc_SetAppTitle( SDL_Surface *Window, const char *Title );
void MultiSpacc_SetAppIcon( SDL_Surface *Window, SDL_Surface *Icon );
int MultiSpacc_SetColorKey( SDL_Surface *Surface, bool Flag, Uint32 Key );

28
LibMultiSpacc/SDL20/SDL.c Normal file
View File

@ -0,0 +1,28 @@
#include "../MultiSpacc.h"
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_mixer.h"
#include "SDL2/SDL_ttf.h"
SDL_Window *MultiSpacc_GetWindow( int Width, int Height, int Bits, Uint32 Flags ) {
return SDL_CreateWindow(NULL, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, Width, Height, Flags);
}
SDL_Surface *MultiSpacc_GetWindowSurface( SDL_Surface *Window ) {
return SDL_GetWindowSurface( Window );
}
void MultiSpacc_SetAppTitle( SDL_Surface *Window, const char *Title ) {
SDL_SetWindowTitle( Window, Title );
}
void MultiSpacc_SetAppIcon( SDL_Surface *Window, SDL_Surface *Icon ) {
SDL_SetWindowIcon( Window, Icon );
}
int MultiSpacc_SetColorKey( SDL_Surface *Surface, bool Flag, Uint32 Key ) {
if ( Flag ) {
return SDL_SetColorKey( Surface, SDL_TRUE, Key );
}
else {
return SDL_SetColorKey( Surface, SDL_FALSE, Key );
}
}

View File

@ -9,3 +9,11 @@
#include "SDL2/SDL_image.h"
#include "SDL2/SDL_mixer.h"
#include "SDL2/SDL_ttf.h"
SDL_Window *MultiSpacc_GetWindow( int Width, int Height, int Bits, Uint32 Flags );
SDL_Surface *MultiSpacc_GetWindowSurface( SDL_Surface *Window );
void MultiSpacc_SetAppTitle( SDL_Surface *Window, const char *Title );
void MultiSpacc_SetAppIcon( SDL_Surface *Window, SDL_Surface *Icon );
int MultiSpacc_SetColorKey( SDL_Surface *Surface, bool Flag, Uint32 Key );

View File

@ -2,13 +2,15 @@
LibMultiSpacc is a library aiming to provide cross-platform abstractions for a number of less-cross-platform libraries.
The list of backend libraries supported follows:
The idea is simple: to build an universal abstraction layer on top of other existing libraries, that developers can use in their code instead of the platform-specific calls, to make it possible for an application to get build-time support for a major number of previously incompatible platforms.
The list of supported (or planned) backend libraries follows:
- SDL 1.2 (WIP)
- SDL 2.0 (planned)
- SDL 2.0 (WIP)
Example programs (and makefiles) will come soon.
### Licensing
I have yet to choose a license for this. I would like for the library to be usable by as many people as possible (and, for that, the Unlicense o zlib license would be the best), but I have yet to understand legal compatibility with all the different libraries mine is made to work on top of.
I have yet to choose a license for this. I would like for the library to be usable by as many people as possible (and, for that, the Unlicense o zlib license would be the best), and possibly to also demand that credit is given to me (citing my library name), but I have yet to understand legal compatibility with all the different libraries mine is made to work on top of.