Rev 7117 | Rev 8202 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
6382 | ashmew2 | 1 | /* Instructions to compile this file with newlib (Assuming you have set up environment |
2 | |||
3 | kos32-gcc -c -I/home/bob/kolibrios/contrib/sdk/sources/newlib/libc/include -I/home/bob/kolibrios/contrib/sdk/sources/libpng/ -I/home/bob/kolibrios/contrib/sdk/sources/zlib -I/home/bob/kolibrios/contrib/sdk/sources/freetype/include -I/home/bob/kolibrios/contrib/sdk/sources/freetype/include -I/home/bob/kolibrios/contrib/sdk/sources/SDL-1.2.2/include/ -std=c99 -D_KOLIBRIOS -Dnskolibrios -g -Wundef -U_Win32 -U_WIN32 -U__MINGW32__ SDLTest.c |
||
4 | |||
5 | kos32-ld SDLTest.o -T/home/bob/kolibrios/contrib/sdk/sources/newlib/libc/app.lds -nostdlib -static --image-base 0 -lgcc -L/home/autobuild/tools/win32/mingw32/lib /home/autobuild/tools/win32/lib/libdll.a /home/autobuild/tools/win32/lib/libapp.a /home/autobuild/tools/win32/lib/libSDL.a /home/autobuild/tools/win32/lib/libc.dll.a -static -o sdltest |
||
6 | |||
7 | objcopy -O binary sdltest |
||
8 | |||
9 | Now sdltest is your binary to run on Kolibri for SDL Demo. |
||
10 | |||
8200 | maxcodehac | 11 | -- ashmew2 |
12 | |||
13 | You can found Makefile |
||
14 | -- maxcodehack |
||
7117 | dunkaist | 15 | */ |
6382 | ashmew2 | 16 | |
17 | #include |
||
18 | #include |
||
19 | |||
20 | #define WIDTH 640 |
||
21 | #define HEIGHT 480 |
||
22 | #define BPP 4 |
||
23 | #define DEPTH 32 |
||
24 | |||
25 | void setpixel(SDL_Surface *screen, int x, int y, Uint8 r, Uint8 g, Uint8 b) |
||
26 | { |
||
27 | Uint32 *pixmem32; |
||
28 | Uint32 colour; |
||
29 | |||
30 | colour = SDL_MapRGB( screen->format, r, g, b ); |
||
31 | |||
32 | pixmem32 = (Uint32*) screen->pixels + y + x; |
||
33 | *pixmem32 = colour; |
||
34 | } |
||
35 | |||
36 | |||
37 | void DrawScreen(SDL_Surface* screen, int h) |
||
38 | { |
||
39 | int x, y, ytimesw; |
||
40 | |||
41 | if(SDL_MUSTLOCK(screen)) |
||
42 | { |
||
43 | if(SDL_LockSurface(screen) < 0) return; |
||
44 | } |
||
45 | |||
46 | for(y = 0; y < screen->h; y++ ) |
||
47 | { |
||
48 | ytimesw = y*screen->pitch/BPP; |
||
49 | for( x = 0; x < screen->w; x++ ) |
||
50 | { |
||
51 | setpixel(screen, x, ytimesw, (x*x)/256+3*y+h, (y*y)/256+x+h, h); |
||
52 | } |
||
53 | } |
||
54 | if(SDL_MUSTLOCK(screen)) SDL_UnlockSurface(screen); |
||
55 | |||
56 | SDL_Flip(screen); |
||
57 | } |
||
58 | |||
59 | |||
60 | int main(int argc, char* argv[]) |
||
61 | { |
||
62 | SDL_Surface *screen; |
||
63 | SDL_Event event; |
||
64 | |||
65 | int keypress = 0; |
||
66 | int h=0; |
||
67 | |||
68 | if (SDL_Init(SDL_INIT_VIDEO) < 0 ) return 1; |
||
69 | |||
70 | if (!(screen = SDL_SetVideoMode(WIDTH, HEIGHT, DEPTH, SDL_FULLSCREEN|SDL_HWSURFACE))) |
||
71 | { |
||
72 | SDL_Quit(); |
||
73 | return 1; |
||
74 | } |
||
75 | |||
76 | while(!keypress) |
||
77 | { |
||
78 | DrawScreen(screen,h++); |
||
79 | while(SDL_PollEvent(&event)) |
||
80 | { |
||
81 | switch (event.type) |
||
82 | { |
||
83 | case SDL_QUIT: |
||
84 | keypress = 1; |
||
85 | break; |
||
86 | case SDL_KEYDOWN: |
||
87 | keypress = 1; |
||
88 | break; |
||
89 | } |
||
90 | } |
||
91 | } |
||
92 | |||
93 | SDL_Quit(); |
||
94 | |||
95 | return 0; |
||
96 | }>>>> |