Mercurial > projects > ldc
annotate demos/sdl.d @ 715:30b42a283c8e
Removed TypeOpaque from DMD.
Changed runtime functions taking opaque[] to void[].
Implemented proper type painting, to avoid "resizing" array casts in runtime calls that previously took opaque[].
Implemented dynamic arrays as first class types, this implements proper ABI for these types on x86.
Added dwarf region end after call to assert function, fixes some problems with llvm not allowing this to be missing.
Reverted change to WithStatement from rev [704] it breaks MiniD, mini/with2.d needs to be fixed some other way...
Fixed tango bug 1339 in runtime, problem with _adReverseChar on invalid UTF-8.
Disabled .bc generation in the compiler runtime part, genobj.d triggers some llvm bug when using debug info. the .o seems to work fine.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Wed, 22 Oct 2008 14:55:33 +0200 |
parents | 0b9b286b67b6 |
children |
rev | line source |
---|---|
38
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
1 module sdl; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
2 |
42 | 3 version(build) pragma(link,"SDL"); |
38
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
4 |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
5 extern(C): |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
6 struct SDL_Rect { |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
7 short x, y; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
8 ushort w, h; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
9 } |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
10 struct SDL_PixelFormat { |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
11 //SDL_Palette *palette; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
12 void *palette; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
13 ubyte BitsPerPixel, BytesPerPixel, Rloss, Gloss, Bloss, Aloss, Rshift, Gshift, Bshift, Ashift; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
14 uint Rmask, Gmask, Bmask, Amask, colorkey; ubyte alpha; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
15 } |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
16 struct SDL_Surface { |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
17 uint flags; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
18 SDL_PixelFormat *format; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
19 int w, h; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
20 ushort pitch; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
21 void *pixels; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
22 int offset; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
23 void *hwdata; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
24 SDL_Rect clip_rect; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
25 uint unused; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
26 uint locked; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
27 void *map; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
28 uint format_version; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
29 int refcount; |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
30 } |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
31 uint SDL_MapRGBA(SDL_PixelFormat *format, ubyte r, ubyte g, ubyte b, ubyte a); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
32 void SDL_GetRGBA(uint pixel, SDL_PixelFormat *fmt, ubyte *r, ubyte *g, ubyte *b, ubyte *a); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
33 int SDL_LockSurface(SDL_Surface *); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
34 void SDL_UnlockSurface(SDL_Surface *); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
35 SDL_Surface * SDL_SetVideoMode(int width, int height, int bpp, uint flags); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
36 int SDL_Flip(SDL_Surface *); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
37 void SDL_Delay(uint); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
38 int SDL_FillRect(SDL_Surface*,SDL_Rect*,uint); |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
39 enum : uint { |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
40 SDL_SWSURFACE=0, |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
41 SDL_HWSURFACE=1, |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
42 SDL_DOUBLEBUF=0x40000000, |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
43 SDL_FULLSCREEN=0x80000000 |
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
44 } |
42 | 45 enum { |
46 SDL_GL_RED_SIZE, | |
47 SDL_GL_GREEN_SIZE, | |
48 SDL_GL_BLUE_SIZE, | |
49 SDL_GL_ALPHA_SIZE, | |
50 SDL_GL_BUFFER_SIZE, | |
51 SDL_GL_DOUBLEBUFFER, | |
52 SDL_GL_DEPTH_SIZE, | |
53 SDL_GL_STENCIL_SIZE, | |
54 SDL_GL_ACCUM_RED_SIZE, | |
55 SDL_GL_ACCUM_GREEN_SIZE, | |
56 SDL_GL_ACCUM_BLUE_SIZE, | |
57 SDL_GL_ACCUM_ALPHA_SIZE, | |
58 SDL_GL_STEREO, | |
59 SDL_GL_MULTISAMPLEBUFFERS, | |
60 SDL_GL_MULTISAMPLESAMPLES, | |
61 SDL_GL_ACCELERATED_VISUAL, | |
62 SDL_GL_SWAP_CONTROL | |
63 } | |
64 int SDL_GL_LoadLibrary(char*); | |
65 void* SDL_GL_GetProcAddress(char*); | |
66 int SDL_GL_SetAttribute(int,int); | |
67 int SDL_GL_GetAttribute(int,int*); | |
68 void SDL_GL_SwapBuffers(); | |
69 void SDL_GL_UpdateRects(int,SDL_Rect*); | |
70 void SDL_GL_Lock(); | |
71 void SDL_GL_Unlock(); | |
72 enum : uint { | |
73 SDL_INIT_TIMER=0x00000001, | |
74 SDL_INIT_AUDIO=0x00000010, | |
75 SDL_INIT_VIDEO=0x00000020, | |
76 SDL_INIT_CDROM=0x00000100, | |
77 SDL_INIT_JOYSTICK=0x00000200, | |
78 SDL_INIT_NOPARACHUTE=0x00100000, | |
79 SDL_INIT_EVENTTHREAD=0x00200000, | |
80 SDL_INIT_EVERYTHING=0x0000FFFF | |
81 } | |
38
27b2f40bdb58
[svn r42] Disabled the extensive logging by default. Use the -vv flag to get it back.
lindquist
parents:
diff
changeset
|
82 |
42 | 83 int SDL_Init(uint); |
84 int SDL_InitSubSystem(uint); | |
85 int SDL_QuitSubSystem(uint); | |
86 int SDL_WasInit(uint); | |
87 void SDL_Quit(); |