From a561cc6cd0aaae5c1dfcaf17c2ecd7902b2334e6 Mon Sep 17 00:00:00 2001 From: maxcodehack Date: Wed, 18 Nov 2020 07:53:16 +0000 Subject: [PATCH] Change SDL example git-svn-id: svn://kolibrios.org@8218 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../sdk/sources/SDL-1.2.2_newlib/src/Makefile | 8 +- .../SDL-1.2.2_newlib/src/SYSCALL/src/alloca.s | 6 - .../src/events/SDL_sysevents.h | 2 +- .../SDL-1.2.2_newlib/src/video/SDL_sysvideo.h | 2 +- .../SDL-1.2.2_newlib/src/video/SDL_video.c | 2 +- programs/demos/SDL/SDLTest.c | 136 ++---------------- programs/demos/SDL/picture.xbm | 14 -- 7 files changed, 18 insertions(+), 152 deletions(-) delete mode 100755 contrib/sdk/sources/SDL-1.2.2_newlib/src/SYSCALL/src/alloca.s delete mode 100755 programs/demos/SDL/picture.xbm diff --git a/contrib/sdk/sources/SDL-1.2.2_newlib/src/Makefile b/contrib/sdk/sources/SDL-1.2.2_newlib/src/Makefile index 4f1eddd158..fb20d94b1c 100755 --- a/contrib/sdk/sources/SDL-1.2.2_newlib/src/Makefile +++ b/contrib/sdk/sources/SDL-1.2.2_newlib/src/Makefile @@ -1,7 +1,3 @@ -# SDL build makefile_test -# writed by maxcodehack - - CC = kos32-gcc AR = kos32-ar LD = kos32-ld @@ -38,9 +34,9 @@ CFLAGS = -c -O2 -D_REENTRANT -I../include -I SYSCALL/include -I. -DPACKAGE=\"SDL -fexpensive-optimizations -Wall -DENABLE_AUDIO -UDISABLE_AUDIO -DDISABLE_JOYSTICK \ -DDISABLE_CDROM -DDISABLE_THREADS -DENABLE_TIMERS \ -DUSE_ASMBLIT -Ihermes -Iaudio -Ivideo -Ievents \ - -Ijoystick -Icdrom -Ithread -Itimer -Iendian -Ifile -DENABLE_MENUETOS \ + -Ijoystick -Icdrom -Ithread -Itimer -Iendian -Ifile -DENABLE_KOLIBRIOS \ -DNO_SIGNAL_H -DDISABLE_STDIO -DNEED_SDL_GETENV -DENABLE_FILE -UDISABLE_FILE \ - -D__MENUETOS__ -DDEBUG_VIDEO -UWIN32 -U_Win32 -U_WIN32 -U__MINGW32__ \ + -D__KOLIBRIOS__ -DDEBUG_VIDEO -UWIN32 -U_Win32 -U_WIN32 -U__MINGW32__ \ -I../../newlib/libc/include/ diff --git a/contrib/sdk/sources/SDL-1.2.2_newlib/src/SYSCALL/src/alloca.s b/contrib/sdk/sources/SDL-1.2.2_newlib/src/SYSCALL/src/alloca.s deleted file mode 100755 index c43838fe5d..0000000000 --- a/contrib/sdk/sources/SDL-1.2.2_newlib/src/SYSCALL/src/alloca.s +++ /dev/null @@ -1,6 +0,0 @@ -#include -MK_C_SYM(_alloca) - sub %eax, %esp - mov (%esp,%eax),%eax - mov %eax, (%esp) - ret diff --git a/contrib/sdk/sources/SDL-1.2.2_newlib/src/events/SDL_sysevents.h b/contrib/sdk/sources/SDL-1.2.2_newlib/src/events/SDL_sysevents.h index 0f9e5b4d54..fefabf7f9d 100755 --- a/contrib/sdk/sources/SDL-1.2.2_newlib/src/events/SDL_sysevents.h +++ b/contrib/sdk/sources/SDL-1.2.2_newlib/src/events/SDL_sysevents.h @@ -41,6 +41,6 @@ static char rcsid = #define CANT_THREAD_EVENTS #endif -#ifdef __MENUETOS__ +#ifdef __KOLIBRIOS__ #define CANT_THREAD_EVENTS #endif diff --git a/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_sysvideo.h b/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_sysvideo.h index 3490eea4be..59b86154a0 100755 --- a/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_sysvideo.h +++ b/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_sysvideo.h @@ -386,7 +386,7 @@ extern VideoBootStrap QZ_bootstrap; #ifdef ENABLE_CYBERGRAPHICS extern VideoBootStrap CGX_bootstrap; #endif -#ifdef ENABLE_MENUETOS +#ifdef ENABLE_KOLIBRIOS extern VideoBootStrap mosvideo_bootstrab; #endif /* This is the current video device */ diff --git a/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_video.c b/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_video.c index 28950262a8..afcaecd874 100755 --- a/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_video.c +++ b/contrib/sdk/sources/SDL-1.2.2_newlib/src/video/SDL_video.c @@ -95,7 +95,7 @@ static VideoBootStrap *bootstrap[] = { #ifdef ENABLE_PHOTON &ph_bootstrap, #endif -#ifdef ENABLE_MENUETOS +#ifdef ENABLE_KOLIBRIOS &mosvideo_bootstrab, #endif NULL diff --git a/programs/demos/SDL/SDLTest.c b/programs/demos/SDL/SDLTest.c index 0c5f3c98d8..47f5b52b4a 100644 --- a/programs/demos/SDL/SDLTest.c +++ b/programs/demos/SDL/SDLTest.c @@ -1,138 +1,28 @@ -/* - -Makefile in this folder --- maxcodehack -*/ - -/* Simple program: Test bitmap blits */ - -#include -#include -#include - -// We can use Newlib functions with Menuetlibc library SDL! -#include - #include "SDL.h" -#include "picture.xbm" +#include -SDL_Surface *LoadXBM(SDL_Surface *screen, int w, int h, Uint8 *bits) +SDL_Surface* screen; +static int done = 0; + +int main() { - SDL_Surface *bitmap; - Uint8 *line; - - /* Allocate the bitmap */ - bitmap = SDL_CreateRGBSurface(SDL_SWSURFACE, w, h, 1, 0, 0, 0, 0); - if ( bitmap == NULL ) { - fprintf(stderr, "Couldn't allocate bitmap: %s\n", - SDL_GetError()); - return(NULL); - } - - /* Copy the pixels */ - line = (Uint8 *)bitmap->pixels; - w = (w+7)/8; - while ( h-- ) { - memcpy(line, bits, w); - /* X11 Bitmap images have the bits reversed */ - { int i, j; Uint8 *buf, byte; - for ( buf=line, i=0; i=0; --j ) { - *buf |= (byte&0x01)<>= 1; - } - } - } - line += bitmap->pitch; - bits += w; - } - return(bitmap); -} - -int main(int argc, char *argv[]) -{ - SDL_Surface *screen; - SDL_Surface *bitmap; - Uint8 video_bpp; - Uint32 videoflags; - Uint8 *buffer; - int i, done; SDL_Event event; - - /* Initialize SDL */ - if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) { - fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError()); - exit(1); - } + if(SDL_Init(SDL_INIT_VIDEO) < 0) exit(0); atexit(SDL_Quit); - - video_bpp = 0; - videoflags = SDL_SWSURFACE; - /* Set 640x480 video mode */ - if ( (screen=SDL_SetVideoMode(640,480,video_bpp,videoflags)) == NULL ) { - fprintf(stderr, "Couldn't set 640x480x%d video mode: %s\n", - video_bpp, SDL_GetError()); - exit(2); - } - - /* Set the surface pixels and refresh! */ - if ( SDL_LockSurface(screen) < 0 ) { - fprintf(stderr, "Couldn't lock the display surface: %s\n", - SDL_GetError()); - exit(2); - } - buffer=(Uint8 *)screen->pixels; - for ( i=0; ih; ++i ) { - memset(buffer,(i*255)/screen->h, screen->pitch); - buffer += screen->pitch; - } - SDL_UnlockSurface(screen); - SDL_UpdateRect(screen, 0, 0, 0, 0); - - /* Load the bitmap */ - bitmap = LoadXBM(screen, picture_width, picture_height, - (Uint8 *)picture_bits); - if ( bitmap == NULL ) { - exit(1); - } - - /* Wait for a keystroke */ - done = 0; - while ( !done ) { - /* Check for events */ - while ( SDL_PollEvent(&event) ) { - switch (event.type) { - case SDL_MOUSEBUTTONDOWN: { - SDL_Rect dst; - - dst.x = event.button.x - bitmap->w/2; - dst.y = event.button.y - bitmap->h/2; - dst.w = bitmap->w; - dst.h = bitmap->h; - SDL_BlitSurface(bitmap, NULL, - screen, &dst); - SDL_UpdateRects(screen,1,&dst); - } - break; + screen = SDL_SetVideoMode(320, 200, 8, SDL_SWSURFACE); + while (!done) + { + while (SDL_PollEvent(&event)) + { + switch (event.type) + { case SDL_KEYDOWN: - /* Any key press quits the app... */ - done = 1; - break; case SDL_QUIT: done = 1; break; default: break; } - - // We can use Newlib functions with Menuetlibc library SDL! - // For example: - draw_bar(10, 10, 50, 50, 0xFFFFFF); } } - SDL_FreeSurface(bitmap); - SDL_Quit(); - return 0; } diff --git a/programs/demos/SDL/picture.xbm b/programs/demos/SDL/picture.xbm deleted file mode 100755 index c873a60a18..0000000000 --- a/programs/demos/SDL/picture.xbm +++ /dev/null @@ -1,14 +0,0 @@ -#define picture_width 32 -#define picture_height 32 -static char picture_bits[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x80, 0x01, 0x18, - 0x64, 0x6f, 0xf6, 0x26, 0x0a, 0x00, 0x00, 0x50, 0xf2, 0xff, 0xff, 0x4f, - 0x14, 0x04, 0x00, 0x28, 0x14, 0x0e, 0x00, 0x28, 0x10, 0x32, 0x00, 0x08, - 0x94, 0x03, 0x00, 0x08, 0xf4, 0x04, 0x00, 0x08, 0xb0, 0x08, 0x00, 0x08, - 0x34, 0x01, 0x00, 0x28, 0x34, 0x01, 0x00, 0x28, 0x12, 0x00, 0x40, 0x48, - 0x12, 0x20, 0xa6, 0x48, 0x14, 0x50, 0x11, 0x29, 0x14, 0x50, 0x48, 0x2a, - 0x10, 0x27, 0xac, 0x0e, 0xd4, 0x71, 0xe8, 0x0a, 0x74, 0x20, 0xa8, 0x0a, - 0x14, 0x20, 0x00, 0x08, 0x10, 0x50, 0x00, 0x08, 0x14, 0x00, 0x00, 0x28, - 0x14, 0x00, 0x00, 0x28, 0xf2, 0xff, 0xff, 0x4f, 0x0a, 0x00, 0x00, 0x50, - 0x64, 0x6f, 0xf6, 0x26, 0x18, 0x80, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};