Merge remote branch 'origin/master' into divVerent/crypto2
authorRudolf Polzer <divverent@alientrap.org>
Sat, 17 Jul 2010 15:05:09 +0000 (17:05 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Sat, 17 Jul 2010 15:05:09 +0000 (17:05 +0200)
Conflicts:
all

49 files changed:
Docs/mapping.txt
all
data/font-nimbussansl.pk3dir/font-nimbussansl.cfg
data/font-nimbussansl.pk3dir/fonts/NimbusSanL-Bold.ttf [deleted file]
data/font-nimbussansl.pk3dir/fonts/n019004l.afm [new file with mode: 0644]
data/font-nimbussansl.pk3dir/fonts/n019004l.pfb [new file with mode: 0644]
data/font-nimbussansl.pk3dir/fonts/n019004l.pfm [new file with mode: 0644]
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_active.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_audio.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_byteorder.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_cdrom.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config_dreamcast.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config_macos.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config_macosx.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config_os2.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_config_win32.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_copying.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_cpuinfo.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_endian.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_error.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_events.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_getenv.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_joystick.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_keyboard.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_keysym.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_loadso.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_main.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_mouse.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_mutex.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_opengl.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_platform.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_quit.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_rwops.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_stdinc.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_syswm.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_thread.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_timer.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_types.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_version.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/SDL_video.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/begin_code.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Headers/close_code.h
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/Info.plist
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/classes.nib [deleted file]
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/info.nib [deleted file]
misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/SDL
misc/tools/xonotic-map-compiler-autobuild

index abbf646..c46d699 100644 (file)
@@ -107,20 +107,22 @@ have weapon entities placed.
 
 There's much more power in a mapinfo file. See Appendix A for more details.
 
-Gametype        | Syntax                                                                              | Notes
-----------------+-------------------------------------------------------------------------------------+-------------------------------------------------------
-Deathmatch      | type dm    <fraglimit>  <timelimit>                                                 |
-Team Deathmatch | type tdm   <fraglimit>  <timelimit> <teams>                                         | 2, 3, or 4 teams
-Domination      | type dom   <pointlimit> <timelimit>                                                 | teams are set by the map's entities
-CTF             | type ctf   <pointlimit> <timelimit> <caplimit>                                      | pointlimit if g_ctf_win_mode is 2, otherwise caplimit
-Runematch       | type rune  <pointlimit> <timelimit>                                                 |
-LMS             | type lms   <lives>      <timelimit>                                                 |
-Arena           | type arena <fraglimit>  <timelimit>                                                 |
-Key Hunt        | type kh    <pointlimit> <timelimit> <teams>                                         | 2, 3, or 4 teams
-Assault         | type as                 <timelimit>                                                 | never uses points
-Onslaught       | type ons                <timelimit>                                                 | never uses points
-Race            | type rc                 <timelimit> <qualifyingtimelimit> <laplimit> <teamlaplimit> | g_race_teams: teamlaplimit is used instead of laplimit
-CTS             | type cts                <timelimit> <skill>                                         | never uses points
+Gametype        | Syntax                                                                                            | Notes
+----------------+---------------------------------------------------------------------------------------------------+-------------------------------------------------------
+Deathmatch      | type dm      <fraglimit>  <timelimit>                                                 <leadlimit> |
+Team Deathmatch | type tdm     <fraglimit>  <timelimit> <teams>                                         <leadlimit> | 2, 3, or 4 teams
+Domination      | type dom     <pointlimit> <timelimit>                                                 <leadlimit> | teams are set by the map's entities
+CTF             | type ctf     <pointlimit> <timelimit> <caplimit>                                      <leadlimit> | pointlimit if g_ctf_win_mode is 2, otherwise caplimit
+Runematch       | type rune    <pointlimit> <timelimit>                                                 <leadlimit> |
+LMS             | type lms     <lives>      <timelimit>                                                 <leadlimit> |
+Arena           | type arena   <fraglimit>  <timelimit>                                                 <leadlimit> |
+Key Hunt        | type kh      <pointlimit> <timelimit> <teams>                                         <leadlimit> | 2, 3, or 4 teams
+Assault         | type as                   <timelimit>                                                             | never uses points
+Onslaught       | type ons                  <timelimit>                                                             | never uses points
+Race            | type rc                   <timelimit> <qualifyingtimelimit> <laplimit> <teamlaplimit> <leadlimit> | g_race_teams: teamlaplimit is used instead of laplimit
+CTS             | type cts                  <timelimit> <skill>                                                     | never uses points
+CA              | type dm      <fraglimit>  <timelimit>                                                 <leadlimit> |
+Nexball         | type dm      <fraglimit>  <timelimit>                                                 <leadlimit> |
 
 
 ===============
diff --git a/all b/all
index e62d477..d85c097 100755 (executable)
--- a/all
+++ b/all
@@ -25,7 +25,6 @@ case "$0" in
                case "`uname`" in
                        MINGW*|Win*)
                                # Windows hates users. So this script has to copy itself elsewhere first...
-                               tname=
                                cp "$SELF" ../all.xonotic.sh
                                export WE_HATE_OUR_USERS=1
                                exec ../all.xonotic.sh "$@"
@@ -400,7 +399,7 @@ case "$cmd" in
                        fi
                        rem=`git config "branch.$r.remote" || echo origin`
                        bra=`git config "branch.$r.merge" || echo "$r"`
-                       upstream="$rem/$bra"
+                       upstream="$rem/${bra#refs/heads/}"
                        if ! git rev-parse "$upstream" >/dev/null 2>&1; then
                                upstream="origin/`repobranch "$d"`"
                        fi
@@ -426,9 +425,17 @@ case "$cmd" in
                        if [ -z "$CC" ]; then
                                export CC=gcc
                        fi
-               elif [ x"`uname`" = x"Darwin" ] && { [ -d /Library/Frameworks/SDL.framework ] || [ -d "$HOME/Library/Frameworks/SDL.framework" ]; }; then
-                       # AGL is broken in Snow Leopard, so let's default to SDL if it is available.
-                       TARGETS="sv-debug sdl-debug"
+               elif [ x"`uname`" = x"Darwin" ]; then
+                       case "`uname -r`" in
+                               ?.*)
+                                       TARGETS="sv-debug cl-debug sdl-debug"
+                                       ;;
+                               *)
+                                       # AGL cannot be compiled on systems with a kernel > 10.x (Snow Leopard)
+                                       TARGETS="sv-debug sdl-debug"
+                                       ;;
+                       esac
+                       export CC="gcc -I$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Headers -F$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks"
                else
                        TARGETS="sv-debug cl-debug sdl-debug"
                fi
@@ -526,6 +533,7 @@ case "$cmd" in
                        export PATH="$d0/misc/buildfiles/w32:$d0/d0_blind_id/.libs/$PATH"
                elif [ x"`uname`" = x"Darwin" ]; then
                        export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS:$d0/d0_blind_id/.libs"
+                       export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks"
                        client=-sdl
                else
                        export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs"
@@ -549,7 +557,7 @@ case "$cmd" in
                                exit 1
                        fi
                fi
-               set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic "$@"
+               set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic -mygames "$@"
 
                # if pulseaudio is running: USE IT
                if [ -z "$SDL_AUDIODRIVER" ] && ! [ -n "$WE_HATE_OUR_USERS" ] && ! [ x"`uname`" = x"Darwin" ]; then
@@ -716,13 +724,13 @@ case "$cmd" in
                                                        git push origin :"${ref#refs/remotes/origin/}"
                                                        reportecho4 "--> branch deleted"
                                                fi
-                                       elif [ -n "$note" ]; then
+                                       elif [ -z "$branch" ] && [ -n "$note" ]; then
                                                reportdo4 echo "$note"
                                                reportecho4 "--> not merging, already had this one rejected before"
                                        elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ echo "$logdata"; echo "$diffdata"; } | less -r'; then
                                                git checkout "$realbase"
                                                org=`git rev-parse HEAD`
-                                               if ! git merge "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1   ' >/dev/null; }; then
+                                               if ! git merge --no-ff "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1   ' >/dev/null; }; then
                                                        git reset --hard "$org"
                                                        GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Merge failed:$LF`cat "$t"`" "$ref"
                                                        reportdo4 cat "$t"
index e618aa0..fbf2d98 100644 (file)
@@ -4,11 +4,11 @@ r_font_hinting 1 // sorry, setting 2 (full autohinting) totally fails for unifon
 r_font_disable_freetype 0
 r_font_size_snapping 2
 loadfont console fonts/unifont-5.1.20080907,gfx/conchars $con_textsize
-loadfont notify fonts/NimbusSanL-Bold,gfx/conchars $con_notifysize
-loadfont chat fonts/NimbusSanL-Bold,gfx/conchars $con_chatsize
+loadfont notify fonts/n019004l.pfb,gfx/conchars $con_notifysize
+loadfont chat fonts/n019004l.pfb,gfx/conchars $con_chatsize
 loadfont centerprint fonts/unifont-5.1.20080907,gfx/conchars 9
 loadfont infobar gfx/conchars 8
-loadfont user0 fonts/NimbusSanL-Bold,fonts/unifont-5.1.20080907,gfx/conchars 9.6 12 12.8 16
-loadfont user1 fonts/NimbusSanL-Bold,fonts/unifont-5.1.20080907,gfx/conchars 4 5 6 7 8 9 10 12 $sbar_fontsize $scr_centersize // csqc font
-loadfont user2 fonts/NimbusSanL-Bold,fonts/unifont-5.1.20080907,gfx/conchars 10 12 14 16 20 24 28 32 // csqc bigfont
+loadfont user0 fonts/n019004l.pfb,fonts/unifont-5.1.20080907,gfx/conchars 9.6 12 12.8 16
+loadfont user1 fonts/n019004l.pfb,fonts/unifont-5.1.20080907,gfx/conchars 4 5 6 7 8 9 10 12 $sbar_fontsize $scr_centersize // csqc font
+loadfont user2 fonts/n019004l.pfb,fonts/unifont-5.1.20080907,gfx/conchars 10 12 14 16 20 24 28 32 // csqc bigfont
 sbar_columns_set
diff --git a/data/font-nimbussansl.pk3dir/fonts/NimbusSanL-Bold.ttf b/data/font-nimbussansl.pk3dir/fonts/NimbusSanL-Bold.ttf
deleted file mode 100644 (file)
index 66a29cb..0000000
Binary files a/data/font-nimbussansl.pk3dir/fonts/NimbusSanL-Bold.ttf and /dev/null differ
diff --git a/data/font-nimbussansl.pk3dir/fonts/n019004l.afm b/data/font-nimbussansl.pk3dir/fonts/n019004l.afm
new file mode 100644 (file)
index 0000000..ba7825a
--- /dev/null
@@ -0,0 +1,1557 @@
+StartFontMetrics 2.0
+Comment Generated by pfaedit
+Comment Creation Date: Tue Dec 31 16:51:23 2002
+FontName NimbusSanL-Bold
+FullName Nimbus Sans L Bold
+FamilyName Nimbus Sans L
+Weight Bold
+Notice (Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development; Cyrillic glyphs added by Valek Filippov (C) 2001-2002)
+ItalicAngle 0
+IsFixedPitch false
+UnderlinePosition -155
+UnderlineThickness 69
+Version 1.06
+EncodingScheme AdobeStandardEncoding
+FontBBox -173 -307 1097 979
+CapHeight 729
+XHeight 540
+Ascender 729
+Descender -218
+StartCharMetrics 558
+C 0 ; WX 278 ; N .notdef ; B 0 0 0 0 ;
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 112 0 262 726 ;
+C 34 ; WX 474 ; N quotedbl ; B 50 470 424 729 ;
+C 35 ; WX 556 ; N numbersign ; B 3 -32 553 697 ;
+C 36 ; WX 556 ; N dollar ; B 22 -126 527 763 ;
+C 37 ; WX 889 ; N percent ; B 22 -20 863 709 ;
+C 38 ; WX 722 ; N ampersand ; B 55 -23 694 723 ;
+C 39 ; WX 278 ; N quoteright ; B 66 469 201 729 ;
+C 40 ; WX 333 ; N parenleft ; B 40 -200 303 729 ;
+C 41 ; WX 333 ; N parenright ; B 22 -200 285 729 ;
+C 42 ; WX 389 ; N asterisk ; B 23 407 357 729 ;
+C 43 ; WX 584 ; N plus ; B 50 -10 533 473 ;
+C 44 ; WX 278 ; N comma ; B 64 -174 214 146 ;
+C 45 ; WX 333 ; N hyphen ; B 26 207 298 342 ;
+C 46 ; WX 278 ; N period ; B 64 0 214 146 ;
+C 47 ; WX 278 ; N slash ; B 2 -14 275 714 ;
+C 48 ; WX 556 ; N zero ; B 29 -23 517 724 ;
+C 49 ; WX 556 ; N one ; B 68 0 378 709 ;
+C 50 ; WX 556 ; N two ; B 30 0 515 724 ;
+C 51 ; WX 556 ; N three ; B 29 -23 516 724 ;
+C 52 ; WX 556 ; N four ; B 24 0 522 709 ;
+C 53 ; WX 556 ; N five ; B 27 -23 517 709 ;
+C 54 ; WX 556 ; N six ; B 32 -23 519 724 ;
+C 55 ; WX 556 ; N seven ; B 29 0 528 709 ;
+C 56 ; WX 556 ; N eight ; B 22 -23 525 724 ;
+C 57 ; WX 556 ; N nine ; B 28 -24 516 724 ;
+C 58 ; WX 333 ; N colon ; B 113 0 263 520 ;
+C 59 ; WX 333 ; N semicolon ; B 113 -174 263 520 ;
+C 60 ; WX 584 ; N less ; B 40 -10 529 474 ;
+C 61 ; WX 584 ; N equal ; B 50 52 534 411 ;
+C 62 ; WX 584 ; N greater ; B 40 -10 529 474 ;
+C 63 ; WX 611 ; N question ; B 64 0 556 744 ;
+C 64 ; WX 975 ; N at ; B 27 -138 947 745 ;
+C 65 ; WX 722 ; N A ; B 26 0 703 729 ;
+C 66 ; WX 722 ; N B ; B 82 0 666 729 ;
+C 67 ; WX 722 ; N C ; B 44 -23 685 741 ;
+C 68 ; WX 722 ; N D ; B 77 0 681 729 ;
+C 69 ; WX 667 ; N E ; B 79 0 624 729 ;
+C 70 ; WX 611 ; N F ; B 74 0 586 729 ;
+C 71 ; WX 778 ; N G ; B 42 -23 711 741 ;
+C 72 ; WX 722 ; N H ; B 68 0 657 729 ;
+C 73 ; WX 278 ; N I ; B 63 0 213 729 ; L J IJ ;
+C 74 ; WX 556 ; N J ; B 24 -23 486 729 ;
+C 75 ; WX 722 ; N K ; B 74 0 717 729 ;
+C 76 ; WX 611 ; N L ; B 80 0 579 729 ;
+C 77 ; WX 833 ; N M ; B 66 0 776 729 ;
+C 78 ; WX 722 ; N N ; B 68 0 661 729 ;
+C 79 ; WX 778 ; N O ; B 40 -23 742 741 ;
+C 80 ; WX 667 ; N P ; B 76 0 633 729 ;
+C 81 ; WX 778 ; N Q ; B 43 -54 745 741 ;
+C 82 ; WX 722 ; N R ; B 80 0 677 729 ;
+C 83 ; WX 667 ; N S ; B 32 -23 633 741 ;
+C 84 ; WX 611 ; N T ; B 14 0 598 729 ;
+C 85 ; WX 722 ; N U ; B 76 -23 654 729 ;
+C 86 ; WX 667 ; N V ; B 24 0 647 729 ;
+C 87 ; WX 944 ; N W ; B 13 0 932 729 ;
+C 88 ; WX 667 ; N X ; B 22 0 653 729 ;
+C 89 ; WX 667 ; N Y ; B 27 0 650 729 ;
+C 90 ; WX 611 ; N Z ; B 30 0 578 729 ;
+C 91 ; WX 333 ; N bracketleft ; B 66 -200 308 729 ;
+C 92 ; WX 278 ; N backslash ; B -12 -14 289 714 ;
+C 93 ; WX 333 ; N bracketright ; B 18 -200 260 729 ;
+C 94 ; WX 584 ; N asciicircum ; B 61 270 522 695 ;
+C 95 ; WX 556 ; N underscore ; B -22 -189 578 -120 ;
+C 96 ; WX 278 ; N quoteleft ; B 67 469 202 729 ;
+C 97 ; WX 556 ; N a ; B 28 -23 524 549 ;
+C 98 ; WX 611 ; N b ; B 59 -23 575 729 ;
+C 99 ; WX 556 ; N c ; B 34 -23 522 549 ;
+C 100 ; WX 611 ; N d ; B 29 -23 545 729 ;
+C 101 ; WX 556 ; N e ; B 22 -23 525 549 ;
+C 102 ; WX 333 ; N f ; B 14 0 313 729 ; L l fl ; L i fi ;
+C 103 ; WX 611 ; N g ; B 34 -218 541 549 ;
+C 104 ; WX 611 ; N h ; B 67 0 541 729 ;
+C 105 ; WX 278 ; N i ; B 67 0 207 729 ; L j ij ;
+C 106 ; WX 278 ; N j ; B 4 -218 210 729 ;
+C 107 ; WX 556 ; N k ; B 59 0 548 729 ;
+C 108 ; WX 278 ; N l ; B 67 0 207 729 ;
+C 109 ; WX 889 ; N m ; B 60 0 824 549 ;
+C 110 ; WX 611 ; N n ; B 63 0 546 549 ;
+C 111 ; WX 611 ; N o ; B 35 -23 569 549 ;
+C 112 ; WX 611 ; N p ; B 58 -218 574 549 ;
+C 113 ; WX 611 ; N q ; B 28 -218 544 549 ;
+C 114 ; WX 389 ; N r ; B 63 0 370 549 ;
+C 115 ; WX 556 ; N s ; B 29 -23 520 549 ;
+C 116 ; WX 333 ; N t ; B 14 -23 301 674 ;
+C 117 ; WX 611 ; N u ; B 58 -23 541 540 ;
+C 118 ; WX 556 ; N v ; B 14 0 536 540 ;
+C 119 ; WX 778 ; N w ; B 5 0 766 540 ;
+C 120 ; WX 556 ; N x ; B 16 0 535 540 ;
+C 121 ; WX 556 ; N y ; B 9 -219 538 540 ;
+C 122 ; WX 500 ; N z ; B 21 0 468 540 ;
+C 123 ; WX 389 ; N braceleft ; B 37 -200 317 729 ;
+C 124 ; WX 280 ; N bar ; B 100 -200 180 729 ;
+C 125 ; WX 389 ; N braceright ; B 72 -200 352 729 ;
+C 126 ; WX 584 ; N asciitilde ; B 60 142 519 314 ;
+C 161 ; WX 333 ; N exclamdown ; B 66 -186 216 540 ;
+C 162 ; WX 556 ; N cent ; B 36 -124 522 634 ;
+C 163 ; WX 556 ; N sterling ; B 31 -23 537 715 ;
+C 164 ; WX 167 ; N fraction ; B -173 -20 337 715 ;
+C 165 ; WX 556 ; N yen ; B 5 0 552 704 ;
+C 166 ; WX 556 ; N florin ; B 21 -220 535 744 ;
+C 167 ; WX 556 ; N section ; B 33 -201 518 723 ;
+C 168 ; WX 556 ; N currency ; B 26 100 530 604 ;
+C 169 ; WX 238 ; N quotesingle ; B 50 470 188 729 ;
+C 170 ; WX 500 ; N quotedblleft ; B 71 469 433 729 ;
+C 171 ; WX 556 ; N guillemotleft ; B 88 72 468 481 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 83 72 250 481 ;
+C 173 ; WX 333 ; N guilsinglright ; B 80 72 247 481 ;
+C 174 ; WX 611 ; N fi ; B 9 0 548 729 ;
+C 175 ; WX 611 ; N fl ; B 12 0 546 729 ;
+C 177 ; WX 556 ; N endash ; B -9 207 557 311 ;
+C 178 ; WX 556 ; N dagger ; B 31 -194 523 709 ;
+C 179 ; WX 556 ; N daggerdbl ; B 28 -194 520 709 ;
+C 180 ; WX 278 ; N periodcentered ; B 64 169 188 292 ;
+C 182 ; WX 556 ; N paragraph ; B 19 -191 529 729 ;
+C 183 ; WX 350 ; N bullet ; B 50 175 300 425 ;
+C 184 ; WX 278 ; N quotesinglbase ; B 66 -135 201 125 ;
+C 185 ; WX 500 ; N quotedblbase ; B 72 -135 432 125 ;
+C 186 ; WX 500 ; N quotedblright ; B 73 469 440 729 ;
+C 187 ; WX 556 ; N guillemotright ; B 88 72 462 481 ;
+C 188 ; WX 1000 ; N ellipsis ; B 92 0 908 146 ;
+C 189 ; WX 1000 ; N perthousand ; B 11 -22 990 739 ;
+C 191 ; WX 611 ; N questiondown ; B 51 -204 544 540 ;
+C 193 ; WX 333 ; N grave ; B 17 607 213 757 ;
+C 194 ; WX 333 ; N acute ; B 121 607 317 757 ;
+C 195 ; WX 333 ; N circumflex ; B 8 607 326 757 ;
+C 196 ; WX 333 ; N tilde ; B -9 621 345 749 ;
+C 197 ; WX 333 ; N macron ; B 16 640 315 719 ;
+C 198 ; WX 333 ; N breve ; B 35 605 299 748 ;
+C 199 ; WX 333 ; N dotaccent ; B 112 621 222 743 ;
+C 200 ; WX 333 ; N dieresis ; B 18 621 314 743 ;
+C 202 ; WX 333 ; N ring ; B 77 590 257 770 ;
+C 203 ; WX 333 ; N cedilla ; B 27 -220 294 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B -44 610 340 757 ;
+C 206 ; WX 333 ; N ogonek ; B 45 -234 268 0 ;
+C 207 ; WX 333 ; N caron ; B 9 607 327 757 ;
+C 208 ; WX 1000 ; N emdash ; B -7 207 1003 311 ;
+C 225 ; WX 1000 ; N AE ; B 1 0 966 729 ;
+C 227 ; WX 370 ; N ordfeminine ; B 31 262 329 729 ;
+C 232 ; WX 611 ; N Lslash ; B 0 0 597 729 ;
+C 233 ; WX 778 ; N Oslash ; B 31 -39 755 749 ;
+C 234 ; WX 1000 ; N OE ; B 28 -23 970 741 ;
+C 235 ; WX 365 ; N ordmasculine ; B 23 262 343 729 ;
+C 241 ; WX 889 ; N ae ; B 27 -24 857 549 ;
+C 245 ; WX 278 ; N dotlessi ; B 67 0 207 540 ;
+C 248 ; WX 278 ; N lslash ; B 0 0 252 729 ;
+C 249 ; WX 611 ; N oslash ; B 11 -38 598 557 ;
+C 250 ; WX 944 ; N oe ; B 23 -23 920 549 ;
+C 251 ; WX 611 ; N germandbls ; B 67 -17 575 729 ;
+C -1 ; WX 722 ; N Adieresis ; B 26 0 703 922 ;
+C -1 ; WX 722 ; N Aacute ; B 26 0 703 936 ;
+C -1 ; WX 722 ; N Agrave ; B 26 0 703 936 ;
+C -1 ; WX 722 ; N Acircumflex ; B 26 0 703 936 ;
+C -1 ; WX 722 ; N Abreve ; B 26 0 703 927 ;
+C -1 ; WX 722 ; N Atilde ; B 26 0 703 928 ;
+C -1 ; WX 722 ; N Aring ; B 26 0 703 949 ;
+C -1 ; WX 722 ; N Aogonek ; B 26 -233 723 729 ;
+C -1 ; WX 722 ; N Ccedilla ; B 44 -220 685 741 ;
+C -1 ; WX 722 ; N Cacute ; B 44 -23 685 936 ;
+C -1 ; WX 722 ; N Ccaron ; B 44 -23 685 936 ;
+C -1 ; WX 722 ; N Dcaron ; B 77 0 681 936 ;
+C -1 ; WX 667 ; N Edieresis ; B 79 0 624 922 ;
+C -1 ; WX 667 ; N Eacute ; B 79 0 624 936 ;
+C -1 ; WX 667 ; N Egrave ; B 79 0 624 936 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 79 0 624 936 ;
+C -1 ; WX 667 ; N Ecaron ; B 79 0 624 936 ;
+C -1 ; WX 667 ; N Edotaccent ; B 79 0 624 922 ;
+C -1 ; WX 667 ; N Eogonek ; B 79 -233 648 729 ;
+C -1 ; WX 778 ; N Gbreve ; B 42 -23 711 927 ;
+C -1 ; WX 278 ; N Idieresis ; B -9 0 287 922 ;
+C -1 ; WX 278 ; N Iacute ; B 63 0 290 936 ;
+C -1 ; WX 278 ; N Igrave ; B -10 0 213 936 ;
+C -1 ; WX 278 ; N Icircumflex ; B -19 0 299 936 ;
+C -1 ; WX 278 ; N Idotaccent ; B 63 0 213 922 ;
+C -1 ; WX 611 ; N Lacute ; B 80 0 579 936 ;
+C -1 ; WX 611 ; N Lcaron ; B 80 0 579 729 ;
+C -1 ; WX 722 ; N Nacute ; B 68 0 661 936 ;
+C -1 ; WX 722 ; N Ncaron ; B 68 0 661 936 ;
+C -1 ; WX 722 ; N Ntilde ; B 68 0 661 928 ;
+C -1 ; WX 778 ; N Odieresis ; B 40 -23 742 922 ;
+C -1 ; WX 778 ; N Oacute ; B 40 -23 742 936 ;
+C -1 ; WX 778 ; N Ograve ; B 40 -23 742 936 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 40 -23 742 936 ;
+C -1 ; WX 778 ; N Otilde ; B 40 -23 742 928 ;
+C -1 ; WX 778 ; N Ohungarumlaut ; B 40 -23 742 936 ;
+C -1 ; WX 722 ; N Racute ; B 80 0 677 936 ;
+C -1 ; WX 722 ; N Rcaron ; B 80 0 677 936 ;
+C -1 ; WX 667 ; N Sacute ; B 32 -23 633 936 ;
+C -1 ; WX 667 ; N Scaron ; B 32 -23 633 936 ;
+C -1 ; WX 667 ; N Scedilla ; B 32 -220 633 741 ;
+C -1 ; WX 611 ; N Tcaron ; B 14 0 598 936 ;
+C -1 ; WX 722 ; N Udieresis ; B 76 -23 654 922 ;
+C -1 ; WX 722 ; N Uacute ; B 76 -23 654 936 ;
+C -1 ; WX 722 ; N Ugrave ; B 76 -23 654 936 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 76 -23 654 936 ;
+C -1 ; WX 722 ; N Uring ; B 76 -23 654 949 ;
+C -1 ; WX 722 ; N Uhungarumlaut ; B 76 -23 654 936 ;
+C -1 ; WX 667 ; N Yacute ; B 27 0 650 936 ;
+C -1 ; WX 611 ; N Zacute ; B 30 0 578 936 ;
+C -1 ; WX 611 ; N Zcaron ; B 30 0 578 936 ;
+C -1 ; WX 611 ; N Zdotaccent ; B 30 0 578 922 ;
+C -1 ; WX 722 ; N Amacron ; B 26 0 703 898 ;
+C -1 ; WX 611 ; N Tcommaaccent ; B 14 -307 598 729 ;
+C -1 ; WX 667 ; N Ydieresis ; B 27 0 650 922 ;
+C -1 ; WX 667 ; N Emacron ; B 79 0 624 898 ;
+C -1 ; WX 278 ; N Imacron ; B 2 0 274 898 ;
+C -1 ; WX 278 ; N Iogonek ; B 34 -233 237 729 ;
+C -1 ; WX 722 ; N Kcommaaccent ; B 74 -307 717 729 ;
+C -1 ; WX 611 ; N Lcommaaccent ; B 80 -307 579 729 ;
+C -1 ; WX 722 ; N Ncommaaccent ; B 68 -307 661 729 ;
+C -1 ; WX 778 ; N Omacron ; B 40 -23 742 898 ;
+C -1 ; WX 722 ; N Rcommaaccent ; B 80 -307 677 729 ;
+C -1 ; WX 778 ; N Gcommaaccent ; B 42 -307 711 741 ;
+C -1 ; WX 722 ; N Umacron ; B 76 -23 654 898 ;
+C -1 ; WX 722 ; N Uogonek ; B 76 -234 654 729 ;
+C -1 ; WX 556 ; N adieresis ; B 28 -23 524 743 ;
+C -1 ; WX 556 ; N aacute ; B 28 -23 524 757 ;
+C -1 ; WX 556 ; N agrave ; B 28 -23 524 757 ;
+C -1 ; WX 556 ; N acircumflex ; B 28 -23 524 757 ;
+C -1 ; WX 556 ; N abreve ; B 28 -23 524 748 ;
+C -1 ; WX 556 ; N atilde ; B 28 -23 524 749 ;
+C -1 ; WX 556 ; N aring ; B 28 -23 524 770 ;
+C -1 ; WX 556 ; N aogonek ; B 28 -233 548 549 ;
+C -1 ; WX 556 ; N cacute ; B 34 -23 522 757 ;
+C -1 ; WX 556 ; N ccaron ; B 34 -23 522 757 ;
+C -1 ; WX 556 ; N ccedilla ; B 34 -220 522 549 ;
+C -1 ; WX 707 ; N dcaron ; B 29 -23 720 729 ;
+C -1 ; WX 556 ; N edieresis ; B 22 -23 525 743 ;
+C -1 ; WX 556 ; N eacute ; B 22 -23 525 757 ;
+C -1 ; WX 556 ; N egrave ; B 22 -23 525 757 ;
+C -1 ; WX 556 ; N ecircumflex ; B 22 -23 525 757 ;
+C -1 ; WX 556 ; N ecaron ; B 22 -23 525 757 ;
+C -1 ; WX 556 ; N edotaccent ; B 22 -23 525 743 ;
+C -1 ; WX 556 ; N eogonek ; B 21 -234 525 549 ;
+C -1 ; WX 611 ; N gbreve ; B 34 -218 541 748 ;
+C -1 ; WX 278 ; N idieresis ; B -9 0 287 743 ;
+C -1 ; WX 278 ; N iacute ; B 67 0 290 757 ;
+C -1 ; WX 278 ; N igrave ; B -10 0 207 757 ;
+C -1 ; WX 278 ; N icircumflex ; B -19 0 299 757 ;
+C -1 ; WX 278 ; N lacute ; B 67 0 278 936 ;
+C -1 ; WX 369 ; N lcaron ; B 67 0 382 729 ;
+C -1 ; WX 611 ; N nacute ; B 63 0 546 757 ;
+C -1 ; WX 611 ; N ncaron ; B 63 0 546 757 ;
+C -1 ; WX 611 ; N ntilde ; B 63 0 546 749 ;
+C -1 ; WX 611 ; N odieresis ; B 35 -23 569 743 ;
+C -1 ; WX 611 ; N oacute ; B 35 -23 569 757 ;
+C -1 ; WX 611 ; N ograve ; B 35 -23 569 757 ;
+C -1 ; WX 611 ; N ocircumflex ; B 35 -23 569 757 ;
+C -1 ; WX 611 ; N otilde ; B 35 -23 569 749 ;
+C -1 ; WX 611 ; N ohungarumlaut ; B 35 -23 569 757 ;
+C -1 ; WX 389 ; N racute ; B 63 0 370 757 ;
+C -1 ; WX 556 ; N sacute ; B 29 -23 520 757 ;
+C -1 ; WX 556 ; N scaron ; B 29 -23 520 757 ;
+C -1 ; WX 556 ; N scommaaccent ; B 29 -307 520 549 ;
+C -1 ; WX 385 ; N tcaron ; B 14 -23 398 829 ;
+C -1 ; WX 611 ; N udieresis ; B 58 -23 541 743 ;
+C -1 ; WX 611 ; N uacute ; B 58 -23 541 757 ;
+C -1 ; WX 611 ; N ugrave ; B 58 -23 541 757 ;
+C -1 ; WX 611 ; N ucircumflex ; B 58 -23 541 757 ;
+C -1 ; WX 611 ; N uring ; B 58 -23 541 770 ;
+C -1 ; WX 611 ; N uhungarumlaut ; B 58 -23 559 757 ;
+C -1 ; WX 556 ; N yacute ; B 9 -219 538 757 ;
+C -1 ; WX 500 ; N zacute ; B 21 0 468 757 ;
+C -1 ; WX 500 ; N zcaron ; B 21 0 468 757 ;
+C -1 ; WX 500 ; N zdotaccent ; B 21 0 468 743 ;
+C -1 ; WX 556 ; N ydieresis ; B 9 -219 538 743 ;
+C -1 ; WX 333 ; N tcommaaccent ; B 14 -307 301 674 ;
+C -1 ; WX 556 ; N amacron ; B 28 -23 524 719 ;
+C -1 ; WX 556 ; N emacron ; B 22 -23 525 719 ;
+C -1 ; WX 278 ; N imacron ; B 7 0 266 719 ;
+C -1 ; WX 556 ; N kcommaaccent ; B 59 -307 548 729 ;
+C -1 ; WX 278 ; N lcommaaccent ; B 67 -307 207 729 ;
+C -1 ; WX 611 ; N ncommaaccent ; B 63 -307 546 549 ;
+C -1 ; WX 611 ; N omacron ; B 35 -23 569 719 ;
+C -1 ; WX 389 ; N rcommaaccent ; B 63 -307 370 549 ;
+C -1 ; WX 611 ; N umacron ; B 58 -23 541 719 ;
+C -1 ; WX 611 ; N uogonek ; B 58 -233 564 540 ;
+C -1 ; WX 389 ; N rcaron ; B 54 0 372 757 ;
+C -1 ; WX 556 ; N scedilla ; B 29 -220 520 549 ;
+C -1 ; WX 611 ; N gcommaaccent ; B 34 -218 541 853 ;
+C -1 ; WX 278 ; N iogonek ; B 34 -233 231 729 ;
+C -1 ; WX 667 ; N Scommaaccent ; B 32 -307 633 741 ;
+C -1 ; WX 722 ; N Eth ; B 0 0 681 729 ;
+C -1 ; WX 722 ; N Dcroat ; B 0 0 681 729 ;
+C -1 ; WX 667 ; N Thorn ; B 76 0 633 729 ;
+C -1 ; WX 611 ; N dcroat ; B 29 -23 605 729 ;
+C -1 ; WX 611 ; N eth ; B 35 -23 569 744 ;
+C -1 ; WX 611 ; N thorn ; B 58 -218 574 729 ;
+C -1 ; WX 556 ; N Euro ; B 6 -23 546 724 ;
+C -1 ; WX 351 ; N onesuperior ; B 40 284 242 709 ;
+C -1 ; WX 351 ; N twosuperior ; B 16 284 328 718 ;
+C -1 ; WX 351 ; N threesuperior ; B 15 271 329 718 ;
+C -1 ; WX 606 ; N degree ; B 151 383 454 686 ;
+C -1 ; WX 584 ; N minus ; B 40 172 544 291 ;
+C -1 ; WX 584 ; N multiply ; B 79 18 505 444 ;
+C -1 ; WX 584 ; N divide ; B 50 -11 534 474 ;
+C -1 ; WX 1000 ; N trademark ; B 71 273 929 729 ;
+C -1 ; WX 584 ; N plusminus ; B 56 -16 527 608 ;
+C -1 ; WX 869 ; N onehalf ; B 40 -20 846 715 ;
+C -1 ; WX 869 ; N onequarter ; B 40 -20 850 715 ;
+C -1 ; WX 869 ; N threequarters ; B 15 -20 850 718 ;
+C -1 ; WX 333 ; N commaaccent ; B 112 -307 234 -60 ;
+C -1 ; WX 737 ; N copyright ; B -14 -22 751 743 ;
+C -1 ; WX 737 ; N registered ; B -14 -22 751 743 ;
+C -1 ; WX 489 ; N lozenge ; B 16 0 462 744 ;
+C -1 ; WX 729 ; N Delta ; B 8 0 721 729 ;
+C -1 ; WX 548 ; N notequal ; B 50 -69 534 528 ;
+C -1 ; WX 542 ; N radical ; B 7 -36 512 913 ;
+C -1 ; WX 584 ; N lessequal ; B 45 -10 534 639 ;
+C -1 ; WX 584 ; N greaterequal ; B 45 -10 534 639 ;
+C -1 ; WX 584 ; N logicalnot ; B 40 86 544 375 ;
+C -1 ; WX 711 ; N summation ; B 17 -96 694 760 ;
+C -1 ; WX 490 ; N partialdiff ; B 22 -15 458 750 ;
+C -1 ; WX 280 ; N brokenbar ; B 100 -200 180 729 ;
+C -1 ; WX 611 ; N mu ; B 58 -220 573 540 ;
+C -1 ; WX 722 ; N afii10017 ; B 26 0 703 729 ;
+C -1 ; WX 722 ; N afii10018 ; B 82 0 666 729 ;
+C -1 ; WX 722 ; N afii10019 ; B 82 0 666 729 ;
+C -1 ; WX 611 ; N afii10020 ; B 82 0 594 729 ;
+C -1 ; WX 900 ; N afii10021 ; B 35 -150 865 729 ;
+C -1 ; WX 709 ; N afii10022 ; B 82 0 627 729 ;
+C -1 ; WX 709 ; N afii10023 ; B 82 0 627 922 ;
+C -1 ; WX 1093 ; N afii10024 ; B 22 0 1078 729 ;
+C -1 ; WX 672 ; N afii10025 ; B 32 -23 633 741 ;
+C -1 ; WX 757 ; N afii10026 ; B 82 0 675 729 ;
+C -1 ; WX 757 ; N afii10027 ; B 82 0 675 927 ;
+C -1 ; WX 750 ; N afii10028 ; B 82 0 725 729 ;
+C -1 ; WX 729 ; N afii10029 ; B 36 -12 647 729 ;
+C -1 ; WX 874 ; N afii10030 ; B 82 0 792 729 ;
+C -1 ; WX 753 ; N afii10031 ; B 82 0 671 729 ;
+C -1 ; WX 778 ; N afii10032 ; B 40 -23 742 741 ;
+C -1 ; WX 753 ; N afii10033 ; B 82 0 671 729 ;
+C -1 ; WX 671 ; N afii10034 ; B 82 0 639 729 ;
+C -1 ; WX 722 ; N afii10035 ; B 44 -23 685 741 ;
+C -1 ; WX 611 ; N afii10036 ; B 14 0 598 729 ;
+C -1 ; WX 718 ; N afii10037 ; B 15 0 696 729 ;
+C -1 ; WX 892 ; N afii10038 ; B 30 0 862 729 ;
+C -1 ; WX 667 ; N afii10039 ; B 22 0 653 729 ;
+C -1 ; WX 816 ; N afii10040 ; B 82 -150 781 729 ;
+C -1 ; WX 685 ; N afii10041 ; B 68 0 624 729 ;
+C -1 ; WX 1057 ; N afii10042 ; B 68 0 967 729 ;
+C -1 ; WX 1183 ; N afii10043 ; B 68 -150 1097 729 ;
+C -1 ; WX 928 ; N afii10044 ; B 14 0 801 729 ;
+C -1 ; WX 949 ; N afii10045 ; B 68 0 884 729 ;
+C -1 ; WX 687 ; N afii10046 ; B 76 0 633 729 ;
+C -1 ; WX 722 ; N afii10047 ; B 44 -23 685 741 ;
+C -1 ; WX 1109 ; N afii10048 ; B 68 -23 1043 741 ;
+C -1 ; WX 698 ; N afii10049 ; B 22 0 633 729 ;
+C -1 ; WX 556 ; N afii10065 ; B 28 -23 524 549 ;
+C -1 ; WX 606 ; N afii10066 ; B 50 -23 565 777 ;
+C -1 ; WX 572 ; N afii10067 ; B 60 0 518 540 ;
+C -1 ; WX 454 ; N afii10068 ; B 60 0 408 540 ;
+C -1 ; WX 685 ; N afii10069 ; B 23 -125 662 540 ;
+C -1 ; WX 556 ; N afii10070 ; B 22 -23 525 549 ;
+C -1 ; WX 556 ; N afii10071 ; B 22 -23 525 743 ;
+C -1 ; WX 809 ; N afii10072 ; B 16 0 788 540 ;
+C -1 ; WX 546 ; N afii10073 ; B 29 -23 520 549 ;
+C -1 ; WX 615 ; N afii10074 ; B 60 0 555 540 ;
+C -1 ; WX 615 ; N afii10075 ; B 60 0 555 723 ;
+C -1 ; WX 573 ; N afii10076 ; B 60 0 549 540 ;
+C -1 ; WX 577 ; N afii10077 ; B 29 -10 517 540 ;
+C -1 ; WX 666 ; N afii10078 ; B 60 0 606 540 ;
+C -1 ; WX 603 ; N afii10079 ; B 60 0 543 540 ;
+C -1 ; WX 611 ; N afii10080 ; B 35 -23 569 549 ;
+C -1 ; WX 603 ; N afii10081 ; B 60 0 543 540 ;
+C -1 ; WX 611 ; N afii10082 ; B 60 -218 576 549 ;
+C -1 ; WX 556 ; N afii10083 ; B 34 -23 522 549 ;
+C -1 ; WX 454 ; N afii10084 ; B 21 0 431 540 ;
+C -1 ; WX 556 ; N afii10085 ; B 9 -219 538 540 ;
+C -1 ; WX 957 ; N afii10086 ; B 28 -218 920 719 ;
+C -1 ; WX 556 ; N afii10087 ; B 16 0 535 540 ;
+C -1 ; WX 652 ; N afii10088 ; B 60 -125 629 540 ;
+C -1 ; WX 578 ; N afii10089 ; B 60 0 518 540 ;
+C -1 ; WX 886 ; N afii10090 ; B 60 0 826 540 ;
+C -1 ; WX 968 ; N afii10091 ; B 60 -125 945 540 ;
+C -1 ; WX 693 ; N afii10092 ; B 20 0 663 540 ;
+C -1 ; WX 811 ; N afii10093 ; B 60 0 718 540 ;
+C -1 ; WX 562 ; N afii10094 ; B 60 0 532 540 ;
+C -1 ; WX 564 ; N afii10095 ; B 34 -23 522 549 ;
+C -1 ; WX 908 ; N afii10096 ; B 60 -23 812 549 ;
+C -1 ; WX 596 ; N afii10097 ; B 25 0 531 540 ;
+C -1 ; WX 667 ; N uni0400 ; B 79 0 624 979 ;
+C -1 ; WX 826 ; N afii10051 ; B 14 0 792 729 ;
+C -1 ; WX 611 ; N afii10052 ; B 74 0 586 979 ;
+C -1 ; WX 722 ; N afii10053 ; B 44 -23 685 741 ;
+C -1 ; WX 667 ; N afii10054 ; B 32 -23 633 741 ;
+C -1 ; WX 278 ; N afii10055 ; B 63 0 213 729 ;
+C -1 ; WX 278 ; N afii10056 ; B -9 0 287 922 ;
+C -1 ; WX 556 ; N afii10057 ; B 24 -23 486 729 ;
+C -1 ; WX 722 ; N afii10058 ; B 46 0 657 729 ;
+C -1 ; WX 1113 ; N afii10059 ; B 68 0 1064 729 ;
+C -1 ; WX 611 ; N afii10060 ; B 14 0 598 729 ;
+C -1 ; WX 722 ; N afii10061 ; B 74 0 717 929 ;
+C -1 ; WX 726 ; N uni040D ; B 68 0 661 929 ;
+C -1 ; WX 718 ; N afii10062 ; B 15 0 696 922 ;
+C -1 ; WX 722 ; N afii10145 ; B 68 -150 658 729 ;
+C -1 ; WX 556 ; N uni0450 ; B 22 -23 525 790 ;
+C -1 ; WX 480 ; N afii10099 ; B 36 0 446 540 ;
+C -1 ; WX 454 ; N afii10100 ; B 60 0 408 790 ;
+C -1 ; WX 556 ; N afii10101 ; B 34 -23 522 549 ;
+C -1 ; WX 556 ; N afii10102 ; B 29 -23 520 549 ;
+C -1 ; WX 278 ; N afii10103 ; B 67 0 207 729 ;
+C -1 ; WX 278 ; N afii10104 ; B -9 0 287 743 ;
+C -1 ; WX 278 ; N afii10105 ; B 4 -218 210 729 ;
+C -1 ; WX 608 ; N afii10106 ; B 29 0 543 540 ;
+C -1 ; WX 611 ; N afii10107 ; B 63 0 546 540 ;
+C -1 ; WX 480 ; N afii10108 ; B 36 0 446 540 ;
+C -1 ; WX 573 ; N afii10109 ; B 59 0 548 790 ;
+C -1 ; WX 608 ; N uni045D ; B 60 0 543 790 ;
+C -1 ; WX 556 ; N afii10110 ; B 9 -219 538 783 ;
+C -1 ; WX 608 ; N afii10193 ; B 60 -125 544 540 ;
+C -1 ; WX 687 ; N uni048C ; B 6 0 633 729 ;
+C -1 ; WX 562 ; N uni048D ; B -20 0 540 540 ;
+C -1 ; WX 667 ; N uni048E ; B 76 0 633 729 ;
+C -1 ; WX 611 ; N uni048F ; B 58 -218 574 549 ;
+C -1 ; WX 611 ; N afii10050 ; B 74 0 586 864 ;
+C -1 ; WX 454 ; N afii10098 ; B 64 0 412 666 ;
+C -1 ; WX 611 ; N uni0492 ; B -2 0 586 729 ;
+C -1 ; WX 454 ; N uni0493 ; B -6 0 408 540 ;
+C -1 ; WX 611 ; N uni0494 ; B 74 0 586 729 ;
+C -1 ; WX 454 ; N uni0495 ; B 60 0 408 540 ;
+C -1 ; WX 1093 ; N uni0496 ; B 22 0 1078 729 ;
+C -1 ; WX 809 ; N uni0497 ; B 16 0 788 540 ;
+C -1 ; WX 672 ; N uni0498 ; B 32 -23 633 741 ;
+C -1 ; WX 546 ; N uni0499 ; B 29 -23 520 549 ;
+C -1 ; WX 722 ; N uni049A ; B 74 0 717 729 ;
+C -1 ; WX 573 ; N uni049B ; B 59 0 548 540 ;
+C -1 ; WX 722 ; N uni049C ; B 74 0 717 729 ;
+C -1 ; WX 573 ; N uni049D ; B 59 0 548 540 ;
+C -1 ; WX 722 ; N uni049E ; B 2 0 717 729 ;
+C -1 ; WX 573 ; N uni049F ; B 8 0 548 540 ;
+C -1 ; WX 722 ; N uni04A0 ; B 74 0 717 729 ;
+C -1 ; WX 573 ; N uni04A1 ; B 59 0 548 540 ;
+C -1 ; WX 722 ; N uni04A2 ; B 68 0 657 729 ;
+C -1 ; WX 608 ; N uni04A3 ; B 60 0 543 540 ;
+C -1 ; WX 722 ; N uni04A4 ; B 68 0 657 729 ;
+C -1 ; WX 608 ; N uni04A5 ; B 60 0 543 540 ;
+C -1 ; WX 722 ; N uni04A6 ; B 68 0 657 729 ;
+C -1 ; WX 608 ; N uni04A7 ; B 60 0 543 540 ;
+C -1 ; WX 722 ; N uni04A8 ; B 44 -23 685 741 ;
+C -1 ; WX 556 ; N uni04A9 ; B 34 -23 522 549 ;
+C -1 ; WX 722 ; N uni04AA ; B 44 -23 685 741 ;
+C -1 ; WX 556 ; N uni04AB ; B 34 -23 522 549 ;
+C -1 ; WX 611 ; N uni04AC ; B 14 0 598 729 ;
+C -1 ; WX 454 ; N uni04AD ; B 21 0 431 540 ;
+C -1 ; WX 667 ; N uni04AE ; B 27 0 650 729 ;
+C -1 ; WX 556 ; N uni04AF ; B 14 0 536 540 ;
+C -1 ; WX 667 ; N uni04B0 ; B 27 0 650 729 ;
+C -1 ; WX 556 ; N uni04B1 ; B 14 0 536 540 ;
+C -1 ; WX 667 ; N uni04B2 ; B 22 0 653 729 ;
+C -1 ; WX 556 ; N uni04B3 ; B 16 0 535 540 ;
+C -1 ; WX 814 ; N uni04B4 ; B 68 -150 767 729 ;
+C -1 ; WX 685 ; N uni04B5 ; B 60 -125 639 540 ;
+C -1 ; WX 675 ; N uni04B6 ; B 68 0 614 729 ;
+C -1 ; WX 580 ; N uni04B7 ; B 60 0 518 540 ;
+C -1 ; WX 675 ; N uni04B8 ; B 68 0 614 729 ;
+C -1 ; WX 580 ; N uni04B9 ; B 60 0 518 540 ;
+C -1 ; WX 675 ; N uni04BA ; B 68 0 614 729 ;
+C -1 ; WX 580 ; N uni04BB ; B 60 0 518 540 ;
+C -1 ; WX 722 ; N uni04BC ; B 44 -23 685 741 ;
+C -1 ; WX 556 ; N uni04BD ; B 34 -23 522 549 ;
+C -1 ; WX 722 ; N uni04BE ; B 44 -23 685 741 ;
+C -1 ; WX 556 ; N uni04BF ; B 34 -23 522 549 ;
+C -1 ; WX 278 ; N uni04C0 ; B 63 0 213 729 ;
+C -1 ; WX 1093 ; N uni04C1 ; B 22 0 1078 922 ;
+C -1 ; WX 809 ; N uni04C2 ; B 16 0 788 733 ;
+C -1 ; WX 722 ; N uni04C3 ; B 74 0 717 729 ;
+C -1 ; WX 573 ; N uni04C4 ; B 59 0 548 540 ;
+C -1 ; WX 722 ; N uni04C7 ; B 68 0 657 729 ;
+C -1 ; WX 608 ; N uni04C8 ; B 60 0 543 540 ;
+C -1 ; WX 675 ; N uni04CB ; B 68 0 614 729 ;
+C -1 ; WX 580 ; N uni04CC ; B 60 0 518 540 ;
+C -1 ; WX 722 ; N uni04D0 ; B 26 0 703 927 ;
+C -1 ; WX 556 ; N uni04D1 ; B 28 -23 524 748 ;
+C -1 ; WX 722 ; N uni04D2 ; B 26 0 703 922 ;
+C -1 ; WX 556 ; N uni04D3 ; B 28 -23 524 743 ;
+C -1 ; WX 1000 ; N uni04D4 ; B 1 0 966 729 ;
+C -1 ; WX 889 ; N uni04D5 ; B 27 -24 857 549 ;
+C -1 ; WX 667 ; N uni04D6 ; B 79 0 624 922 ;
+C -1 ; WX 556 ; N uni04D7 ; B 22 -23 525 733 ;
+C -1 ; WX 722 ; N uni04D8 ; B 44 -23 685 741 ;
+C -1 ; WX 556 ; N afii10846 ; B 34 -23 522 549 ;
+C -1 ; WX 722 ; N uni04DA ; B 44 -23 685 951 ;
+C -1 ; WX 556 ; N uni04DB ; B 34 -23 522 712 ;
+C -1 ; WX 1093 ; N uni04DC ; B 22 0 1078 901 ;
+C -1 ; WX 809 ; N uni04DD ; B 16 0 788 712 ;
+C -1 ; WX 672 ; N uni04DE ; B 32 -23 633 901 ;
+C -1 ; WX 546 ; N uni04DF ; B 29 -23 520 712 ;
+C -1 ; WX 672 ; N uni04E0 ; B 32 -23 633 741 ;
+C -1 ; WX 546 ; N uni04E1 ; B 29 -23 520 549 ;
+C -1 ; WX 726 ; N uni04E2 ; B 68 0 661 858 ;
+C -1 ; WX 608 ; N uni04E3 ; B 60 0 543 669 ;
+C -1 ; WX 726 ; N uni04E4 ; B 68 0 661 901 ;
+C -1 ; WX 608 ; N uni04E5 ; B 60 0 543 712 ;
+C -1 ; WX 778 ; N uni04E6 ; B 40 -23 742 922 ;
+C -1 ; WX 611 ; N uni04E7 ; B 35 -23 569 743 ;
+C -1 ; WX 778 ; N uni04E8 ; B 40 -23 742 741 ;
+C -1 ; WX 611 ; N uni04E9 ; B 35 -23 569 549 ;
+C -1 ; WX 778 ; N uni04EA ; B 40 -23 742 951 ;
+C -1 ; WX 611 ; N uni04EB ; B 35 -23 569 762 ;
+C -1 ; WX 722 ; N uni04EC ; B 44 -23 685 901 ;
+C -1 ; WX 564 ; N uni04ED ; B 34 -23 522 712 ;
+C -1 ; WX 718 ; N uni04EE ; B 15 0 696 858 ;
+C -1 ; WX 556 ; N uni04EF ; B 9 -219 538 669 ;
+C -1 ; WX 718 ; N uni04F0 ; B 15 0 696 901 ;
+C -1 ; WX 556 ; N uni04F1 ; B 9 -219 538 712 ;
+C -1 ; WX 718 ; N uni04F2 ; B 15 0 696 926 ;
+C -1 ; WX 556 ; N uni04F3 ; B 9 -219 538 737 ;
+C -1 ; WX 675 ; N uni04F4 ; B 68 0 614 901 ;
+C -1 ; WX 580 ; N uni04F5 ; B 60 0 518 712 ;
+C -1 ; WX 949 ; N uni04F8 ; B 68 0 884 901 ;
+C -1 ; WX 811 ; N uni04F9 ; B 60 0 746 712 ;
+C -1 ; WX 722 ; N Ccircumflex ; B 44 -23 685 979 ;
+C -1 ; WX 556 ; N ccircumflex ; B 34 -23 522 790 ;
+C -1 ; WX 722 ; N Cdotaccent ; B 44 -23 685 951 ;
+C -1 ; WX 556 ; N cdotaccent ; B 34 -23 522 762 ;
+C -1 ; WX 667 ; N Ebreve ; B 79 0 624 972 ;
+C -1 ; WX 556 ; N ebreve ; B 22 -23 525 783 ;
+C -1 ; WX 778 ; N Gcircumflex ; B 42 -23 711 979 ;
+C -1 ; WX 611 ; N gcircumflex ; B 34 -218 541 790 ;
+C -1 ; WX 778 ; N Gdotaccent ; B 42 -23 711 951 ;
+C -1 ; WX 611 ; N gdotaccent ; B 34 -218 541 762 ;
+C -1 ; WX 722 ; N Hcircumflex ; B 68 0 657 979 ;
+C -1 ; WX 611 ; N hcircumflex ; B 67 0 541 979 ;
+C -1 ; WX 722 ; N Hbar ; B 68 0 657 729 ;
+C -1 ; WX 611 ; N hbar ; B 67 0 541 729 ;
+C -1 ; WX 278 ; N Itilde ; B -39 0 315 957 ;
+C -1 ; WX 278 ; N itilde ; B -40 0 314 768 ;
+C -1 ; WX 278 ; N Ibreve ; B 6 0 270 972 ;
+C -1 ; WX 278 ; N ibreve ; B 5 0 269 783 ;
+C -1 ; WX 808 ; N IJ ; B 63 -23 740 729 ;
+C -1 ; WX 492 ; N ij ; B 67 -218 418 729 ;
+C -1 ; WX 556 ; N Jcircumflex ; B 24 -23 570 979 ;
+C -1 ; WX 278 ; N jcircumflex ; B -19 -218 299 783 ;
+C -1 ; WX 573 ; N kgreenlandic ; B 59 0 548 540 ;
+C -1 ; WX 611 ; N Ldot ; B 80 0 579 729 ;
+C -1 ; WX 556 ; N ldot ; B 67 0 444 729 ;
+C -1 ; WX 611 ; N napostrophe ; B 63 0 546 549 ;
+C -1 ; WX 722 ; N Eng ; B 68 0 661 729 ;
+C -1 ; WX 611 ; N eng ; B 63 0 546 549 ;
+C -1 ; WX 778 ; N Obreve ; B 40 -23 742 972 ;
+C -1 ; WX 611 ; N obreve ; B 35 -23 569 783 ;
+C -1 ; WX 667 ; N Scircumflex ; B 32 -23 633 979 ;
+C -1 ; WX 556 ; N scircumflex ; B 29 -23 520 790 ;
+C -1 ; WX 611 ; N uni0162 ; B 14 -220 598 729 ;
+C -1 ; WX 333 ; N uni0163 ; B 14 -243 325 674 ;
+C -1 ; WX 611 ; N Tbar ; B 14 0 598 729 ;
+C -1 ; WX 333 ; N tbar ; B 14 -23 302 674 ;
+C -1 ; WX 722 ; N Utilde ; B 76 -23 654 957 ;
+C -1 ; WX 611 ; N utilde ; B 58 -23 541 768 ;
+C -1 ; WX 722 ; N Ubreve ; B 76 -23 654 972 ;
+C -1 ; WX 611 ; N ubreve ; B 58 -23 541 783 ;
+C -1 ; WX 944 ; N Wcircumflex ; B 13 0 932 979 ;
+C -1 ; WX 778 ; N wcircumflex ; B 5 0 766 790 ;
+C -1 ; WX 667 ; N Ycircumflex ; B 27 0 650 979 ;
+C -1 ; WX 556 ; N ycircumflex ; B 9 -219 538 790 ;
+C -1 ; WX 333 ; N longs ; B 14 0 308 729 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 973
+KPX quoteright y -3
+KPX quoteright w 1
+KPX quoteright v -5
+KPX quoteright t -4
+KPX quoteright s -22
+KPX quoteright r -15
+KPX quoteright period -45
+KPX quoteright o -30
+KPX quoteright d -27
+KPX quoteright comma -46
+KPX quoteright Aring -77
+KPX quoteright Adieresis -77
+KPX quoteright Aacute -77
+KPX quoteright AE -66
+KPX quoteright A -77
+KPX comma quoteright -30
+KPX comma quotedblright -33
+KPX comma one -73
+KPX hyphen Y -64
+KPX hyphen W -9
+KPX hyphen V -27
+KPX hyphen T -57
+KPX hyphen Aring -1
+KPX hyphen Adieresis -1
+KPX hyphen Aacute -1
+KPX hyphen AE 10
+KPX hyphen A -1
+KPX period quoteright -29
+KPX period quotedblright -32
+KPX period one -73
+KPX zero seven -10
+KPX zero one -19
+KPX zero four 5
+KPX one zero -34
+KPX one two -47
+KPX one three -44
+KPX one six -37
+KPX one seven -65
+KPX one period -42
+KPX one one -85
+KPX one nine -39
+KPX one four -56
+KPX one five -43
+KPX one eight -37
+KPX one comma -42
+KPX two seven -3
+KPX two one -16
+KPX two four -9
+KPX three seven -10
+KPX three one -27
+KPX three four 6
+KPX four seven -28
+KPX four one -50
+KPX four four 9
+KPX five seven -10
+KPX five one -29
+KPX five four 6
+KPX six seven -3
+KPX six one -21
+KPX six four 7
+KPX seven two -4
+KPX seven six -13
+KPX seven seven 9
+KPX seven period -87
+KPX seven one -14
+KPX seven four -62
+KPX seven five -21
+KPX seven eight -3
+KPX seven comma -88
+KPX seven colon -63
+KPX eight seven -6
+KPX eight one -23
+KPX eight four 10
+KPX nine seven -17
+KPX nine one -21
+KPX nine four 4
+KPX A y -35
+KPX A w -23
+KPX A v -37
+KPX A u -12
+KPX A t -18
+KPX A quoteright -61
+KPX A quotedblright -65
+KPX A q -12
+KPX A period 19
+KPX A o -16
+KPX A hyphen 7
+KPX A guilsinglleft -40
+KPX A guillemotleft -43
+KPX A g -14
+KPX A e -9
+KPX A d -13
+KPX A comma 19
+KPX A ccedilla -14
+KPX A c -14
+KPX A b -1
+KPX A a -1
+KPX A Y -90
+KPX A W -51
+KPX A V -66
+KPX A Ugrave -32
+KPX A Udieresis -32
+KPX A Ucircumflex -32
+KPX A Uacute -32
+KPX A U -32
+KPX A T -81
+KPX A Q -35
+KPX A Odieresis -34
+KPX A O -34
+KPX A G -35
+KPX A Ccedilla -33
+KPX A C -33
+KPX B Y -51
+KPX B W -27
+KPX B V -39
+KPX B Oslash -5
+KPX B Ograve -11
+KPX B Odieresis -11
+KPX B Ocircumflex -11
+KPX B Oacute -11
+KPX B OE -2
+KPX B O -11
+KPX B Atilde -32
+KPX B Aring -32
+KPX B Adieresis -32
+KPX B Acircumflex -32
+KPX B Aacute -32
+KPX B AE -20
+KPX B A -32
+KPX C Odieresis -6
+KPX C Oacute -6
+KPX C O -6
+KPX C K 2
+KPX C H 5
+KPX C Aring -29
+KPX C Adieresis -29
+KPX C Aacute -29
+KPX C AE -17
+KPX C A -29
+KPX D Y -56
+KPX D X -35
+KPX D W -20
+KPX D V -35
+KPX D T -17
+KPX D J 2
+KPX D Atilde -37
+KPX D Aring -37
+KPX D Agrave -37
+KPX D Adieresis -37
+KPX D Acircumflex -37
+KPX D Aacute -37
+KPX D A -37
+KPX F u -24
+KPX F r -27
+KPX F period -75
+KPX F oslash -15
+KPX F oe -8
+KPX F odieresis -14
+KPX F oacute -14
+KPX F o -14
+KPX F j -9
+KPX F i -7
+KPX F hyphen 11
+KPX F eacute -7
+KPX F e -7
+KPX F comma -76
+KPX F aring -15
+KPX F ae -17
+KPX F adieresis -15
+KPX F aacute -15
+KPX F a -15
+KPX F Odieresis -16
+KPX F O -16
+KPX F J -25
+KPX F Atilde -63
+KPX F Aring -63
+KPX F Agrave -63
+KPX F Adieresis -63
+KPX F Acircumflex -63
+KPX F Aacute -63
+KPX F A -63
+KPX G Y -56
+KPX G W -20
+KPX G V -36
+KPX G T -17
+KPX G Atilde -8
+KPX G Aring -8
+KPX G Agrave -8
+KPX G Adieresis -8
+KPX G Acircumflex -8
+KPX G Aacute -8
+KPX G AE 4
+KPX G A -8
+KPX J Aring -32
+KPX J Adieresis -32
+KPX J AE -20
+KPX J A -32
+KPX K y -65
+KPX K udieresis -23
+KPX K u -23
+KPX K odieresis -33
+KPX K oacute -33
+KPX K o -33
+KPX K hyphen -44
+KPX K e -25
+KPX K aring -3
+KPX K adieresis -3
+KPX K a -3
+KPX K T 13
+KPX K S -30
+KPX K Odieresis -54
+KPX K Oacute -54
+KPX K OE -44
+KPX K O -54
+KPX K G -55
+KPX K C -53
+KPX L y -55
+KPX L udieresis -7
+KPX L u -7
+KPX L quoteright -138
+KPX L quotedblright -141
+KPX L hyphen -12
+KPX L Y -112
+KPX L W -68
+KPX L V -90
+KPX L Udieresis -24
+KPX L U -24
+KPX L T -95
+KPX L S -2
+KPX L Otilde -29
+KPX L Ograve -29
+KPX L Odieresis -29
+KPX L Ocircumflex -29
+KPX L Oacute -29
+KPX L O -29
+KPX L G -30
+KPX L Ccedilla -26
+KPX L C -26
+KPX L Aring 9
+KPX L Adieresis 9
+KPX L Aacute 9
+KPX L AE 21
+KPX L A 9
+KPX N udieresis 12
+KPX N u 12
+KPX N period 16
+KPX N oslash 11
+KPX N odieresis 11
+KPX N oacute 11
+KPX N o 11
+KPX N eacute 18
+KPX N e 18
+KPX N comma 15
+KPX N aring 13
+KPX N ae 13
+KPX N adieresis 13
+KPX N aacute 13
+KPX N a 13
+KPX N Odieresis 8
+KPX N Oacute 8
+KPX N O 8
+KPX N G 8
+KPX N Ccedilla 9
+KPX N C 9
+KPX N Aring -5
+KPX N Adieresis -5
+KPX N Aacute -5
+KPX N AE 7
+KPX N A -5
+KPX O Y -59
+KPX O X -36
+KPX O W -21
+KPX O V -36
+KPX O T -20
+KPX O Aring -37
+KPX O Adieresis -37
+KPX O Aacute -37
+KPX O AE -26
+KPX O A -37
+KPX P period -94
+KPX P oslash -17
+KPX P oe -8
+KPX P odieresis -14
+KPX P oacute -14
+KPX P o -14
+KPX P eacute -8
+KPX P e -8
+KPX P comma -94
+KPX P aring -7
+KPX P ae -8
+KPX P adieresis -7
+KPX P aacute -7
+KPX P a -7
+KPX P J -44
+KPX P Aring -65
+KPX P Adieresis -65
+KPX P Aacute -65
+KPX P AE -54
+KPX P A -65
+KPX R y 5
+KPX R oe 1
+KPX R odieresis -4
+KPX R oacute -4
+KPX R o -4
+KPX R hyphen 15
+KPX R eacute 2
+KPX R e 2
+KPX R Y -37
+KPX R W -17
+KPX R V -26
+KPX R Udieresis -4
+KPX R U -4
+KPX R Odieresis -6
+KPX R Oacute -6
+KPX R OE 3
+KPX R O -6
+KPX R G -6
+KPX R Ccedilla -5
+KPX R C -5
+KPX S t 1
+KPX S Y -43
+KPX S W -17
+KPX S V -31
+KPX S T -5
+KPX S Aring -20
+KPX S Adieresis -20
+KPX S Aacute -20
+KPX S AE -8
+KPX S A -20
+KPX T y -80
+KPX T w -77
+KPX T v -82
+KPX T u -72
+KPX T semicolon -98
+KPX T s -74
+KPX T r -71
+KPX T period -67
+KPX T oslash -73
+KPX T o -76
+KPX T j -3
+KPX T i -1
+KPX T hyphen -48
+KPX T guilsinglleft -98
+KPX T guillemotleft -101
+KPX T g -75
+KPX T e -69
+KPX T comma -67
+KPX T colon -97
+KPX T c -74
+KPX T ae -73
+KPX T a -73
+KPX T Y 16
+KPX T W 24
+KPX T V 18
+KPX T S 3
+KPX T Otilde -22
+KPX T Oslash -23
+KPX T Ograve -22
+KPX T Odieresis -22
+KPX T Ocircumflex -22
+KPX T Oacute -22
+KPX T OE -11
+KPX T O -22
+KPX T J -87
+KPX T G -22
+KPX T C -20
+KPX T Atilde -87
+KPX T Aring -87
+KPX T Agrave -87
+KPX T Adieresis -87
+KPX T Acircumflex -87
+KPX T Aacute -87
+KPX T AE -75
+KPX T A -87
+KPX U r 5
+KPX U period -4
+KPX U p 7
+KPX U n 5
+KPX U m 6
+KPX U comma -7
+KPX U Atilde -34
+KPX U Aring -34
+KPX U Adieresis -34
+KPX U Acircumflex -34
+KPX U Aacute -34
+KPX U AE -22
+KPX U A -34
+KPX V y -10
+KPX V u -34
+KPX V semicolon -67
+KPX V r -34
+KPX V period -69
+KPX V oslash -48
+KPX V o -50
+KPX V i -5
+KPX V hyphen -21
+KPX V guilsinglleft -72
+KPX V guillemotleft -74
+KPX V g -49
+KPX V e -43
+KPX V comma -69
+KPX V colon -65
+KPX V ae -48
+KPX V a -47
+KPX V T 21
+KPX V S -21
+KPX V Otilde -37
+KPX V Oslash -31
+KPX V Ograve -37
+KPX V Odieresis -37
+KPX V Ocircumflex -37
+KPX V Oacute -37
+KPX V O -37
+KPX V G -38
+KPX V C -36
+KPX V Atilde -71
+KPX V Aring -71
+KPX V Agrave -71
+KPX V Adieresis -71
+KPX V Acircumflex -71
+KPX V Aacute -71
+KPX V AE -59
+KPX V A -71
+KPX W u -23
+KPX W semicolon -54
+KPX W r -24
+KPX W period -45
+KPX W oslash -29
+KPX W o -31
+KPX W i -1
+KPX W hyphen -3
+KPX W guilsinglleft -53
+KPX W guillemotleft -55
+KPX W g -30
+KPX W e -24
+KPX W comma -45
+KPX W colon -53
+KPX W ae -29
+KPX W a -29
+KPX W T 25
+KPX W S -12
+KPX W Otilde -21
+KPX W Oslash -15
+KPX W Ograve -21
+KPX W Odieresis -21
+KPX W Ocircumflex -21
+KPX W Oacute -21
+KPX W O -21
+KPX W G -22
+KPX W C -20
+KPX W Atilde -54
+KPX W Aring -54
+KPX W Agrave -54
+KPX W Adieresis -54
+KPX W Acircumflex -54
+KPX W Aacute -54
+KPX W AE -43
+KPX W A -54
+KPX X y -40
+KPX X u -25
+KPX X o -32
+KPX X hyphen -27
+KPX X e -25
+KPX X a -5
+KPX X Q -37
+KPX X Odieresis -35
+KPX X O -35
+KPX X C -34
+KPX Y v -27
+KPX Y u -48
+KPX Y semicolon -83
+KPX Y period -78
+KPX Y p -45
+KPX Y oslash -67
+KPX Y o -70
+KPX Y i -3
+KPX Y hyphen -50
+KPX Y guilsinglleft -96
+KPX Y guillemotleft -98
+KPX Y g -68
+KPX Y e -63
+KPX Y comma -78
+KPX Y colon -81
+KPX Y ae -67
+KPX Y a -66
+KPX Y T 22
+KPX Y S -29
+KPX Y Otilde -54
+KPX Y Oslash -47
+KPX Y Ograve -54
+KPX Y Odieresis -54
+KPX Y Ocircumflex -54
+KPX Y Oacute -54
+KPX Y O -54
+KPX Y G -54
+KPX Y C -52
+KPX Y Atilde -86
+KPX Y Aring -86
+KPX Y Agrave -86
+KPX Y Adieresis -86
+KPX Y Acircumflex -86
+KPX Y Aacute -86
+KPX Y AE -74
+KPX Y A -86
+KPX Z y -9
+KPX Z v -11
+KPX quoteleft Y -13
+KPX quoteleft W 11
+KPX quoteleft V 2
+KPX quoteleft T -7
+KPX quoteleft Aring -73
+KPX quoteleft Adieresis -73
+KPX quoteleft Aacute -73
+KPX quoteleft AE -62
+KPX quoteleft A -73
+KPX a y -17
+KPX a w -5
+KPX a v -19
+KPX a quoteright -11
+KPX a j -1
+KPX b y -20
+KPX b w -7
+KPX b v -20
+KPX c k 3
+KPX e y -17
+KPX e x -21
+KPX e w -6
+KPX e v -19
+KPX e t -4
+KPX e quoteright -12
+KPX f t 21
+KPX f s -1
+KPX f quoteright 10
+KPX f oslash -9
+KPX f oe -3
+KPX f odieresis -9
+KPX f oacute -9
+KPX f o -9
+KPX f l -3
+KPX f j -6
+KPX f i -3
+KPX f f 21
+KPX f eacute -3
+KPX f e -3
+KPX f aring 1
+KPX f adieresis 1
+KPX f aacute 1
+KPX f a 1
+KPX g r 1
+KPX g odieresis 1
+KPX g oacute 1
+KPX g eacute 8
+KPX g e 8
+KPX g aring 3
+KPX g ae 3
+KPX g adieresis 3
+KPX g a 3
+KPX h y -21
+KPX h quoteright -14
+KPX i j -2
+KPX i T -4
+KPX k udieresis -1
+KPX k u -1
+KPX k s -10
+KPX k period 6
+KPX k odieresis -22
+KPX k oacute -22
+KPX k o -22
+KPX k hyphen -25
+KPX k g -21
+KPX k eacute -15
+KPX k e -15
+KPX k comma 7
+KPX k aring -2
+KPX k ae 1
+KPX k adieresis -2
+KPX k aacute -2
+KPX k a -2
+KPX l y -2
+KPX l v -5
+KPX m y -18
+KPX m w -6
+KPX m v -19
+KPX m p 6
+KPX n y -19
+KPX n w -7
+KPX n v -20
+KPX n quoteright -12
+KPX n p 5
+KPX n T -80
+KPX o y -22
+KPX o x -25
+KPX o w -10
+KPX o v -23
+KPX o t -8
+KPX o quoteright -17
+KPX o T -84
+KPX p y -20
+KPX p t -5
+KPX q u 4
+KPX q c 4
+KPX r z 9
+KPX r y 23
+KPX r x 17
+KPX r w 26
+KPX r v 21
+KPX r t 22
+KPX r semicolon -27
+KPX r s 3
+KPX r r -2
+KPX r quoteright 14
+KPX r q 1
+KPX r period -57
+KPX r oslash -4
+KPX r ograve -1
+KPX r oe 5
+KPX r odieresis -1
+KPX r ocircumflex -1
+KPX r oacute -1
+KPX r o -1
+KPX r n -2
+KPX r m -1
+KPX r l -4
+KPX r j -6
+KPX r i -4
+KPX r hyphen -35
+KPX r h -4
+KPX r g -2
+KPX r f 22
+KPX r egrave 4
+KPX r ecircumflex 4
+KPX r eacute 4
+KPX r e 4
+KPX r comma -57
+KPX r colon -27
+KPX r aring 6
+KPX r agrave 6
+KPX r ae 4
+KPX r adieresis 6
+KPX r acircumflex 6
+KPX r aacute 6
+KPX r a 6
+KPX s t -1
+KPX s quoteright -12
+KPX t semicolon -25
+KPX t quoteright 4
+KPX t odieresis -10
+KPX t oacute -10
+KPX t o -10
+KPX t h 2
+KPX t eacute -3
+KPX t e -3
+KPX t colon -25
+KPX t aring 6
+KPX t ae 7
+KPX t adieresis 6
+KPX t aacute 6
+KPX t a 6
+KPX u quoteright -2
+KPX v semicolon -34
+KPX v s -17
+KPX v period -50
+KPX v oslash -20
+KPX v ograve -22
+KPX v odieresis -22
+KPX v oacute -22
+KPX v o -22
+KPX v l -5
+KPX v g -21
+KPX v egrave -15
+KPX v ecircumflex -15
+KPX v eacute -15
+KPX v e -15
+KPX v comma -51
+KPX v colon -32
+KPX v c -20
+KPX v atilde -15
+KPX v aring -15
+KPX v agrave -15
+KPX v ae -16
+KPX v adieresis -15
+KPX v acircumflex -15
+KPX v aacute -15
+KPX v a -15
+KPX w semicolon -29
+KPX w s -9
+KPX w period -32
+KPX w oslash -8
+KPX w ograve -10
+KPX w odieresis -10
+KPX w oacute -10
+KPX w o -10
+KPX w l -1
+KPX w hyphen 11
+KPX w g -9
+KPX w egrave -3
+KPX w ecircumflex -3
+KPX w eacute -3
+KPX w e -3
+KPX w comma -33
+KPX w colon -27
+KPX w c -8
+KPX w atilde -7
+KPX w aring -7
+KPX w agrave -7
+KPX w ae -8
+KPX w adieresis -7
+KPX w acircumflex -7
+KPX w aacute -7
+KPX w a -7
+KPX x q -20
+KPX x o -24
+KPX x eacute -17
+KPX x e -17
+KPX x c -22
+KPX x a -9
+KPX y semicolon -33
+KPX y s -16
+KPX y period -50
+KPX y oslash -20
+KPX y ograve -22
+KPX y odieresis -22
+KPX y oacute -22
+KPX y o -22
+KPX y l -4
+KPX y g -21
+KPX y egrave -16
+KPX y ecircumflex -16
+KPX y eacute -16
+KPX y e -16
+KPX y comma -51
+KPX y colon -31
+KPX y c -21
+KPX y atilde -14
+KPX y aring -14
+KPX y agrave -14
+KPX y ae -15
+KPX y adieresis -14
+KPX y acircumflex -14
+KPX y aacute -14
+KPX y a -14
+KPX quotedblleft Y -9
+KPX quotedblleft W 16
+KPX quotedblleft V 6
+KPX quotedblleft T -2
+KPX quotedblleft Aring -68
+KPX quotedblleft Adieresis -68
+KPX quotedblleft Aacute -68
+KPX quotedblleft AE -57
+KPX quotedblleft A -68
+KPX guilsinglright Y -107
+KPX guilsinglright W -56
+KPX guilsinglright V -74
+KPX guilsinglright T -104
+KPX guilsinglright Aring -46
+KPX guilsinglright Adieresis -46
+KPX guilsinglright Aacute -46
+KPX guilsinglright AE -35
+KPX guilsinglright A -46
+KPX quotedblbase Y -92
+KPX quotedblbase W -51
+KPX quotedblbase V -73
+KPX quotedblbase T -75
+KPX quotedblbase AE 24
+KPX quotedblbase A 12
+KPX quotedblright Y -7
+KPX quotedblright W 17
+KPX quotedblright V 7
+KPX quotedblright T 1
+KPX quotedblright Aring -69
+KPX quotedblright Adieresis -69
+KPX quotedblright Aacute -69
+KPX quotedblright AE -57
+KPX quotedblright A -69
+KPX guillemotright Y -111
+KPX guillemotright W -60
+KPX guillemotright V -78
+KPX guillemotright T -108
+KPX guillemotright Aring -51
+KPX guillemotright Adieresis -51
+KPX guillemotright Aacute -51
+KPX guillemotright AE -39
+KPX guillemotright A -51
+KPX Oslash A -32
+KPX ae y -19
+KPX ae w -7
+KPX ae v -21
+KPX Adieresis y -35
+KPX Adieresis w -23
+KPX Adieresis v -37
+KPX Adieresis u -12
+KPX Adieresis t -18
+KPX Adieresis quoteright -61
+KPX Adieresis quotedblright -65
+KPX Adieresis q -12
+KPX Adieresis period 19
+KPX Adieresis o -16
+KPX Adieresis hyphen 7
+KPX Adieresis guilsinglleft -40
+KPX Adieresis guillemotleft -43
+KPX Adieresis g -14
+KPX Adieresis d -13
+KPX Adieresis comma 19
+KPX Adieresis c -14
+KPX Adieresis b -1
+KPX Adieresis a -1
+KPX Adieresis Y -90
+KPX Adieresis W -51
+KPX Adieresis V -66
+KPX Adieresis U -32
+KPX Adieresis T -81
+KPX Adieresis Q -35
+KPX Adieresis O -34
+KPX Adieresis G -35
+KPX Adieresis C -33
+KPX Aacute y -35
+KPX Aacute w -23
+KPX Aacute v -37
+KPX Aacute u -12
+KPX Aacute t -18
+KPX Aacute quoteright -61
+KPX Aacute q -12
+KPX Aacute period 19
+KPX Aacute o -16
+KPX Aacute hyphen 7
+KPX Aacute guilsinglleft -40
+KPX Aacute guillemotleft -43
+KPX Aacute g -14
+KPX Aacute e -9
+KPX Aacute d -13
+KPX Aacute comma 19
+KPX Aacute c -14
+KPX Aacute b -1
+KPX Aacute a -1
+KPX Aacute Y -90
+KPX Aacute W -51
+KPX Aacute V -66
+KPX Aacute U -32
+KPX Aacute T -81
+KPX Aacute Q -35
+KPX Aacute O -34
+KPX Aacute G -35
+KPX Aacute C -33
+KPX Agrave period 19
+KPX Agrave comma 19
+KPX Agrave Y -90
+KPX Agrave W -51
+KPX Agrave V -66
+KPX Agrave U -32
+KPX Agrave T -81
+KPX Agrave Q -35
+KPX Agrave O -34
+KPX Agrave G -35
+KPX Agrave C -33
+KPX Acircumflex period 19
+KPX Acircumflex comma 19
+KPX Acircumflex Y -90
+KPX Acircumflex W -51
+KPX Acircumflex V -66
+KPX Acircumflex U -32
+KPX Acircumflex T -81
+KPX Acircumflex Q -35
+KPX Acircumflex O -34
+KPX Acircumflex G -35
+KPX Acircumflex C -33
+KPX Atilde period 19
+KPX Atilde comma 19
+KPX Atilde Y -90
+KPX Atilde W -51
+KPX Atilde V -66
+KPX Atilde U -32
+KPX Atilde T -81
+KPX Atilde Q -35
+KPX Atilde O -34
+KPX Atilde G -35
+KPX Atilde C -33
+KPX Aring y -35
+KPX Aring w -23
+KPX Aring v -37
+KPX Aring u -12
+KPX Aring t -18
+KPX Aring quoteright -61
+KPX Aring quotedblright -65
+KPX Aring q -12
+KPX Aring period 19
+KPX Aring o -16
+KPX Aring hyphen 7
+KPX Aring guilsinglleft -40
+KPX Aring guillemotleft -43
+KPX Aring g -14
+KPX Aring e -9
+KPX Aring d -13
+KPX Aring comma 19
+KPX Aring c -14
+KPX Aring b -1
+KPX Aring a -1
+KPX Aring Y -90
+KPX Aring W -51
+KPX Aring V -66
+KPX Aring U -32
+KPX Aring T -81
+KPX Aring Q -35
+KPX Aring O -34
+KPX Aring G -35
+KPX Aring C -33
+KPX Ccedilla A -28
+KPX Odieresis Y -59
+KPX Odieresis X -36
+KPX Odieresis W -21
+KPX Odieresis V -36
+KPX Odieresis T -20
+KPX Odieresis A -37
+KPX Oacute Y -59
+KPX Oacute W -21
+KPX Oacute V -36
+KPX Oacute T -20
+KPX Oacute A -37
+KPX Ograve Y -59
+KPX Ograve V -36
+KPX Ograve T -20
+KPX Ocircumflex Y -59
+KPX Ocircumflex V -36
+KPX Ocircumflex T -20
+KPX Otilde Y -59
+KPX Otilde V -36
+KPX Otilde T -20
+KPX Udieresis r 5
+KPX Udieresis period -4
+KPX Udieresis p 7
+KPX Udieresis n 5
+KPX Udieresis m 6
+KPX Udieresis comma -7
+KPX Udieresis b 6
+KPX Udieresis A -34
+KPX Uacute r 5
+KPX Uacute period -4
+KPX Uacute p 7
+KPX Uacute n 5
+KPX Uacute m 6
+KPX Uacute comma -7
+KPX Uacute A -34
+KPX Ugrave A -34
+KPX Ucircumflex A -34
+KPX adieresis y -17
+KPX adieresis w -5
+KPX adieresis v -19
+KPX aacute y -17
+KPX aacute w -5
+KPX aacute v -19
+KPX agrave y -17
+KPX agrave w -5
+KPX agrave v -19
+KPX aring y -17
+KPX aring w -5
+KPX aring v -19
+KPX eacute y -17
+KPX eacute w -6
+KPX eacute v -19
+KPX ecircumflex y -17
+KPX ecircumflex w -6
+KPX ecircumflex v -19
+KPX odieresis y -22
+KPX odieresis x -25
+KPX odieresis w -10
+KPX odieresis v -23
+KPX odieresis t -8
+KPX oacute y -22
+KPX oacute w -10
+KPX oacute v -23
+KPX ograve y -22
+KPX ograve w -10
+KPX ograve v -23
+KPX ocircumflex t -8
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/data/font-nimbussansl.pk3dir/fonts/n019004l.pfb b/data/font-nimbussansl.pk3dir/fonts/n019004l.pfb
new file mode 100644 (file)
index 0000000..94a3020
Binary files /dev/null and b/data/font-nimbussansl.pk3dir/fonts/n019004l.pfb differ
diff --git a/data/font-nimbussansl.pk3dir/fonts/n019004l.pfm b/data/font-nimbussansl.pk3dir/fonts/n019004l.pfm
new file mode 100644 (file)
index 0000000..7e2bd50
Binary files /dev/null and b/data/font-nimbussansl.pk3dir/fonts/n019004l.pfm differ
index 60ac26c..119ed7f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Main include header for the SDL library */
+/** @file SDL.h
+ *  Main include header for the SDL library
+ */
 
 #ifndef _SDL_H
 #define _SDL_H
 extern "C" {
 #endif
 
-/* As of version 0.5, SDL is loaded dynamically into the application */
+/** @file SDL.h
+ *  @note As of version 0.5, SDL is loaded dynamically into the application
+ */
 
-/* These are the flags which may be passed to SDL_Init() -- you should
-   specify the subsystems which you will be using in your application.
-*/
+/** @name SDL_INIT Flags
+ *  These are the flags which may be passed to SDL_Init() -- you should
+ *  specify the subsystems which you will be using in your application.
+ */
+/*@{*/
 #define        SDL_INIT_TIMER          0x00000001
 #define SDL_INIT_AUDIO         0x00000010
 #define SDL_INIT_VIDEO         0x00000020
 #define SDL_INIT_CDROM         0x00000100
 #define SDL_INIT_JOYSTICK      0x00000200
-#define SDL_INIT_NOPARACHUTE   0x00100000      /* Don't catch fatal signals */
-#define SDL_INIT_EVENTTHREAD   0x01000000      /* Not supported on all OS's */
+#define SDL_INIT_NOPARACHUTE   0x00100000      /**< Don't catch fatal signals */
+#define SDL_INIT_EVENTTHREAD   0x01000000      /**< Not supported on all OS's */
 #define SDL_INIT_EVERYTHING    0x0000FFFF
+/*@}*/
 
-/* This function loads the SDL dynamically linked library and initializes 
- * the subsystems specified by 'flags' (and those satisfying dependencies)
- * Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup
- * signal handlers for some commonly ignored fatal signals (like SIGSEGV)
+/** This function loads the SDL dynamically linked library and initializes 
+ *  the subsystems specified by 'flags' (and those satisfying dependencies)
+ *  Unless the SDL_INIT_NOPARACHUTE flag is set, it will install cleanup
+ *  signal handlers for some commonly ignored fatal signals (like SIGSEGV)
  */
 extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags);
 
-/* This function initializes specific SDL subsystems */
+/** This function initializes specific SDL subsystems */
 extern DECLSPEC int SDLCALL SDL_InitSubSystem(Uint32 flags);
 
-/* This function cleans up specific SDL subsystems */
+/** This function cleans up specific SDL subsystems */
 extern DECLSPEC void SDLCALL SDL_QuitSubSystem(Uint32 flags);
 
-/* This function returns mask of the specified subsystems which have
-   been initialized.
-   If 'flags' is 0, it returns a mask of all initialized subsystems.
-*/
+/** This function returns mask of the specified subsystems which have
*  been initialized.
*  If 'flags' is 0, it returns a mask of all initialized subsystems.
+ */
 extern DECLSPEC Uint32 SDLCALL SDL_WasInit(Uint32 flags);
 
-/* This function cleans up all initialized subsystems and unloads the
- * dynamically linked library.  You should call it upon all exit conditions.
+/** This function cleans up all initialized subsystems and unloads the
+ *  dynamically linked library.  You should call it upon all exit conditions.
  */
 extern DECLSPEC void SDLCALL SDL_Quit(void);
 
index 2cf474c..0ae92f2 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* Include file for SDL application focus event handling */
+/**
+ *  @file SDL_active.h
+ *  Include file for SDL application focus event handling 
+ */
 
 #ifndef _SDL_active_h
 #define _SDL_active_h
 extern "C" {
 #endif
 
-/* The available application states */
-#define SDL_APPMOUSEFOCUS      0x01            /* The app has mouse coverage */
-#define SDL_APPINPUTFOCUS      0x02            /* The app has input focus */
-#define SDL_APPACTIVE          0x04            /* The application is active */
+/** @name The available application states */
+/*@{*/
+#define SDL_APPMOUSEFOCUS      0x01            /**< The app has mouse coverage */
+#define SDL_APPINPUTFOCUS      0x02            /**< The app has input focus */
+#define SDL_APPACTIVE          0x04            /**< The application is active */
+/*@}*/
 
 /* Function prototypes */
-/* 
+/** 
  * This function returns the current state of the application, which is a
  * bitwise combination of SDL_APPMOUSEFOCUS, SDL_APPINPUTFOCUS, and
  * SDL_APPACTIVE.  If SDL_APPACTIVE is set, then the user is able to
index 68ec475..3a8e7fa 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* Access to the raw audio mixing buffer for the SDL library */
+/**
+ *  @file SDL_audio.h
+ *  Access to the raw audio mixing buffer for the SDL library
+ */
 
 #ifndef _SDL_audio_h
 #define _SDL_audio_h
 extern "C" {
 #endif
 
-/* The calculated values in this structure are calculated by SDL_OpenAudio() */
+/**
+ * When filling in the desired audio spec structure,
+ * - 'desired->freq' should be the desired audio frequency in samples-per-second.
+ * - 'desired->format' should be the desired audio format.
+ * - 'desired->samples' is the desired size of the audio buffer, in samples.
+ *     This number should be a power of two, and may be adjusted by the audio
+ *     driver to a value more suitable for the hardware.  Good values seem to
+ *     range between 512 and 8096 inclusive, depending on the application and
+ *     CPU speed.  Smaller values yield faster response time, but can lead
+ *     to underflow if the application is doing heavy processing and cannot
+ *     fill the audio buffer in time.  A stereo sample consists of both right
+ *     and left channels in LR ordering.
+ *     Note that the number of samples is directly related to time by the
+ *     following formula:  ms = (samples*1000)/freq
+ * - 'desired->size' is the size in bytes of the audio buffer, and is
+ *     calculated by SDL_OpenAudio().
+ * - 'desired->silence' is the value used to set the buffer to silence,
+ *     and is calculated by SDL_OpenAudio().
+ * - 'desired->callback' should be set to a function that will be called
+ *     when the audio device is ready for more data.  It is passed a pointer
+ *     to the audio buffer, and the length in bytes of the audio buffer.
+ *     This function usually runs in a separate thread, and so you should
+ *     protect data structures that it accesses by calling SDL_LockAudio()
+ *     and SDL_UnlockAudio() in your code.
+ * - 'desired->userdata' is passed as the first parameter to your callback
+ *     function.
+ *
+ * @note The calculated values in this structure are calculated by SDL_OpenAudio()
+ *
+ */
 typedef struct SDL_AudioSpec {
-       int freq;               /* DSP frequency -- samples per second */
-       Uint16 format;          /* Audio data format */
-       Uint8  channels;        /* Number of channels: 1 mono, 2 stereo */
-       Uint8  silence;         /* Audio buffer silence value (calculated) */
-       Uint16 samples;         /* Audio buffer size in samples (power of 2) */
-       Uint16 padding;         /* Necessary for some compile environments */
-       Uint32 size;            /* Audio buffer size in bytes (calculated) */
-       /* This function is called when the audio device needs more data.
-          'stream' is a pointer to the audio data buffer
-          'len' is the length of that buffer in bytes.
-          Once the callback returns, the buffer will no longer be valid.
-          Stereo samples are stored in a LRLRLR ordering.
-       */
+       int freq;               /**< DSP frequency -- samples per second */
+       Uint16 format;          /**< Audio data format */
+       Uint8  channels;        /**< Number of channels: 1 mono, 2 stereo */
+       Uint8  silence;         /**< Audio buffer silence value (calculated) */
+       Uint16 samples;         /**< Audio buffer size in samples (power of 2) */
+       Uint16 padding;         /**< Necessary for some compile environments */
+       Uint32 size;            /**< Audio buffer size in bytes (calculated) */
+       /**
+        *  This function is called when the audio device needs more data.
+        *
+        *  @param[out] stream  A pointer to the audio data buffer
+        *  @param[in]  len     The length of the audio buffer in bytes.
+        *
+        *  Once the callback returns, the buffer will no longer be valid.
+        *  Stereo samples are stored in a LRLRLR ordering.
+        */
        void (SDLCALL *callback)(void *userdata, Uint8 *stream, int len);
        void  *userdata;
 } SDL_AudioSpec;
 
-/* Audio format flags (defaults to LSB byte order) */
-#define AUDIO_U8       0x0008  /* Unsigned 8-bit samples */
-#define AUDIO_S8       0x8008  /* Signed 8-bit samples */
-#define AUDIO_U16LSB   0x0010  /* Unsigned 16-bit samples */
-#define AUDIO_S16LSB   0x8010  /* Signed 16-bit samples */
-#define AUDIO_U16MSB   0x1010  /* As above, but big-endian byte order */
-#define AUDIO_S16MSB   0x9010  /* As above, but big-endian byte order */
+/**
+ *  @name Audio format flags
+ *  defaults to LSB byte order
+ */
+/*@{*/
+#define AUDIO_U8       0x0008  /**< Unsigned 8-bit samples */
+#define AUDIO_S8       0x8008  /**< Signed 8-bit samples */
+#define AUDIO_U16LSB   0x0010  /**< Unsigned 16-bit samples */
+#define AUDIO_S16LSB   0x8010  /**< Signed 16-bit samples */
+#define AUDIO_U16MSB   0x1010  /**< As above, but big-endian byte order */
+#define AUDIO_S16MSB   0x9010  /**< As above, but big-endian byte order */
 #define AUDIO_U16      AUDIO_U16LSB
 #define AUDIO_S16      AUDIO_S16LSB
 
-/* Native audio byte ordering */
+/**
+ *  @name Native audio byte ordering
+ */
+/*@{*/
 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
 #define AUDIO_U16SYS   AUDIO_U16LSB
 #define AUDIO_S16SYS   AUDIO_S16LSB
@@ -75,40 +117,48 @@ typedef struct SDL_AudioSpec {
 #define AUDIO_U16SYS   AUDIO_U16MSB
 #define AUDIO_S16SYS   AUDIO_S16MSB
 #endif
+/*@}*/
+
+/*@}*/
 
 
-/* A structure to hold a set of audio conversion filters and buffers */
+/** A structure to hold a set of audio conversion filters and buffers */
 typedef struct SDL_AudioCVT {
-       int needed;                     /* Set to 1 if conversion possible */
-       Uint16 src_format;              /* Source audio format */
-       Uint16 dst_format;              /* Target audio format */
-       double rate_incr;               /* Rate conversion increment */
-       Uint8 *buf;                     /* Buffer to hold entire audio data */
-       int    len;                     /* Length of original audio buffer */
-       int    len_cvt;                 /* Length of converted audio buffer */
-       int    len_mult;                /* buffer must be len*len_mult big */
-       double len_ratio;       /* Given len, final size is len*len_ratio */
+       int needed;                     /**< Set to 1 if conversion possible */
+       Uint16 src_format;              /**< Source audio format */
+       Uint16 dst_format;              /**< Target audio format */
+       double rate_incr;               /**< Rate conversion increment */
+       Uint8 *buf;                     /**< Buffer to hold entire audio data */
+       int    len;                     /**< Length of original audio buffer */
+       int    len_cvt;                 /**< Length of converted audio buffer */
+       int    len_mult;                /**< buffer must be len*len_mult big */
+       double len_ratio;       /**< Given len, final size is len*len_ratio */
        void (SDLCALL *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
-       int filter_index;               /* Current audio conversion function */
+       int filter_index;               /**< Current audio conversion function */
 } SDL_AudioCVT;
 
 
 /* Function prototypes */
 
-/* These functions are used internally, and should not be used unless you
+/**
+ * @name Audio Init and Quit
+ * These functions are used internally, and should not be used unless you
  * have a specific need to specify the audio driver you want to use.
  * You should normally use SDL_Init() or SDL_InitSubSystem().
  */
+/*@{*/
 extern DECLSPEC int SDLCALL SDL_AudioInit(const char *driver_name);
 extern DECLSPEC void SDLCALL SDL_AudioQuit(void);
+/*@}*/
 
-/* This function fills the given character buffer with the name of the
+/**
+ * This function fills the given character buffer with the name of the
  * current audio driver, and returns a pointer to it if the audio driver has
  * been initialized.  It returns NULL if no driver has been initialized.
  */
 extern DECLSPEC char * SDLCALL SDL_AudioDriverName(char *namebuf, int maxlen);
 
-/*
+/**
  * This function opens the audio device with the desired parameters, and
  * returns 0 if successful, placing the actual hardware parameters in the
  * structure pointed to by 'obtained'.  If 'obtained' is NULL, the audio
@@ -117,51 +167,26 @@ extern DECLSPEC char * SDLCALL SDL_AudioDriverName(char *namebuf, int maxlen);
  * audio format if necessary.  This function returns -1 if it failed 
  * to open the audio device, or couldn't set up the audio thread.
  *
- * When filling in the desired audio spec structure,
- *  'desired->freq' should be the desired audio frequency in samples-per-second.
- *  'desired->format' should be the desired audio format.
- *  'desired->samples' is the desired size of the audio buffer, in samples.
- *     This number should be a power of two, and may be adjusted by the audio
- *     driver to a value more suitable for the hardware.  Good values seem to
- *     range between 512 and 8096 inclusive, depending on the application and
- *     CPU speed.  Smaller values yield faster response time, but can lead
- *     to underflow if the application is doing heavy processing and cannot
- *     fill the audio buffer in time.  A stereo sample consists of both right
- *     and left channels in LR ordering.
- *     Note that the number of samples is directly related to time by the
- *     following formula:  ms = (samples*1000)/freq
- *  'desired->size' is the size in bytes of the audio buffer, and is
- *     calculated by SDL_OpenAudio().
- *  'desired->silence' is the value used to set the buffer to silence,
- *     and is calculated by SDL_OpenAudio().
- *  'desired->callback' should be set to a function that will be called
- *     when the audio device is ready for more data.  It is passed a pointer
- *     to the audio buffer, and the length in bytes of the audio buffer.
- *     This function usually runs in a separate thread, and so you should
- *     protect data structures that it accesses by calling SDL_LockAudio()
- *     and SDL_UnlockAudio() in your code.
- *  'desired->userdata' is passed as the first parameter to your callback
- *     function.
- *
  * The audio device starts out playing silence when it's opened, and should
  * be enabled for playing by calling SDL_PauseAudio(0) when you are ready
  * for your audio callback function to be called.  Since the audio driver
  * may modify the requested size of the audio buffer, you should allocate
  * any local mixing buffers after you open the audio device.
+ *
+ * @sa SDL_AudioSpec
  */
 extern DECLSPEC int SDLCALL SDL_OpenAudio(SDL_AudioSpec *desired, SDL_AudioSpec *obtained);
 
-/*
- * Get the current audio state:
- */
 typedef enum {
        SDL_AUDIO_STOPPED = 0,
        SDL_AUDIO_PLAYING,
        SDL_AUDIO_PAUSED
 } SDL_audiostatus;
+
+/** Get the current audio state */
 extern DECLSPEC SDL_audiostatus SDLCALL SDL_GetAudioStatus(void);
 
-/*
+/**
  * This function pauses and unpauses the audio callback processing.
  * It should be called with a parameter of 0 after opening the audio
  * device to start playing sound.  This is so you can safely initialize
@@ -170,11 +195,11 @@ extern DECLSPEC SDL_audiostatus SDLCALL SDL_GetAudioStatus(void);
  */
 extern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on);
 
-/*
+/**
  * This function loads a WAVE from the data source, automatically freeing
  * that source if 'freesrc' is non-zero.  For example, to load a WAVE file,
  * you could do:
- *     SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
+ *     @code SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...); @endcode
  *
  * If this function succeeds, it returns the given SDL_AudioSpec,
  * filled with the audio data format of the wave data, and sets
@@ -189,27 +214,29 @@ extern DECLSPEC void SDLCALL SDL_PauseAudio(int pause_on);
  */
 extern DECLSPEC SDL_AudioSpec * SDLCALL SDL_LoadWAV_RW(SDL_RWops *src, int freesrc, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);
 
-/* Compatibility convenience function -- loads a WAV from a file */
+/** Compatibility convenience function -- loads a WAV from a file */
 #define SDL_LoadWAV(file, spec, audio_buf, audio_len) \
        SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
 
-/*
+/**
  * This function frees data previously allocated with SDL_LoadWAV_RW()
  */
 extern DECLSPEC void SDLCALL SDL_FreeWAV(Uint8 *audio_buf);
 
-/*
+/**
  * This function takes a source format and rate and a destination format
  * and rate, and initializes the 'cvt' structure with information needed
  * by SDL_ConvertAudio() to convert a buffer of audio data from one format
  * to the other.
- * This function returns 0, or -1 if there was an error.
+ *
+ * @return This function returns 0, or -1 if there was an error.
  */
 extern DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT *cvt,
                Uint16 src_format, Uint8 src_channels, int src_rate,
                Uint16 dst_format, Uint8 dst_channels, int dst_rate);
 
-/* Once you have initialized the 'cvt' structure using SDL_BuildAudioCVT(),
+/**
+ * Once you have initialized the 'cvt' structure using SDL_BuildAudioCVT(),
  * created an audio buffer cvt->buf, and filled it with cvt->len bytes of
  * audio data in the source format, this function will convert it in-place
  * to the desired format.
@@ -219,26 +246,30 @@ extern DECLSPEC int SDLCALL SDL_BuildAudioCVT(SDL_AudioCVT *cvt,
  */
 extern DECLSPEC int SDLCALL SDL_ConvertAudio(SDL_AudioCVT *cvt);
 
-/*
+
+#define SDL_MIX_MAXVOLUME 128
+/**
  * This takes two audio buffers of the playing audio format and mixes
  * them, performing addition, volume adjustment, and overflow clipping.
  * The volume ranges from 0 - 128, and should be set to SDL_MIX_MAXVOLUME
  * for full audio volume.  Note this does not change hardware volume.
  * This is provided for convenience -- you can mix your own audio data.
  */
-#define SDL_MIX_MAXVOLUME 128
 extern DECLSPEC void SDLCALL SDL_MixAudio(Uint8 *dst, const Uint8 *src, Uint32 len, int volume);
 
-/*
+/**
+ * @name Audio Locks
  * The lock manipulated by these functions protects the callback function.
  * During a LockAudio/UnlockAudio pair, you can be guaranteed that the
  * callback function is not running.  Do not call these from the callback
  * function or you will cause deadlock.
  */
+/*@{*/
 extern DECLSPEC void SDLCALL SDL_LockAudio(void);
 extern DECLSPEC void SDLCALL SDL_UnlockAudio(void);
+/*@}*/
 
-/*
+/**
  * This function shuts down audio processing and closes the audio device.
  */
 extern DECLSPEC void SDLCALL SDL_CloseAudio(void);
index 3871cfe..9b93cd6 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
+/**
+ *  @file SDL_byteorder.h
+ *  @deprecated Use SDL_endian.h instead
+ */
+
 /* DEPRECATED */
 #include "SDL_endian.h"
index 5f8f0c6..fff5cfa 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* This is the CD-audio control API for Simple DirectMedia Layer */
+/**
+ *  @file SDL_cdrom.h
+ *  This is the CD-audio control API for Simple DirectMedia Layer
+ */
 
 #ifndef _SDL_cdrom_h
 #define _SDL_cdrom_h
 extern "C" {
 #endif
 
-/* In order to use these functions, SDL_Init() must have been called
-   with the SDL_INIT_CDROM flag.  This causes SDL to scan the system
-   for CD-ROM drives, and load appropriate drivers.
-*/
+/**
+ *  @file SDL_cdrom.h
+ *  In order to use these functions, SDL_Init() must have been called
+ *  with the SDL_INIT_CDROM flag.  This causes SDL to scan the system
+ *  for CD-ROM drives, and load appropriate drivers.
+ */
 
-/* The maximum number of CD-ROM tracks on a disk */
+/** The maximum number of CD-ROM tracks on a disk */
 #define SDL_MAX_TRACKS 99
 
-/* The types of CD-ROM track possible */
+/** @name Track Types
+ *  The types of CD-ROM track possible
+ */
+/*@{*/
 #define SDL_AUDIO_TRACK        0x00
 #define SDL_DATA_TRACK 0x04
+/*@}*/
 
-/* The possible states which a CD-ROM drive can be in. */
+/** The possible states which a CD-ROM drive can be in. */
 typedef enum {
        CD_TRAYEMPTY,
        CD_STOPPED,
@@ -55,30 +64,35 @@ typedef enum {
        CD_ERROR = -1
 } CDstatus;
 
-/* Given a status, returns true if there's a disk in the drive */
+/** Given a status, returns true if there's a disk in the drive */
 #define CD_INDRIVE(status)     ((int)(status) > 0)
 
 typedef struct SDL_CDtrack {
-       Uint8 id;               /* Track number */
-       Uint8 type;             /* Data or audio track */
+       Uint8 id;               /**< Track number */
+       Uint8 type;             /**< Data or audio track */
        Uint16 unused;
-       Uint32 length;          /* Length, in frames, of this track */
-       Uint32 offset;          /* Offset, in frames, from start of disk */
+       Uint32 length;          /**< Length, in frames, of this track */
+       Uint32 offset;          /**< Offset, in frames, from start of disk */
 } SDL_CDtrack;
 
-/* This structure is only current as of the last call to SDL_CDStatus() */
+/** This structure is only current as of the last call to SDL_CDStatus() */
 typedef struct SDL_CD {
-       int id;                 /* Private drive identifier */
-       CDstatus status;        /* Current drive status */
-
-       /* The rest of this structure is only valid if there's a CD in drive */
-       int numtracks;          /* Number of tracks on disk */
-       int cur_track;          /* Current track position */
-       int cur_frame;          /* Current frame offset within current track */
+       int id;                 /**< Private drive identifier */
+       CDstatus status;        /**< Current drive status */
+
+       /** The rest of this structure is only valid if there's a CD in drive */
+        /*@{*/
+       int numtracks;          /**< Number of tracks on disk */
+       int cur_track;          /**< Current track position */
+       int cur_frame;          /**< Current frame offset within current track */
        SDL_CDtrack track[SDL_MAX_TRACKS+1];
+        /*@}*/
 } SDL_CD;
 
-/* Conversion functions from frames to Minute/Second/Frames and vice versa */
+/** @name Frames / MSF Conversion Functions
+ *  Conversion functions from frames to Minute/Second/Frames and vice versa
+ */
+/*@{*/
 #define CD_FPS 75
 #define FRAMES_TO_MSF(f, M,S,F)        {                                       \
        int value = f;                                                  \
@@ -89,76 +103,93 @@ typedef struct SDL_CD {
        *(M) = value;                                                   \
 }
 #define MSF_TO_FRAMES(M, S, F) ((M)*60*CD_FPS+(S)*CD_FPS+(F))
+/*@}*/
 
 /* CD-audio API functions: */
 
-/* Returns the number of CD-ROM drives on the system, or -1 if
-   SDL_Init() has not been called with the SDL_INIT_CDROM flag.
+/**
+ *  Returns the number of CD-ROM drives on the system, or -1 if
+ *  SDL_Init() has not been called with the SDL_INIT_CDROM flag.
  */
 extern DECLSPEC int SDLCALL SDL_CDNumDrives(void);
 
-/* Returns a human-readable, system-dependent identifier for the CD-ROM.
-   Example:
-       "/dev/cdrom"
-       "E:"
-       "/dev/disk/ide/1/master"
-*/
+/**
+ *  Returns a human-readable, system-dependent identifier for the CD-ROM.
+ *  Example:
+ *   - "/dev/cdrom"
+ *   - "E:"
+ *   - "/dev/disk/ide/1/master"
+ */
 extern DECLSPEC const char * SDLCALL SDL_CDName(int drive);
 
-/* Opens a CD-ROM drive for access.  It returns a drive handle on success,
-   or NULL if the drive was invalid or busy.  This newly opened CD-ROM
-   becomes the default CD used when other CD functions are passed a NULL
-   CD-ROM handle.
-   Drives are numbered starting with 0.  Drive 0 is the system default CD-ROM.
-*/
+/**
+ *  Opens a CD-ROM drive for access.  It returns a drive handle on success,
+ *  or NULL if the drive was invalid or busy.  This newly opened CD-ROM
+ *  becomes the default CD used when other CD functions are passed a NULL
+ *  CD-ROM handle.
+ *  Drives are numbered starting with 0.  Drive 0 is the system default CD-ROM.
+ */
 extern DECLSPEC SDL_CD * SDLCALL SDL_CDOpen(int drive);
 
-/* This function returns the current status of the given drive.
-   If the drive has a CD in it, the table of contents of the CD and current
-   play position of the CD will be stored in the SDL_CD structure.
-*/
+/**
+ *  This function returns the current status of the given drive.
+ *  If the drive has a CD in it, the table of contents of the CD and current
+ *  play position of the CD will be stored in the SDL_CD structure.
+ */
 extern DECLSPEC CDstatus SDLCALL SDL_CDStatus(SDL_CD *cdrom);
 
-/* Play the given CD starting at 'start_track' and 'start_frame' for 'ntracks'
-   tracks and 'nframes' frames.  If both 'ntrack' and 'nframe' are 0, play 
-   until the end of the CD.  This function will skip data tracks.
-   This function should only be called after calling SDL_CDStatus() to 
-   get track information about the CD.
-   For example:
-       // Play entire CD:
-       if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
-               SDL_CDPlayTracks(cdrom, 0, 0, 0, 0);
-       // Play last track:
-       if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {
-               SDL_CDPlayTracks(cdrom, cdrom->numtracks-1, 0, 0, 0);
-       }
-       // Play first and second track and 10 seconds of third track:
-       if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
-               SDL_CDPlayTracks(cdrom, 0, 0, 2, 10);
-
-   This function returns 0, or -1 if there was an error.
-*/
+/**
+ *  Play the given CD starting at 'start_track' and 'start_frame' for 'ntracks'
+ *  tracks and 'nframes' frames.  If both 'ntrack' and 'nframe' are 0, play 
+ *  until the end of the CD.  This function will skip data tracks.
+ *  This function should only be called after calling SDL_CDStatus() to 
+ *  get track information about the CD.
+ *  For example:
+ *      @code
+ *     // Play entire CD:
+ *     if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
+ *             SDL_CDPlayTracks(cdrom, 0, 0, 0, 0);
+ *     // Play last track:
+ *     if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {
+ *             SDL_CDPlayTracks(cdrom, cdrom->numtracks-1, 0, 0, 0);
+ *     }
+ *     // Play first and second track and 10 seconds of third track:
+ *     if ( CD_INDRIVE(SDL_CDStatus(cdrom)) )
+ *             SDL_CDPlayTracks(cdrom, 0, 0, 2, 10);
+ *      @endcode
+ *
+ *  @return This function returns 0, or -1 if there was an error.
+ */
 extern DECLSPEC int SDLCALL SDL_CDPlayTracks(SDL_CD *cdrom,
                int start_track, int start_frame, int ntracks, int nframes);
 
-/* Play the given CD starting at 'start' frame for 'length' frames.
-   It returns 0, or -1 if there was an error.
-*/
+/**
+ *  Play the given CD starting at 'start' frame for 'length' frames.
+ *  @return It returns 0, or -1 if there was an error.
+ */
 extern DECLSPEC int SDLCALL SDL_CDPlay(SDL_CD *cdrom, int start, int length);
 
-/* Pause play -- returns 0, or -1 on error */
+/** Pause play
+ *  @return returns 0, or -1 on error
+ */
 extern DECLSPEC int SDLCALL SDL_CDPause(SDL_CD *cdrom);
 
-/* Resume play -- returns 0, or -1 on error */
+/** Resume play
+ *  @return returns 0, or -1 on error
+ */
 extern DECLSPEC int SDLCALL SDL_CDResume(SDL_CD *cdrom);
 
-/* Stop play -- returns 0, or -1 on error */
+/** Stop play
+ *  @return returns 0, or -1 on error
+ */
 extern DECLSPEC int SDLCALL SDL_CDStop(SDL_CD *cdrom);
 
-/* Eject CD-ROM -- returns 0, or -1 on error */
+/** Eject CD-ROM
+ *  @return returns 0, or -1 on error
+ */
 extern DECLSPEC int SDLCALL SDL_CDEject(SDL_CD *cdrom);
 
-/* Closes the handle for the CD-ROM drive */
+/** Closes the handle for the CD-ROM drive */
 extern DECLSPEC void SDLCALL SDL_CDClose(SDL_CD *cdrom);
 
 
index c82f42a..a508101 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
index 9cbeea3..07c2f08 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
index c4a1c59..4ba5c22 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
index 481c22e..295b872 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -90,7 +90,6 @@
 
 /* Enable various audio drivers */
 #define SDL_AUDIO_DRIVER_COREAUDIO     1
-#define SDL_AUDIO_DRIVER_SNDMGR        1
 #define SDL_AUDIO_DRIVER_DISK  1
 #define SDL_AUDIO_DRIVER_DUMMY 1
 
 #else
 #define SDL_VIDEO_DRIVER_QUARTZ        1
 #endif
+#define SDL_VIDEO_DRIVER_DGA 1
+#define SDL_VIDEO_DRIVER_X11 1
+#define SDL_VIDEO_DRIVER_X11_DGAMOUSE 1
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC "/usr/X11R6/lib/libX11.6.dylib"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/usr/X11R6/lib/libXext.6.dylib"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/usr/X11R6/lib/libXrandr.2.dylib"
+#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER "/usr/X11R6/lib/libXrender.1.dylib"
+#define SDL_VIDEO_DRIVER_X11_VIDMODE 1
+#define SDL_VIDEO_DRIVER_X11_XINERAMA 1
+#define SDL_VIDEO_DRIVER_X11_XME 1
+#define SDL_VIDEO_DRIVER_X11_XRANDR 1
+#define SDL_VIDEO_DRIVER_X11_XV 1
 
 /* Enable OpenGL support */
 #define SDL_VIDEO_OPENGL       1
+#define SDL_VIDEO_OPENGL_GLX 1
+
+/* Disable screensaver */
+#define SDL_VIDEO_DISABLE_SCREENSAVER  1
 
 /* Enable assembly routines */
 #define SDL_ASSEMBLY_ROUTINES  1
index 8cdea9f..bb40df0 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
index cfb44d2..6d019a8 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -172,6 +172,9 @@ typedef unsigned int uintptr_t;
 #define SDL_VIDEO_OPENGL_WGL   1
 #endif
 
+/* Disable screensaver */
+#define SDL_VIDEO_DISABLE_SCREENSAVER  1
+
 /* Enable assembly routines (Win64 doesn't have inline asm) */
 #ifndef _WIN64
 #define SDL_ASSEMBLY_ROUTINES  1
index 39e122d..1bd6b84 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
index 72acbdd..f4be8e0 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* CPU feature detection for SDL                                       */
+/**
+ *  @file SDL_cpuinfo.h
+ *  CPU feature detection for SDL
+ */
 
 #ifndef _SDL_cpuinfo_h
 #define _SDL_cpuinfo_h
 extern "C" {
 #endif
 
-/* This function returns true if the CPU has the RDTSC instruction
- */
+/** This function returns true if the CPU has the RDTSC instruction */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void);
 
-/* This function returns true if the CPU has MMX features
- */
+/** This function returns true if the CPU has MMX features */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void);
 
-/* This function returns true if the CPU has MMX Ext. features
- */
+/** This function returns true if the CPU has MMX Ext. features */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void);
 
-/* This function returns true if the CPU has 3DNow features
- */
+/** This function returns true if the CPU has 3DNow features */
 extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void);
 
-/* This function returns true if the CPU has 3DNow! Ext. features
- */
+/** This function returns true if the CPU has 3DNow! Ext. features */
 extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNowExt(void);
 
-/* This function returns true if the CPU has SSE features
- */
+/** This function returns true if the CPU has SSE features */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void);
 
-/* This function returns true if the CPU has SSE2 features
- */
+/** This function returns true if the CPU has SSE2 features */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void);
 
-/* This function returns true if the CPU has AltiVec features
- */
+/** This function returns true if the CPU has AltiVec features */
 extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void);
 
 /* Ends C function definitions when using C++ */
index 8f8db4c..f7a2e2f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* Functions for reading and writing endian-specific values */
+/**
+ *  @file SDL_endian.h
+ *  Functions for reading and writing endian-specific values
+ */
 
 #ifndef _SDL_endian_h
 #define _SDL_endian_h
 
 #include "SDL_stdinc.h"
 
-/* The two types of endianness */
+/** @name SDL_ENDIANs
+ *  The two types of endianness 
+ */
+/*@{*/
 #define SDL_LIL_ENDIAN 1234
 #define SDL_BIG_ENDIAN 4321
+/*@}*/
 
 #ifndef SDL_BYTEORDER  /* Not defined in SDL_config.h? */
 #if defined(__hppa__) || \
 extern "C" {
 #endif
 
-/* Use inline functions for compilers that support them, and static
-   functions for those that do not.  Because these functions become
-   static for compilers that do not support inline functions, this
-   header should only be included in files that actually use them.
-*/
+/**
+ *  @name SDL_Swap Functions
+ *  Use inline functions for compilers that support them, and static
+ *  functions for those that do not.  Because these functions become
+ *  static for compilers that do not support inline functions, this
+ *  header should only be included in files that actually use them.
+ */
+/*@{*/
 #if defined(__GNUC__) && defined(__i386__) && \
    !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */)
 static __inline__ Uint16 SDL_Swap16(Uint16 x)
@@ -150,9 +160,9 @@ static __inline__ Uint64 SDL_Swap64(Uint64 x)
        Uint32 hi, lo;
 
        /* Separate into high and low 32-bit values and swap them */
-       lo = (Uint32)(x&0xFFFFFFFF);
+       lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
        x >>= 32;
-       hi = (Uint32)(x&0xFFFFFFFF);
+       hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF);
        x = SDL_Swap32(lo);
        x <<= 32;
        x |= SDL_Swap32(hi);
@@ -161,14 +171,18 @@ static __inline__ Uint64 SDL_Swap64(Uint64 x)
 #endif
 #else
 /* This is mainly to keep compilers from complaining in SDL code.
  If there is no real 64-bit datatype, then compilers will complain about
  the fake 64-bit datatype that SDL provides when it compiles user code.
-*/
* If there is no real 64-bit datatype, then compilers will complain about
* the fake 64-bit datatype that SDL provides when it compiles user code.
+ */
 #define SDL_Swap64(X)  (X)
 #endif /* SDL_HAS_64BIT_TYPE */
+/*@}*/
 
-
-/* Byteswap item from the specified endianness to the native endianness */
+/**
+ *  @name SDL_SwapLE and SDL_SwapBE Functions
+ *  Byteswap item from the specified endianness to the native endianness
+ */
+/*@{*/
 #if SDL_BYTEORDER == SDL_LIL_ENDIAN
 #define SDL_SwapLE16(X)        (X)
 #define SDL_SwapLE32(X)        (X)
@@ -184,6 +198,7 @@ static __inline__ Uint64 SDL_Swap64(Uint64 x)
 #define SDL_SwapBE32(X)        (X)
 #define SDL_SwapBE64(X)        (X)
 #endif
+/*@}*/
 
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
index 26d6bfa..b103703 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* Simple error message routines for SDL */
+/**
+ *  @file SDL_error.h
+ *  Simple error message routines for SDL
+ */
 
 #ifndef _SDL_error_h
 #define _SDL_error_h
 extern "C" {
 #endif
 
-/* Public functions */
+/** 
+ *  @name Public functions
+ */
+/*@{*/
 extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...);
 extern DECLSPEC char * SDLCALL SDL_GetError(void);
 extern DECLSPEC void SDLCALL SDL_ClearError(void);
+/*@}*/
 
-/* Private error message function - used internally */
+/**
+ *  @name Private functions
+ *  @internal Private error message function - used internally
+ */
+/*@{*/
 #define SDL_OutOfMemory()      SDL_Error(SDL_ENOMEM)
 #define SDL_Unsupported()      SDL_Error(SDL_UNSUPPORTED)
 typedef enum {
@@ -50,7 +61,7 @@ typedef enum {
        SDL_LASTERROR
 } SDL_errorcode;
 extern DECLSPEC void SDLCALL SDL_Error(SDL_errorcode code);
-
+/*@}*/
 
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
index 9fe918c..c94a30c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* Include file for SDL event handling */
+/**
+ *  @file SDL_events.h
+ *  Include file for SDL event handling
+ */
 
 #ifndef _SDL_events_h
 #define _SDL_events_h
 extern "C" {
 #endif
 
-/* General keyboard/mouse state definitions */
+/** @name General keyboard/mouse state definitions */
+/*@{*/
 #define SDL_RELEASED   0
 #define SDL_PRESSED    1
+/*@}*/
 
-/* Event enumerations */
+/** Event enumerations */
 typedef enum {
-       SDL_NOEVENT = 0,                        /* Unused (do not remove) */
-       SDL_ACTIVEEVENT,                        /* Application loses/gains visibility */
-       SDL_KEYDOWN,                    /* Keys pressed */
-       SDL_KEYUP,                      /* Keys released */
-       SDL_MOUSEMOTION,                        /* Mouse moved */
-       SDL_MOUSEBUTTONDOWN,            /* Mouse button pressed */
-       SDL_MOUSEBUTTONUP,              /* Mouse button released */
-       SDL_JOYAXISMOTION,              /* Joystick axis motion */
-       SDL_JOYBALLMOTION,              /* Joystick trackball motion */
-       SDL_JOYHATMOTION,               /* Joystick hat position change */
-       SDL_JOYBUTTONDOWN,              /* Joystick button pressed */
-       SDL_JOYBUTTONUP,                        /* Joystick button released */
-       SDL_QUIT,                       /* User-requested quit */
-       SDL_SYSWMEVENT,                 /* System specific event */
-       SDL_EVENT_RESERVEDA,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVEDB,            /* Reserved for future use.. */
-       SDL_VIDEORESIZE,                        /* User resized video mode */
-       SDL_VIDEOEXPOSE,                        /* Screen needs to be redrawn */
-       SDL_EVENT_RESERVED2,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVED3,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVED4,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVED5,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVED6,            /* Reserved for future use.. */
-       SDL_EVENT_RESERVED7,            /* Reserved for future use.. */
-       /* Events SDL_USEREVENT through SDL_MAXEVENTS-1 are for your use */
+       SDL_NOEVENT = 0,                        /**< Unused (do not remove) */
+       SDL_ACTIVEEVENT,                        /**< Application loses/gains visibility */
+       SDL_KEYDOWN,                    /**< Keys pressed */
+       SDL_KEYUP,                      /**< Keys released */
+       SDL_MOUSEMOTION,                        /**< Mouse moved */
+       SDL_MOUSEBUTTONDOWN,            /**< Mouse button pressed */
+       SDL_MOUSEBUTTONUP,              /**< Mouse button released */
+       SDL_JOYAXISMOTION,              /**< Joystick axis motion */
+       SDL_JOYBALLMOTION,              /**< Joystick trackball motion */
+       SDL_JOYHATMOTION,               /**< Joystick hat position change */
+       SDL_JOYBUTTONDOWN,              /**< Joystick button pressed */
+       SDL_JOYBUTTONUP,                        /**< Joystick button released */
+       SDL_QUIT,                       /**< User-requested quit */
+       SDL_SYSWMEVENT,                 /**< System specific event */
+       SDL_EVENT_RESERVEDA,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVEDB,            /**< Reserved for future use.. */
+       SDL_VIDEORESIZE,                        /**< User resized video mode */
+       SDL_VIDEOEXPOSE,                        /**< Screen needs to be redrawn */
+       SDL_EVENT_RESERVED2,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVED3,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVED4,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVED5,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVED6,            /**< Reserved for future use.. */
+       SDL_EVENT_RESERVED7,            /**< Reserved for future use.. */
+       /** Events SDL_USEREVENT through SDL_MAXEVENTS-1 are for your use */
        SDL_USEREVENT = 24,
-       /* This last event is only for bounding internal arrays
-         It is the number of bits in the event mask datatype -- Uint32
+       /** This last event is only for bounding internal arrays
+       *  It is the number of bits in the event mask datatype -- Uint32
         */
        SDL_NUMEVENTS = 32
 } SDL_EventType;
 
-/* Predefined event masks */
+/** @name Predefined event masks */
+/*@{*/
 #define SDL_EVENTMASK(X)       (1<<(X))
 typedef enum {
        SDL_ACTIVEEVENTMASK     = SDL_EVENTMASK(SDL_ACTIVEEVENT),
@@ -107,108 +113,109 @@ typedef enum {
        SDL_SYSWMEVENTMASK      = SDL_EVENTMASK(SDL_SYSWMEVENT)
 } SDL_EventMask ;
 #define SDL_ALLEVENTS          0xFFFFFFFF
+/*@}*/
 
-/* Application visibility event structure */
+/** Application visibility event structure */
 typedef struct SDL_ActiveEvent {
-       Uint8 type;     /* SDL_ACTIVEEVENT */
-       Uint8 gain;     /* Whether given states were gained or lost (1/0) */
-       Uint8 state;    /* A mask of the focus states */
+       Uint8 type;     /**< SDL_ACTIVEEVENT */
+       Uint8 gain;     /**< Whether given states were gained or lost (1/0) */
+       Uint8 state;    /**< A mask of the focus states */
 } SDL_ActiveEvent;
 
-/* Keyboard event structure */
+/** Keyboard event structure */
 typedef struct SDL_KeyboardEvent {
-       Uint8 type;     /* SDL_KEYDOWN or SDL_KEYUP */
-       Uint8 which;    /* The keyboard device index */
-       Uint8 state;    /* SDL_PRESSED or SDL_RELEASED */
+       Uint8 type;     /**< SDL_KEYDOWN or SDL_KEYUP */
+       Uint8 which;    /**< The keyboard device index */
+       Uint8 state;    /**< SDL_PRESSED or SDL_RELEASED */
        SDL_keysym keysym;
 } SDL_KeyboardEvent;
 
-/* Mouse motion event structure */
+/** Mouse motion event structure */
 typedef struct SDL_MouseMotionEvent {
-       Uint8 type;     /* SDL_MOUSEMOTION */
-       Uint8 which;    /* The mouse device index */
-       Uint8 state;    /* The current button state */
-       Uint16 x, y;    /* The X/Y coordinates of the mouse */
-       Sint16 xrel;    /* The relative motion in the X direction */
-       Sint16 yrel;    /* The relative motion in the Y direction */
+       Uint8 type;     /**< SDL_MOUSEMOTION */
+       Uint8 which;    /**< The mouse device index */
+       Uint8 state;    /**< The current button state */
+       Uint16 x, y;    /**< The X/Y coordinates of the mouse */
+       Sint16 xrel;    /**< The relative motion in the X direction */
+       Sint16 yrel;    /**< The relative motion in the Y direction */
 } SDL_MouseMotionEvent;
 
-/* Mouse button event structure */
+/** Mouse button event structure */
 typedef struct SDL_MouseButtonEvent {
-       Uint8 type;     /* SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP */
-       Uint8 which;    /* The mouse device index */
-       Uint8 button;   /* The mouse button index */
-       Uint8 state;    /* SDL_PRESSED or SDL_RELEASED */
-       Uint16 x, y;    /* The X/Y coordinates of the mouse at press time */
+       Uint8 type;     /**< SDL_MOUSEBUTTONDOWN or SDL_MOUSEBUTTONUP */
+       Uint8 which;    /**< The mouse device index */
+       Uint8 button;   /**< The mouse button index */
+       Uint8 state;    /**< SDL_PRESSED or SDL_RELEASED */
+       Uint16 x, y;    /**< The X/Y coordinates of the mouse at press time */
 } SDL_MouseButtonEvent;
 
-/* Joystick axis motion event structure */
+/** Joystick axis motion event structure */
 typedef struct SDL_JoyAxisEvent {
-       Uint8 type;     /* SDL_JOYAXISMOTION */
-       Uint8 which;    /* The joystick device index */
-       Uint8 axis;     /* The joystick axis index */
-       Sint16 value;   /* The axis value (range: -32768 to 32767) */
+       Uint8 type;     /**< SDL_JOYAXISMOTION */
+       Uint8 which;    /**< The joystick device index */
+       Uint8 axis;     /**< The joystick axis index */
+       Sint16 value;   /**< The axis value (range: -32768 to 32767) */
 } SDL_JoyAxisEvent;
 
-/* Joystick trackball motion event structure */
+/** Joystick trackball motion event structure */
 typedef struct SDL_JoyBallEvent {
-       Uint8 type;     /* SDL_JOYBALLMOTION */
-       Uint8 which;    /* The joystick device index */
-       Uint8 ball;     /* The joystick trackball index */
-       Sint16 xrel;    /* The relative motion in the X direction */
-       Sint16 yrel;    /* The relative motion in the Y direction */
+       Uint8 type;     /**< SDL_JOYBALLMOTION */
+       Uint8 which;    /**< The joystick device index */
+       Uint8 ball;     /**< The joystick trackball index */
+       Sint16 xrel;    /**< The relative motion in the X direction */
+       Sint16 yrel;    /**< The relative motion in the Y direction */
 } SDL_JoyBallEvent;
 
-/* Joystick hat position change event structure */
+/** Joystick hat position change event structure */
 typedef struct SDL_JoyHatEvent {
-       Uint8 type;     /* SDL_JOYHATMOTION */
-       Uint8 which;    /* The joystick device index */
-       Uint8 hat;      /* The joystick hat index */
-       Uint8 value;    /* The hat position value:
-                           SDL_HAT_LEFTUP   SDL_HAT_UP       SDL_HAT_RIGHTUP
-                           SDL_HAT_LEFT     SDL_HAT_CENTERED SDL_HAT_RIGHT
-                           SDL_HAT_LEFTDOWN SDL_HAT_DOWN     SDL_HAT_RIGHTDOWN
-                          Note that zero means the POV is centered.
-                       */
+       Uint8 type;     /**< SDL_JOYHATMOTION */
+       Uint8 which;    /**< The joystick device index */
+       Uint8 hat;      /**< The joystick hat index */
+       Uint8 value;    /**< The hat position value:
+                        *   SDL_HAT_LEFTUP   SDL_HAT_UP       SDL_HAT_RIGHTUP
+                        *   SDL_HAT_LEFT     SDL_HAT_CENTERED SDL_HAT_RIGHT
+                        *   SDL_HAT_LEFTDOWN SDL_HAT_DOWN     SDL_HAT_RIGHTDOWN
+                        *  Note that zero means the POV is centered.
+                        */
 } SDL_JoyHatEvent;
 
-/* Joystick button event structure */
+/** Joystick button event structure */
 typedef struct SDL_JoyButtonEvent {
-       Uint8 type;     /* SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP */
-       Uint8 which;    /* The joystick device index */
-       Uint8 button;   /* The joystick button index */
-       Uint8 state;    /* SDL_PRESSED or SDL_RELEASED */
+       Uint8 type;     /**< SDL_JOYBUTTONDOWN or SDL_JOYBUTTONUP */
+       Uint8 which;    /**< The joystick device index */
+       Uint8 button;   /**< The joystick button index */
+       Uint8 state;    /**< SDL_PRESSED or SDL_RELEASED */
 } SDL_JoyButtonEvent;
 
-/* The "window resized" event
-   When you get this event, you are responsible for setting a new video
-   mode with the new width and height.
+/** The "window resized" event
*  When you get this event, you are responsible for setting a new video
*  mode with the new width and height.
  */
 typedef struct SDL_ResizeEvent {
-       Uint8 type;     /* SDL_VIDEORESIZE */
-       int w;          /* New width */
-       int h;          /* New height */
+       Uint8 type;     /**< SDL_VIDEORESIZE */
+       int w;          /**< New width */
+       int h;          /**< New height */
 } SDL_ResizeEvent;
 
-/* The "screen redraw" event */
+/** The "screen redraw" event */
 typedef struct SDL_ExposeEvent {
-       Uint8 type;     /* SDL_VIDEOEXPOSE */
+       Uint8 type;     /**< SDL_VIDEOEXPOSE */
 } SDL_ExposeEvent;
 
-/* The "quit requested" event */
+/** The "quit requested" event */
 typedef struct SDL_QuitEvent {
-       Uint8 type;     /* SDL_QUIT */
+       Uint8 type;     /**< SDL_QUIT */
 } SDL_QuitEvent;
 
-/* A user-defined event type */
+/** A user-defined event type */
 typedef struct SDL_UserEvent {
-       Uint8 type;     /* SDL_USEREVENT through SDL_NUMEVENTS-1 */
-       int code;       /* User defined event code */
-       void *data1;    /* User defined data pointer */
-       void *data2;    /* User defined data pointer */
+       Uint8 type;     /**< SDL_USEREVENT through SDL_NUMEVENTS-1 */
+       int code;       /**< User defined event code */
+       void *data1;    /**< User defined data pointer */
+       void *data2;    /**< User defined data pointer */
 } SDL_UserEvent;
 
-/* If you want to use this event, you should include SDL_syswm.h */
+/** If you want to use this event, you should include SDL_syswm.h */
 struct SDL_SysWMmsg;
 typedef struct SDL_SysWMmsg SDL_SysWMmsg;
 typedef struct SDL_SysWMEvent {
@@ -216,7 +223,7 @@ typedef struct SDL_SysWMEvent {
        SDL_SysWMmsg *msg;
 } SDL_SysWMEvent;
 
-/* General event structure */
+/** General event structure */
 typedef union SDL_Event {
        Uint8 type;
        SDL_ActiveEvent active;
@@ -237,97 +244,109 @@ typedef union SDL_Event {
 
 /* Function prototypes */
 
-/* Pumps the event loop, gathering events from the input devices.
-   This function updates the event queue and internal input device state.
-   This should only be run in the thread that sets the video mode.
-*/
+/** Pumps the event loop, gathering events from the input devices.
*  This function updates the event queue and internal input device state.
*  This should only be run in the thread that sets the video mode.
+ */
 extern DECLSPEC void SDLCALL SDL_PumpEvents(void);
 
-/* Checks the event queue for messages and optionally returns them.
-   If 'action' is SDL_ADDEVENT, up to 'numevents' events will be added to
-   the back of the event queue.
-   If 'action' is SDL_PEEKEVENT, up to 'numevents' events at the front
-   of the event queue, matching 'mask', will be returned and will not
-   be removed from the queue.
-   If 'action' is SDL_GETEVENT, up to 'numevents' events at the front 
-   of the event queue, matching 'mask', will be returned and will be
-   removed from the queue.
-   This function returns the number of events actually stored, or -1
-   if there was an error.  This function is thread-safe.
-*/
 typedef enum {
        SDL_ADDEVENT,
        SDL_PEEKEVENT,
        SDL_GETEVENT
 } SDL_eventaction;
-/* */
+
+/**
+ *  Checks the event queue for messages and optionally returns them.
+ *
+ *  If 'action' is SDL_ADDEVENT, up to 'numevents' events will be added to
+ *  the back of the event queue.
+ *  If 'action' is SDL_PEEKEVENT, up to 'numevents' events at the front
+ *  of the event queue, matching 'mask', will be returned and will not
+ *  be removed from the queue.
+ *  If 'action' is SDL_GETEVENT, up to 'numevents' events at the front 
+ *  of the event queue, matching 'mask', will be returned and will be
+ *  removed from the queue.
+ *
+ *  @return
+ *  This function returns the number of events actually stored, or -1
+ *  if there was an error.
+ *
+ *  This function is thread-safe.
+ */
 extern DECLSPEC int SDLCALL SDL_PeepEvents(SDL_Event *events, int numevents,
                                SDL_eventaction action, Uint32 mask);
 
-/* Polls for currently pending events, and returns 1 if there are any pending
-   events, or 0 if there are none available.  If 'event' is not NULL, the next
-   event is removed from the queue and stored in that area.
+/** Polls for currently pending events, and returns 1 if there are any pending
*  events, or 0 if there are none available.  If 'event' is not NULL, the next
*  event is removed from the queue and stored in that area.
  */
 extern DECLSPEC int SDLCALL SDL_PollEvent(SDL_Event *event);
 
-/* Waits indefinitely for the next available event, returning 1, or 0 if there
-   was an error while waiting for events.  If 'event' is not NULL, the next
-   event is removed from the queue and stored in that area.
+/** Waits indefinitely for the next available event, returning 1, or 0 if there
*  was an error while waiting for events.  If 'event' is not NULL, the next
*  event is removed from the queue and stored in that area.
  */
 extern DECLSPEC int SDLCALL SDL_WaitEvent(SDL_Event *event);
 
-/* Add an event to the event queue.
-   This function returns 0 on success, or -1 if the event queue was full
-   or there was some other error.
+/** Add an event to the event queue.
*  This function returns 0 on success, or -1 if the event queue was full
*  or there was some other error.
  */
 extern DECLSPEC int SDLCALL SDL_PushEvent(SDL_Event *event);
 
-/*
-  This function sets up a filter to process all events before they
-  change internal state and are posted to the internal event queue.
-
-  The filter is protypted as:
-*/
+/** @name Event Filtering */
+/*@{*/
 typedef int (SDLCALL *SDL_EventFilter)(const SDL_Event *event);
-/*
-  If the filter returns 1, then the event will be added to the internal queue.
-  If it returns 0, then the event will be dropped from the queue, but the 
-  internal state will still be updated.  This allows selective filtering of
-  dynamically arriving events.
-
-  WARNING:  Be very careful of what you do in the event filter function, as 
-            it may run in a different thread!
-
-  There is one caveat when dealing with the SDL_QUITEVENT event type.  The
-  event filter is only called when the window manager desires to close the
-  application window.  If the event filter returns 1, then the window will
-  be closed, otherwise the window will remain open if possible.
-  If the quit event is generated by an interrupt signal, it will bypass the
-  internal queue and be delivered to the application at the next event poll.
-*/
+/**
+ *  This function sets up a filter to process all events before they
+ *  change internal state and are posted to the internal event queue.
+ *
+ *  The filter is protypted as:
+ *      @code typedef int (SDLCALL *SDL_EventFilter)(const SDL_Event *event); @endcode
+ *
+ * If the filter returns 1, then the event will be added to the internal queue.
+ * If it returns 0, then the event will be dropped from the queue, but the 
+ * internal state will still be updated.  This allows selective filtering of
+ * dynamically arriving events.
+ *
+ * @warning  Be very careful of what you do in the event filter function, as 
+ *           it may run in a different thread!
+ *
+ * There is one caveat when dealing with the SDL_QUITEVENT event type.  The
+ * event filter is only called when the window manager desires to close the
+ * application window.  If the event filter returns 1, then the window will
+ * be closed, otherwise the window will remain open if possible.
+ * If the quit event is generated by an interrupt signal, it will bypass the
+ * internal queue and be delivered to the application at the next event poll.
+ */
 extern DECLSPEC void SDLCALL SDL_SetEventFilter(SDL_EventFilter filter);
 
-/*
-  Return the current event filter - can be used to "chain" filters.
-  If there is no event filter set, this function returns NULL.
-*/
+/**
 Return the current event filter - can be used to "chain" filters.
 If there is no event filter set, this function returns NULL.
+ */
 extern DECLSPEC SDL_EventFilter SDLCALL SDL_GetEventFilter(void);
+/*@}*/
 
-/*
-  This function allows you to set the state of processing certain events.
-  If 'state' is set to SDL_IGNORE, that event will be automatically dropped
-  from the event queue and will not event be filtered.
-  If 'state' is set to SDL_ENABLE, that event will be processed normally.
-  If 'state' is set to SDL_QUERY, SDL_EventState() will return the 
-  current processing state of the specified event.
-*/
+/** @name Event State */
+/*@{*/
 #define SDL_QUERY      -1
 #define SDL_IGNORE      0
 #define SDL_DISABLE     0
 #define SDL_ENABLE      1
+/*@}*/
+
+/**
+* This function allows you to set the state of processing certain events.
+* If 'state' is set to SDL_IGNORE, that event will be automatically dropped
+* from the event queue and will not event be filtered.
+* If 'state' is set to SDL_ENABLE, that event will be processed normally.
+* If 'state' is set to SDL_QUERY, SDL_EventState() will return the 
+* current processing state of the specified event.
+*/
 extern DECLSPEC Uint8 SDLCALL SDL_EventState(Uint8 type, int state);
 
-
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
 }
index 853b9ce..253ad88 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,5 +20,9 @@
     slouken@libsdl.org
 */
 
+/** @file SDL_getenv.h
+ *  @deprecated Use SDL_stdinc.h instead
+ */
+
 /* DEPRECATED */
 #include "SDL_stdinc.h"
index e4f72f1..d5135c3 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Include file for SDL joystick event handling */
+/** @file SDL_joystick.h
+ *  Include file for SDL joystick event handling
+ */
 
 #ifndef _SDL_joystick_h
 #define _SDL_joystick_h
 extern "C" {
 #endif
 
-/* In order to use these functions, SDL_Init() must have been called
-   with the SDL_INIT_JOYSTICK flag.  This causes SDL to scan the system
-   for joysticks, and load appropriate drivers.
-*/
+/** @file SDL_joystick.h
+ *  @note In order to use these functions, SDL_Init() must have been called
+ *        with the SDL_INIT_JOYSTICK flag.  This causes SDL to scan the system
+ *        for joysticks, and load appropriate drivers.
+ */
 
-/* The joystick structure used to identify an SDL joystick */
+/** The joystick structure used to identify an SDL joystick */
 struct _SDL_Joystick;
 typedef struct _SDL_Joystick SDL_Joystick;
 
-
 /* Function prototypes */
-/*
+/**
  * Count the number of joysticks attached to the system
  */
 extern DECLSPEC int SDLCALL SDL_NumJoysticks(void);
 
-/*
+/**
  * Get the implementation dependent name of a joystick.
+ *
  * This can be called before any joysticks are opened.
  * If no name can be found, this function returns NULL.
  */
 extern DECLSPEC const char * SDLCALL SDL_JoystickName(int device_index);
 
-/*
- * Open a joystick for use - the index passed as an argument refers to
+/**
+ * Open a joystick for use.
+ *
+ * @param[in] device_index
+ * The index passed as an argument refers to
  * the N'th joystick on the system.  This index is the value which will
  * identify this joystick in future joystick events.
  *
- * This function returns a joystick identifier, or NULL if an error occurred.
+ * @return This function returns a joystick identifier, or NULL if an error occurred.
  */
 extern DECLSPEC SDL_Joystick * SDLCALL SDL_JoystickOpen(int device_index);
 
-/*
+/**
  * Returns 1 if the joystick has been opened, or 0 if it has not.
  */
 extern DECLSPEC int SDLCALL SDL_JoystickOpened(int device_index);
 
-/*
+/**
  * Get the device index of an opened joystick.
  */
 extern DECLSPEC int SDLCALL SDL_JoystickIndex(SDL_Joystick *joystick);
 
-/*
+/**
  * Get the number of general axis controls on a joystick
  */
 extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick *joystick);
 
-/*
+/**
  * Get the number of trackballs on a joystick
+ *
  * Joystick trackballs have only relative motion events associated
  * with them and their state cannot be polled.
  */
 extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick *joystick);
 
-/*
+/**
  * Get the number of POV hats on a joystick
  */
 extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick *joystick);
 
-/*
+/**
  * Get the number of buttons on a joystick
  */
 extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick *joystick);
 
-/*
+/**
  * Update the current state of the open joysticks.
+ *
  * This is called automatically by the event loop if any joystick
  * events are enabled.
  */
 extern DECLSPEC void SDLCALL SDL_JoystickUpdate(void);
 
-/*
+/**
  * Enable/disable joystick event polling.
+ *
  * If joystick events are disabled, you must call SDL_JoystickUpdate()
  * yourself and check the state of the joystick when you want joystick
  * information.
- * The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE.
+ *
+ * @param[in] state The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE.
  */
 extern DECLSPEC int SDLCALL SDL_JoystickEventState(int state);
 
-/*
+/**
  * Get the current state of an axis control on a joystick
- * The state is a value ranging from -32768 to 32767.
- * The axis indices start at index 0.
+ *
+ * @param[in] axis The axis indices start at index 0.
+ *
+ * @return The state is a value ranging from -32768 to 32767.
  */
 extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis);
 
-/*
- * Get the current state of a POV hat on a joystick
- * The return value is one of the following positions:
+/**
+ *  @name Hat Positions
+ *  The return value of SDL_JoystickGetHat() is one of the following positions:
  */
+/*@{*/
 #define SDL_HAT_CENTERED       0x00
 #define SDL_HAT_UP             0x01
 #define SDL_HAT_RIGHT          0x02
@@ -134,25 +147,32 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int a
 #define SDL_HAT_RIGHTDOWN      (SDL_HAT_RIGHT|SDL_HAT_DOWN)
 #define SDL_HAT_LEFTUP         (SDL_HAT_LEFT|SDL_HAT_UP)
 #define SDL_HAT_LEFTDOWN       (SDL_HAT_LEFT|SDL_HAT_DOWN)
-/*
- * The hat indices start at index 0.
+/*@}*/
+
+/** 
+ *  Get the current state of a POV hat on a joystick
+ *
+ *  @param[in] hat The hat indices start at index 0.
  */
 extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick *joystick, int hat);
 
-/*
+/**
  * Get the ball axis change since the last poll
- * This returns 0, or -1 if you passed it invalid parameters.
- * The ball indices start at index 0.
+ *
+ * @param[in] ball The ball indices start at index 0.
+ *
+ * @return This returns 0, or -1 if you passed it invalid parameters.
  */
 extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy);
 
-/*
+/**
  * Get the current state of a button on a joystick
- * The button indices start at index 0.
+ *
+ * @param[in] button The button indices start at index 0.
  */
 extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick *joystick, int button);
 
-/*
+/**
  * Close a joystick previously opened with SDL_JoystickOpen()
  */
 extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick *joystick);
index 1ad7dca..7b59d24 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Include file for SDL keyboard event handling */
+/** @file SDL_keyboard.h
+ *  Include file for SDL keyboard event handling
+ */
 
 #ifndef _SDL_keyboard_h
 #define _SDL_keyboard_h
 extern "C" {
 #endif
 
-/* Keysym structure
-   - The scancode is hardware dependent, and should not be used by general
-     applications.  If no hardware scancode is available, it will be 0.
-
-   - The 'unicode' translated character is only available when character
-     translation is enabled by the SDL_EnableUNICODE() API.  If non-zero,
-     this is a UNICODE character corresponding to the keypress.  If the
-     high 9 bits of the character are 0, then this maps to the equivalent
-     ASCII character:
-       char ch;
-       if ( (keysym.unicode & 0xFF80) == 0 ) {
-               ch = keysym.unicode & 0x7F;
-       } else {
-               An international character..
-       }
+/** Keysym structure
+ *
+ *  - The scancode is hardware dependent, and should not be used by general
+ *    applications.  If no hardware scancode is available, it will be 0.
+ *
+ *  - The 'unicode' translated character is only available when character
+ *    translation is enabled by the SDL_EnableUNICODE() API.  If non-zero,
+ *    this is a UNICODE character corresponding to the keypress.  If the
+ *    high 9 bits of the character are 0, then this maps to the equivalent
+ *    ASCII character:
+ *      @code
+ *     char ch;
+ *     if ( (keysym.unicode & 0xFF80) == 0 ) {
+ *             ch = keysym.unicode & 0x7F;
+ *     } else {
+ *             An international character..
+ *     }
+ *      @endcode
  */
 typedef struct SDL_keysym {
-       Uint8 scancode;                 /* hardware specific scancode */
-       SDLKey sym;                     /* SDL virtual keysym */
-       SDLMod mod;                     /* current key modifiers */
-       Uint16 unicode;                 /* translated character */
+       Uint8 scancode;                 /**< hardware specific scancode */
+       SDLKey sym;                     /**< SDL virtual keysym */
+       SDLMod mod;                     /**< current key modifiers */
+       Uint16 unicode;                 /**< translated character */
 } SDL_keysym;
 
-/* This is the mask which refers to all hotkey bindings */
+/** This is the mask which refers to all hotkey bindings */
 #define SDL_ALL_HOTKEYS                0xFFFFFFFF
 
 /* Function prototypes */
-/*
+/**
  * Enable/Disable UNICODE translation of keyboard input.
+ *
  * This translation has some overhead, so translation defaults off.
+ *
+ * @param[in] enable
  * If 'enable' is 1, translation is enabled.
  * If 'enable' is 0, translation is disabled.
  * If 'enable' is -1, the translation state is not changed.
- * It returns the previous state of keyboard translation.
+ *
+ * @return It returns the previous state of keyboard translation.
  */
 extern DECLSPEC int SDLCALL SDL_EnableUNICODE(int enable);
 
-/*
- * Enable/Disable keyboard repeat.  Keyboard repeat defaults to off.
- * 'delay' is the initial delay in ms between the time when a key is
- * pressed, and keyboard repeat begins.
- * 'interval' is the time in ms between keyboard repeat events.
- */
 #define SDL_DEFAULT_REPEAT_DELAY       500
 #define SDL_DEFAULT_REPEAT_INTERVAL    30
-/*
- * If 'delay' is set to 0, keyboard repeat is disabled.
+/**
+ * Enable/Disable keyboard repeat.  Keyboard repeat defaults to off.
+ *
+ *  @param[in] delay
+ *  'delay' is the initial delay in ms between the time when a key is
+ *  pressed, and keyboard repeat begins.
+ *
+ *  @param[in] interval
+ *  'interval' is the time in ms between keyboard repeat events.
+ *
+ *  If 'delay' is set to 0, keyboard repeat is disabled.
  */
 extern DECLSPEC int SDLCALL SDL_EnableKeyRepeat(int delay, int interval);
 extern DECLSPEC void SDLCALL SDL_GetKeyRepeat(int *delay, int *interval);
 
-/*
+/**
  * Get a snapshot of the current state of the keyboard.
  * Returns an array of keystates, indexed by the SDLK_* syms.
- * Used:
+ * Usage:
+ *     @code
  *     Uint8 *keystate = SDL_GetKeyState(NULL);
- *     if ( keystate[SDLK_RETURN] ) ... <RETURN> is pressed.
+ *     if ( keystate[SDLK_RETURN] ) //... \<RETURN> is pressed.
+ *     @endcode
  */
 extern DECLSPEC Uint8 * SDLCALL SDL_GetKeyState(int *numkeys);
 
-/*
+/**
  * Get the current key modifier state
  */
 extern DECLSPEC SDLMod SDLCALL SDL_GetModState(void);
 
-/*
- * Set the current key modifier state
+/**
+ * Set the current key modifier state.
  * This does not change the keyboard state, only the key modifier flags.
  */
 extern DECLSPEC void SDLCALL SDL_SetModState(SDLMod modstate);
 
-/*
+/**
  * Get the name of an SDL virtual keysym
  */
 extern DECLSPEC char * SDLCALL SDL_GetKeyName(SDLKey key);
index ff44a03..9010128 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
 #ifndef _SDL_keysym_h
 #define _SDL_keysym_h
 
-/* What we really want is a mapping of every raw key on the keyboard.
-   To support international keyboards, we use the range 0xA1 - 0xFF
-   as international virtual keycodes.  We'll follow in the footsteps of X11...
  The names of the keys
+/** What we really want is a mapping of every raw key on the keyboard.
*  To support international keyboards, we use the range 0xA1 - 0xFF
*  as international virtual keycodes.  We'll follow in the footsteps of X11...
*  @brief The names of the keys
  */
 typedef enum {
-       /* The keyboard syms have been cleverly chosen to map to ASCII */
+        /** @name ASCII mapped keysyms
+         *  The keyboard syms have been cleverly chosen to map to ASCII
+         */
+        /*@{*/
        SDLK_UNKNOWN            = 0,
        SDLK_FIRST              = 0,
        SDLK_BACKSPACE          = 8,
@@ -108,8 +110,10 @@ typedef enum {
        SDLK_z                  = 122,
        SDLK_DELETE             = 127,
        /* End of ASCII mapped keysyms */
+        /*@}*/
 
-       /* International keyboard syms */
+       /** @name International keyboard syms */
+        /*@{*/
        SDLK_WORLD_0            = 160,          /* 0xA0 */
        SDLK_WORLD_1            = 161,
        SDLK_WORLD_2            = 162,
@@ -206,8 +210,10 @@ typedef enum {
        SDLK_WORLD_93           = 253,
        SDLK_WORLD_94           = 254,
        SDLK_WORLD_95           = 255,          /* 0xFF */
+        /*@}*/
 
-       /* Numeric keypad */
+       /** @name Numeric keypad */
+        /*@{*/
        SDLK_KP0                = 256,
        SDLK_KP1                = 257,
        SDLK_KP2                = 258,
@@ -225,8 +231,10 @@ typedef enum {
        SDLK_KP_PLUS            = 270,
        SDLK_KP_ENTER           = 271,
        SDLK_KP_EQUALS          = 272,
+        /*@}*/
 
-       /* Arrows + Home/End pad */
+       /** @name Arrows + Home/End pad */
+        /*@{*/
        SDLK_UP                 = 273,
        SDLK_DOWN               = 274,
        SDLK_RIGHT              = 275,
@@ -236,8 +244,10 @@ typedef enum {
        SDLK_END                = 279,
        SDLK_PAGEUP             = 280,
        SDLK_PAGEDOWN           = 281,
+        /*@}*/
 
-       /* Function keys */
+       /** @name Function keys */
+        /*@{*/
        SDLK_F1                 = 282,
        SDLK_F2                 = 283,
        SDLK_F3                 = 284,
@@ -253,8 +263,10 @@ typedef enum {
        SDLK_F13                = 294,
        SDLK_F14                = 295,
        SDLK_F15                = 296,
+        /*@}*/
 
-       /* Key state modifier keys */
+       /** @name Key state modifier keys */
+        /*@{*/
        SDLK_NUMLOCK            = 300,
        SDLK_CAPSLOCK           = 301,
        SDLK_SCROLLOCK          = 302,
@@ -266,27 +278,30 @@ typedef enum {
        SDLK_LALT               = 308,
        SDLK_RMETA              = 309,
        SDLK_LMETA              = 310,
-       SDLK_LSUPER             = 311,          /* Left "Windows" key */
-       SDLK_RSUPER             = 312,          /* Right "Windows" key */
-       SDLK_MODE               = 313,          /* "Alt Gr" key */
-       SDLK_COMPOSE            = 314,          /* Multi-key compose key */
+       SDLK_LSUPER             = 311,          /**< Left "Windows" key */
+       SDLK_RSUPER             = 312,          /**< Right "Windows" key */
+       SDLK_MODE               = 313,          /**< "Alt Gr" key */
+       SDLK_COMPOSE            = 314,          /**< Multi-key compose key */
+        /*@}*/
 
-       /* Miscellaneous function keys */
+       /** @name Miscellaneous function keys */
+        /*@{*/
        SDLK_HELP               = 315,
        SDLK_PRINT              = 316,
        SDLK_SYSREQ             = 317,
        SDLK_BREAK              = 318,
        SDLK_MENU               = 319,
-       SDLK_POWER              = 320,          /* Power Macintosh power key */
-       SDLK_EURO               = 321,          /* Some european keyboards */
-       SDLK_UNDO               = 322,          /* Atari keyboard has Undo */
+       SDLK_POWER              = 320,          /**< Power Macintosh power key */
+       SDLK_EURO               = 321,          /**< Some european keyboards */
+       SDLK_UNDO               = 322,          /**< Atari keyboard has Undo */
+        /*@}*/
 
        /* Add any other keys here */
 
        SDLK_LAST
 } SDLKey;
 
-/* Enumeration of valid key mods (possibly OR'd together) */
+/** Enumeration of valid key mods (possibly OR'd together) */
 typedef enum {
        KMOD_NONE  = 0x0000,
        KMOD_LSHIFT= 0x0001,
index ce96449..45a17f9 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* System dependent library loading routines                           */
+/** @file SDL_loadso.h
+ *  System dependent library loading routines
+ */
 
-/* Some things to keep in mind:                                        
-   - These functions only work on C function names.  Other languages may
-     have name mangling and intrinsic language support that varies from
-     compiler to compiler.
-   - Make sure you declare your function pointers with the same calling
-     convention as the actual library function.  Your code will crash
-     mysteriously if you do not do this.
-   - Avoid namespace collisions.  If you load a symbol from the library,
-     it is not defined whether or not it goes into the global symbol
-     namespace for the application.  If it does and it conflicts with
-     symbols in your code or other shared libraries, you will not get
-     the results you expect. :)
-*/
+/** @file SDL_loadso.h
+ *  Some things to keep in mind:                                        
+ *  - These functions only work on C function names.  Other languages may
+ *    have name mangling and intrinsic language support that varies from
+ *    compiler to compiler.
+ *  - Make sure you declare your function pointers with the same calling
+ *    convention as the actual library function.  Your code will crash
+ *    mysteriously if you do not do this.
+ *  - Avoid namespace collisions.  If you load a symbol from the library,
+ *    it is not defined whether or not it goes into the global symbol
+ *    namespace for the application.  If it does and it conflicts with
+ *    symbols in your code or other shared libraries, you will not get
+ *    the results you expect. :)
+ */
 
 
 #ifndef _SDL_loadso_h
 extern "C" {
 #endif
 
-/* This function dynamically loads a shared object and returns a pointer
+/**
+ * This function dynamically loads a shared object and returns a pointer
  * to the object handle (or NULL if there was an error).
  * The 'sofile' parameter is a system dependent name of the object file.
  */
 extern DECLSPEC void * SDLCALL SDL_LoadObject(const char *sofile);
 
-/* Given an object handle, this function looks up the address of the
+/**
+ * Given an object handle, this function looks up the address of the
  * named function in the shared object and returns it.  This address
  * is no longer valid after calling SDL_UnloadObject().
  */
 extern DECLSPEC void * SDLCALL SDL_LoadFunction(void *handle, const char *name);
 
-/* Unload a shared object from memory */
+/** Unload a shared object from memory */
 extern DECLSPEC void SDLCALL SDL_UnloadObject(void *handle);
 
 /* Ends C function definitions when using C++ */
index cf8b728..b7f6b2c 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -25,7 +25,9 @@
 
 #include "SDL_stdinc.h"
 
-/* Redefine main() on Win32 and MacOS so that it is called by winmain.c */
+/** @file SDL_main.h
+ *  Redefine main() on Win32 and MacOS so that it is called by winmain.c
+ */
 
 #if defined(__WIN32__) || \
     (defined(__MWERKS__) && !defined(__BEOS__)) || \
 #define C_LINKAGE
 #endif /* __cplusplus */
 
-/* The application's main() function must be called with C linkage,
-   and should be declared like this:
-#ifdef __cplusplus
-extern "C"
-#endif
-       int main(int argc, char *argv[])
-       {
-       }
+/** The application's main() function must be called with C linkage,
+ *  and should be declared like this:
+ *      @code
+ *      #ifdef __cplusplus
+ *      extern "C"
+ *      #endif
+ *     int main(int argc, char *argv[])
+ *     {
+ *     }
+ *      @endcode
  */
 #define main   SDL_main
 
-/* The prototype for the application's main() function */
+/** The prototype for the application's main() function */
 extern C_LINKAGE int SDL_main(int argc, char *argv[]);
 
 
-/* From the SDL library code -- needed for registering the app on Win32 */
+/** @name From the SDL library code -- needed for registering the app on Win32 */
+/*@{*/
 #ifdef __WIN32__
 
 #include "begin_code.h"
@@ -61,19 +66,21 @@ extern C_LINKAGE int SDL_main(int argc, char *argv[]);
 extern "C" {
 #endif
 
-/* This should be called from your WinMain() function, if any */
+/** This should be called from your WinMain() function, if any */
 extern DECLSPEC void SDLCALL SDL_SetModuleHandle(void *hInst);
-/* This can also be called, but is no longer necessary */
+/** This can also be called, but is no longer necessary */
 extern DECLSPEC int SDLCALL SDL_RegisterApp(char *name, Uint32 style, void *hInst);
-/* This can also be called, but is no longer necessary (SDL_Quit calls it) */
+/** This can also be called, but is no longer necessary (SDL_Quit calls it) */
 extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
 #ifdef __cplusplus
 }
 #endif
 #include "close_code.h"
 #endif
+/*@}*/
 
-/* From the SDL library code -- needed for registering QuickDraw on MacOS */
+/** @name From the SDL library code -- needed for registering QuickDraw on MacOS */
+/*@{*/
 #if defined(__MACOS__)
 
 #include "begin_code.h"
@@ -81,10 +88,10 @@ extern DECLSPEC void SDLCALL SDL_UnregisterApp(void);
 extern "C" {
 #endif
 
-/* Forward declaration so we don't need to include QuickDraw.h */
+/** Forward declaration so we don't need to include QuickDraw.h */
 struct QDGlobals;
 
-/* This should be called from your main() function, if any */
+/** This should be called from your main() function, if any */
 extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd);
 
 #ifdef __cplusplus
@@ -92,6 +99,7 @@ extern DECLSPEC void SDLCALL SDL_InitQuickDraw(struct QDGlobals *the_qd);
 #endif
 #include "close_code.h"
 #endif
+/*@}*/
 
 #endif /* Need to redefine main()? */
 
index 019497f..a573f04 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Include file for SDL mouse event handling */
+/** @file SDL_mouse.h
+ *  Include file for SDL mouse event handling
+ */
 
 #ifndef _SDL_mouse_h
 #define _SDL_mouse_h
 extern "C" {
 #endif
 
-typedef struct WMcursor WMcursor;      /* Implementation dependent */
+typedef struct WMcursor WMcursor;      /**< Implementation dependent */
 typedef struct SDL_Cursor {
-       SDL_Rect area;                  /* The area of the mouse cursor */
-       Sint16 hot_x, hot_y;            /* The "tip" of the cursor */
-       Uint8 *data;                    /* B/W cursor data */
-       Uint8 *mask;                    /* B/W cursor mask */
-       Uint8 *save[2];                 /* Place to save cursor area */
-       WMcursor *wm_cursor;            /* Window-manager cursor */
+       SDL_Rect area;                  /**< The area of the mouse cursor */
+       Sint16 hot_x, hot_y;            /**< The "tip" of the cursor */
+       Uint8 *data;                    /**< B/W cursor data */
+       Uint8 *mask;                    /**< B/W cursor mask */
+       Uint8 *save[2];                 /**< Place to save cursor area */
+       WMcursor *wm_cursor;            /**< Window-manager cursor */
 } SDL_Cursor;
 
 /* Function prototypes */
-/*
+/**
  * Retrieve the current state of the mouse.
  * The current button state is returned as a button bitmask, which can
  * be tested using the SDL_BUTTON(X) macros, and x and y are set to the
@@ -54,7 +56,7 @@ typedef struct SDL_Cursor {
  */
 extern DECLSPEC Uint8 SDLCALL SDL_GetMouseState(int *x, int *y);
 
-/*
+/**
  * Retrieve the current state of the mouse.
  * The current button state is returned as a button bitmask, which can
  * be tested using the SDL_BUTTON(X) macros, and x and y are set to the
@@ -62,12 +64,12 @@ extern DECLSPEC Uint8 SDLCALL SDL_GetMouseState(int *x, int *y);
  */
 extern DECLSPEC Uint8 SDLCALL SDL_GetRelativeMouseState(int *x, int *y);
 
-/*
+/**
  * Set the position of the mouse cursor (generates a mouse motion event)
  */
 extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y);
 
-/*
+/**
  * Create a cursor using the specified data and mask (in MSB format).
  * The cursor width must be a multiple of 8 bits.
  *
@@ -83,24 +85,24 @@ extern DECLSPEC void SDLCALL SDL_WarpMouse(Uint16 x, Uint16 y);
 extern DECLSPEC SDL_Cursor * SDLCALL SDL_CreateCursor
                (Uint8 *data, Uint8 *mask, int w, int h, int hot_x, int hot_y);
 
-/*
+/**
  * Set the currently active cursor to the specified one.
  * If the cursor is currently visible, the change will be immediately 
  * represented on the display.
  */
 extern DECLSPEC void SDLCALL SDL_SetCursor(SDL_Cursor *cursor);
 
-/*
+/**
  * Returns the currently active cursor.
  */
 extern DECLSPEC SDL_Cursor * SDLCALL SDL_GetCursor(void);
 
-/*
+/**
  * Deallocates a cursor created with SDL_CreateCursor().
  */
 extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor *cursor);
 
-/*
+/**
  * Toggle whether or not the cursor is shown on the screen.
  * The cursor start off displayed, but can be turned off.
  * SDL_ShowCursor() returns 1 if the cursor was being displayed
@@ -109,12 +111,13 @@ extern DECLSPEC void SDLCALL SDL_FreeCursor(SDL_Cursor *cursor);
  */
 extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);
 
-/* Used as a mask when testing buttons in buttonstate
-   Button 1:   Left mouse button
-   Button 2:   Middle mouse button
-   Button 3:   Right mouse button
-   Button 4:   Mouse wheel up   (may also be a real button)
-   Button 5:   Mouse wheel down (may also be a real button)
+/*@{*/
+/** Used as a mask when testing buttons in buttonstate
+ *  Button 1:  Left mouse button
+ *  Button 2:  Middle mouse button
+ *  Button 3:  Right mouse button
+ *  Button 4:  Mouse wheel up   (may also be a real button)
+ *  Button 5:  Mouse wheel down (may also be a real button)
  */
 #define SDL_BUTTON(X)          (1 << ((X)-1))
 #define SDL_BUTTON_LEFT                1
@@ -129,7 +132,7 @@ extern DECLSPEC int SDLCALL SDL_ShowCursor(int toggle);
 #define SDL_BUTTON_RMASK       SDL_BUTTON(SDL_BUTTON_RIGHT)
 #define SDL_BUTTON_X1MASK      SDL_BUTTON(SDL_BUTTON_X1)
 #define SDL_BUTTON_X2MASK      SDL_BUTTON(SDL_BUTTON_X2)
-
+/*@}*/
 
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
index 0016528..920971d 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
 #ifndef _SDL_mutex_h
 #define _SDL_mutex_h
 
-/* Functions to provide thread synchronization primitives
-
-       These are independent of the other SDL routines.
-*/
+/** @file SDL_mutex.h
+ *  Functions to provide thread synchronization primitives
+ *
+ *  @note These are independent of the other SDL routines.
+ */
 
 #include "SDL_stdinc.h"
 #include "SDL_error.h"
 extern "C" {
 #endif
 
-/* Synchronization functions which can time out return this value
-   if they time out.
-*/
+/** Synchronization functions which can time out return this value
*  if they time out.
+ */
 #define SDL_MUTEX_TIMEDOUT     1
 
-/* This is the timeout value which corresponds to never time out */
+/** This is the timeout value which corresponds to never time out */
 #define SDL_MUTEX_MAXWAIT      (~(Uint32)0)
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* Mutex functions                                               */
+/** @name Mutex functions                                        */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/* The SDL mutex structure, defined in SDL_mutex.c */
+/** The SDL mutex structure, defined in SDL_mutex.c */
 struct SDL_mutex;
 typedef struct SDL_mutex SDL_mutex;
 
-/* Create a mutex, initialized unlocked */
+/** Create a mutex, initialized unlocked */
 extern DECLSPEC SDL_mutex * SDLCALL SDL_CreateMutex(void);
 
-/* Lock the mutex  (Returns 0, or -1 on error) */
 #define SDL_LockMutex(m)       SDL_mutexP(m)
+/** Lock the mutex
+ *  @return 0, or -1 on error
+ */
 extern DECLSPEC int SDLCALL SDL_mutexP(SDL_mutex *mutex);
 
-/* Unlock the mutex  (Returns 0, or -1 on error)
-   It is an error to unlock a mutex that has not been locked by
-   the current thread, and doing so results in undefined behavior.
- */
 #define SDL_UnlockMutex(m)     SDL_mutexV(m)
+/** Unlock the mutex
+ *  @return 0, or -1 on error
+ *
+ *  It is an error to unlock a mutex that has not been locked by
+ *  the current thread, and doing so results in undefined behavior.
+ */
 extern DECLSPEC int SDLCALL SDL_mutexV(SDL_mutex *mutex);
 
-/* Destroy a mutex */
+/** Destroy a mutex */
 extern DECLSPEC void SDLCALL SDL_DestroyMutex(SDL_mutex *mutex);
 
+/*@}*/
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* Semaphore functions                                           */
+/** @name Semaphore functions                                    */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/* The SDL semaphore structure, defined in SDL_sem.c */
+/** The SDL semaphore structure, defined in SDL_sem.c */
 struct SDL_semaphore;
 typedef struct SDL_semaphore SDL_sem;
 
-/* Create a semaphore, initialized with value, returns NULL on failure. */
+/** Create a semaphore, initialized with value, returns NULL on failure. */
 extern DECLSPEC SDL_sem * SDLCALL SDL_CreateSemaphore(Uint32 initial_value);
 
-/* Destroy a semaphore */
+/** Destroy a semaphore */
 extern DECLSPEC void SDLCALL SDL_DestroySemaphore(SDL_sem *sem);
 
-/* This function suspends the calling thread until the semaphore pointed 
+/**
+ * This function suspends the calling thread until the semaphore pointed 
  * to by sem has a positive count. It then atomically decreases the semaphore
  * count.
  */
 extern DECLSPEC int SDLCALL SDL_SemWait(SDL_sem *sem);
 
-/* Non-blocking variant of SDL_SemWait(), returns 0 if the wait succeeds,
-   SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.
-*/
+/** Non-blocking variant of SDL_SemWait().
+ *  @return 0 if the wait succeeds,
+ *  SDL_MUTEX_TIMEDOUT if the wait would block, and -1 on error.
+ */
 extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem *sem);
 
-/* Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
-   the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
-   the allotted time, and -1 on error.
-   On some platforms this function is implemented by looping with a delay
-   of 1 ms, and so should be avoided if possible.
-*/
+/** Variant of SDL_SemWait() with a timeout in milliseconds, returns 0 if
+ *  the wait succeeds, SDL_MUTEX_TIMEDOUT if the wait does not succeed in
+ *  the allotted time, and -1 on error.
+ *
+ *  On some platforms this function is implemented by looping with a delay
+ *  of 1 ms, and so should be avoided if possible.
+ */
 extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 ms);
 
-/* Atomically increases the semaphore's count (not blocking), returns 0,
  or -1 on error.
+/** Atomically increases the semaphore's count (not blocking).
*  @return 0, or -1 on error.
  */
 extern DECLSPEC int SDLCALL SDL_SemPost(SDL_sem *sem);
 
-/* Returns the current count of the semaphore */
+/** Returns the current count of the semaphore */
 extern DECLSPEC Uint32 SDLCALL SDL_SemValue(SDL_sem *sem);
 
+/*@}*/
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* Condition variable functions                                  */
+/** @name Condition_variable_functions                           */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/* The SDL condition variable structure, defined in SDL_cond.c */
+/*@{*/
+/** The SDL condition variable structure, defined in SDL_cond.c */
 struct SDL_cond;
 typedef struct SDL_cond SDL_cond;
+/*@}*/
 
-/* Create a condition variable */
+/** Create a condition variable */
 extern DECLSPEC SDL_cond * SDLCALL SDL_CreateCond(void);
 
-/* Destroy a condition variable */
+/** Destroy a condition variable */
 extern DECLSPEC void SDLCALL SDL_DestroyCond(SDL_cond *cond);
 
-/* Restart one of the threads that are waiting on the condition variable,
  returns 0 or -1 on error.
+/** Restart one of the threads that are waiting on the condition variable,
*  @return 0 or -1 on error.
  */
 extern DECLSPEC int SDLCALL SDL_CondSignal(SDL_cond *cond);
 
-/* Restart all threads that are waiting on the condition variable,
  returns 0 or -1 on error.
+/** Restart all threads that are waiting on the condition variable,
*  @return 0 or -1 on error.
  */
 extern DECLSPEC int SDLCALL SDL_CondBroadcast(SDL_cond *cond);
 
-/* Wait on the condition variable, unlocking the provided mutex.
-   The mutex must be locked before entering this function!
-   The mutex is re-locked once the condition variable is signaled.
  Returns 0 when it is signaled, or -1 on error.
+/** Wait on the condition variable, unlocking the provided mutex.
*  The mutex must be locked before entering this function!
*  The mutex is re-locked once the condition variable is signaled.
*  @return 0 when it is signaled, or -1 on error.
  */
 extern DECLSPEC int SDLCALL SDL_CondWait(SDL_cond *cond, SDL_mutex *mut);
 
-/* Waits for at most 'ms' milliseconds, and returns 0 if the condition
-   variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
-   signaled in the allotted time, and -1 on error.
-   On some platforms this function is implemented by looping with a delay
-   of 1 ms, and so should be avoided if possible.
-*/
+/** Waits for at most 'ms' milliseconds, and returns 0 if the condition
*  variable is signaled, SDL_MUTEX_TIMEDOUT if the condition is not
*  signaled in the allotted time, and -1 on error.
*  On some platforms this function is implemented by looping with a delay
*  of 1 ms, and so should be avoided if possible.
+ */
 extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex, Uint32 ms);
 
+/*@}*/
+
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
 }
@@ -160,3 +174,4 @@ extern DECLSPEC int SDLCALL SDL_CondWaitTimeout(SDL_cond *cond, SDL_mutex *mutex
 #include "close_code.h"
 
 #endif /* _SDL_mutex_h */
+
index 36c0a30..c479a3a 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* This is a simple file to encapsulate the OpenGL API headers */
+/** @file SDL_opengl.h
+ *  This is a simple file to encapsulate the OpenGL API headers
+ */
 
 #include "SDL_config.h"
 
 #undef __glext_h_
 #endif
 
-/* This file taken from "GLext.h" from the Jeff Molofee OpenGL tutorials.
-   It is included here because glext.h is not available on some systems.
-   If you don't want this version included, simply define "NO_SDL_GLEXT"
+/** @name GLext.h
+ *  This file taken from "GLext.h" from the Jeff Molofee OpenGL tutorials.
+ *  It is included here because glext.h is not available on some systems.
+ *  If you don't want this version included, simply define "NO_SDL_GLEXT"
  */
+/*@{*/
 #ifndef NO_SDL_GLEXT
 #if !defined(__glext_h_) && !defined(GL_GLEXT_LEGACY)
 #define __glext_h_
@@ -6549,3 +6553,4 @@ typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid
 
 #endif
 #endif /* NO_SDL_GLEXT */
+/*@}*/
index 1bfee29..11d8673 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Try to get a standard set of platform defines */
+/** @file SDL_platform.h
+ *  Try to get a standard set of platform defines
+ */
 
 #ifndef _SDL_platform_h
 #define _SDL_platform_h
 #undef __BEOS__
 #define __BEOS__       1
 #endif
+#if defined(__HAIKU__)
+#undef __HAIKU__
+#define __HAIKU__ 1
+#endif
 #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
 #undef __BSDI__
 #define __BSDI__       1
 #undef __DREAMCAST__
 #define __DREAMCAST__  1
 #endif
-#if defined(__FreeBSD__) || defined(__DragonFly__)
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
 #undef __FREEBSD__
 #define __FREEBSD__    1
 #endif
+#if defined(__HAIKU__)
+#undef __HAIKU__
+#define __HAIKU__      1
+#endif
 #if defined(hpux) || defined(__hpux) || defined(__hpux__)
 #undef __HPUX__
 #define __HPUX__       1
index fcf40fb..6d82e7e 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Include file for SDL quit event handling */
+/** @file SDL_quit.h
+ *  Include file for SDL quit event handling
+ */
 
 #ifndef _SDL_quit_h
 #define _SDL_quit_h
 #include "SDL_stdinc.h"
 #include "SDL_error.h"
 
-/* 
-  An SDL_QUITEVENT is generated when the user tries to close the application
-  window.  If it is ignored or filtered out, the window will remain open.
-  If it is not ignored or filtered, it is queued normally and the window
-  is allowed to close.  When the window is closed, screen updates will 
-  complete, but have no effect.
-
-  SDL_Init() installs signal handlers for SIGINT (keyboard interrupt)
-  and SIGTERM (system termination request), if handlers do not already
-  exist, that generate SDL_QUITEVENT events as well.  There is no way
-  to determine the cause of an SDL_QUITEVENT, but setting a signal
-  handler in your application will override the default generation of
-  quit events for that signal.
-*/
+/** @file SDL_quit.h
+ *  An SDL_QUITEVENT is generated when the user tries to close the application
+ *  window.  If it is ignored or filtered out, the window will remain open.
+ *  If it is not ignored or filtered, it is queued normally and the window
+ *  is allowed to close.  When the window is closed, screen updates will 
+ *  complete, but have no effect.
+ *
+ *  SDL_Init() installs signal handlers for SIGINT (keyboard interrupt)
+ *  and SIGTERM (system termination request), if handlers do not already
+ *  exist, that generate SDL_QUITEVENT events as well.  There is no way
+ *  to determine the cause of an SDL_QUITEVENT, but setting a signal
+ *  handler in your application will override the default generation of
+ *  quit events for that signal.
+ */
+
+/** @file SDL_quit.h
+ *  There are no functions directly affecting the quit event 
+ */
 
-/* There are no functions directly affecting the quit event */
 #define SDL_QuitRequested() \
         (SDL_PumpEvents(), SDL_PeepEvents(NULL,0,SDL_PEEKEVENT,SDL_QUITMASK))
 
index 8c17701..a450119 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     slouken@libsdl.org
 */
 
-/* This file provides a general interface for SDL to read and write
-   data sources.  It can easily be extended to files, memory, etc.
-*/
+/** @file SDL_rwops.h
+ *  This file provides a general interface for SDL to read and write
+ *  data sources.  It can easily be extended to files, memory, etc.
+ */
 
 #ifndef _SDL_rwops_h
 #define _SDL_rwops_h
 extern "C" {
 #endif
 
-/* This is the read/write operation structure -- very basic */
+/** This is the read/write operation structure -- very basic */
 
 typedef struct SDL_RWops {
-       /* Seek to 'offset' relative to whence, one of stdio's whence values:
-               SEEK_SET, SEEK_CUR, SEEK_END
-          Returns the final offset in the data source.
+       /** Seek to 'offset' relative to whence, one of stdio's whence values:
+        *      SEEK_SET, SEEK_CUR, SEEK_END
+        *  Returns the final offset in the data source.
         */
        int (SDLCALL *seek)(struct SDL_RWops *context, int offset, int whence);
 
-       /* Read up to 'num' objects each of size 'objsize' from the data
-          source to the area pointed at by 'ptr'.
-          Returns the number of objects read, or -1 if the read failed.
+       /** Read up to 'maxnum' objects each of size 'size' from the data
+        *  source to the area pointed at by 'ptr'.
+        *  Returns the number of objects read, or -1 if the read failed.
         */
        int (SDLCALL *read)(struct SDL_RWops *context, void *ptr, int size, int maxnum);
 
-       /* Write exactly 'num' objects each of size 'objsize' from the area
-          pointed at by 'ptr' to data source.
-          Returns 'num', or -1 if the write failed.
+       /** Write exactly 'num' objects each of size 'objsize' from the area
+        *  pointed at by 'ptr' to data source.
+        *  Returns 'num', or -1 if the write failed.
         */
        int (SDLCALL *write)(struct SDL_RWops *context, const void *ptr, int size, int num);
 
-       /* Close and free an allocated SDL_FSops structure */
+       /** Close and free an allocated SDL_FSops structure */
        int (SDLCALL *close)(struct SDL_RWops *context);
 
        Uint32 type;
@@ -92,7 +93,8 @@ typedef struct SDL_RWops {
 } SDL_RWops;
 
 
-/* Functions to create SDL_RWops structures from various data sources */
+/** @name Functions to create SDL_RWops structures from various data sources */
+/*@{*/
 
 extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromFile(const char *file, const char *mode);
 
@@ -106,34 +108,43 @@ extern DECLSPEC SDL_RWops * SDLCALL SDL_RWFromConstMem(const void *mem, int size
 extern DECLSPEC SDL_RWops * SDLCALL SDL_AllocRW(void);
 extern DECLSPEC void SDLCALL SDL_FreeRW(SDL_RWops *area);
 
-#define RW_SEEK_SET    0       /* Seek from the beginning of data */
-#define RW_SEEK_CUR    1       /* Seek relative to current read point */
-#define RW_SEEK_END    2       /* Seek relative to the end of data */
+/*@}*/
+
+/** @name Seek Reference Points */
+/*@{*/
+#define RW_SEEK_SET    0       /**< Seek from the beginning of data */
+#define RW_SEEK_CUR    1       /**< Seek relative to current read point */
+#define RW_SEEK_END    2       /**< Seek relative to the end of data */
+/*@}*/
 
-/* Macros to easily read and write from an SDL_RWops structure */
+/** @name Macros to easily read and write from an SDL_RWops structure */
+/*@{*/
 #define SDL_RWseek(ctx, offset, whence)        (ctx)->seek(ctx, offset, whence)
 #define SDL_RWtell(ctx)                        (ctx)->seek(ctx, 0, RW_SEEK_CUR)
 #define SDL_RWread(ctx, ptr, size, n)  (ctx)->read(ctx, ptr, size, n)
 #define SDL_RWwrite(ctx, ptr, size, n) (ctx)->write(ctx, ptr, size, n)
 #define SDL_RWclose(ctx)               (ctx)->close(ctx)
+/*@}*/
 
-
-/* Read an item of the specified endianness and return in native format */
+/** @name Read an item of the specified endianness and return in native format */
+/*@{*/
 extern DECLSPEC Uint16 SDLCALL SDL_ReadLE16(SDL_RWops *src);
 extern DECLSPEC Uint16 SDLCALL SDL_ReadBE16(SDL_RWops *src);
 extern DECLSPEC Uint32 SDLCALL SDL_ReadLE32(SDL_RWops *src);
 extern DECLSPEC Uint32 SDLCALL SDL_ReadBE32(SDL_RWops *src);
 extern DECLSPEC Uint64 SDLCALL SDL_ReadLE64(SDL_RWops *src);
 extern DECLSPEC Uint64 SDLCALL SDL_ReadBE64(SDL_RWops *src);
+/*@}*/
 
-/* Write an item of native format to the specified endianness */
+/** @name Write an item of native format to the specified endianness */
+/*@{*/
 extern DECLSPEC int SDLCALL SDL_WriteLE16(SDL_RWops *dst, Uint16 value);
 extern DECLSPEC int SDLCALL SDL_WriteBE16(SDL_RWops *dst, Uint16 value);
 extern DECLSPEC int SDLCALL SDL_WriteLE32(SDL_RWops *dst, Uint32 value);
 extern DECLSPEC int SDLCALL SDL_WriteBE32(SDL_RWops *dst, Uint32 value);
 extern DECLSPEC int SDLCALL SDL_WriteLE64(SDL_RWops *dst, Uint64 value);
 extern DECLSPEC int SDLCALL SDL_WriteBE64(SDL_RWops *dst, Uint64 value);
-
+/*@}*/
 
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
index e47c21d..e1f85fb 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* This is a general header that includes C language support */
+/** @file SDL_stdinc.h
+ *  This is a general header that includes C language support
+ */
 
 #ifndef _SDL_stdinc_h
 #define _SDL_stdinc_h
 #ifdef HAVE_CTYPE_H
 # include <ctype.h>
 #endif
-#ifdef HAVE_ICONV_H
+#if defined(HAVE_ICONV) && defined(HAVE_ICONV_H)
 # include <iconv.h>
 #endif
 
-/* The number of elements in an array */
+/** The number of elements in an array */
 #define SDL_arraysize(array)   (sizeof(array)/sizeof(array[0]))
 #define SDL_TABLESIZE(table)   SDL_arraysize(table)
 
-/* Basic data types */
-typedef enum SDL_bool {
+/* Use proper C++ casts when compiled as C++ to be compatible with the option
+ -Wold-style-cast of GCC (and -Werror=old-style-cast in GCC 4.2 and above. */
+#ifdef __cplusplus
+#define SDL_reinterpret_cast(type, expression) reinterpret_cast<type>(expression)
+#define SDL_static_cast(type, expression) static_cast<type>(expression)
+#else
+#define SDL_reinterpret_cast(type, expression) ((type)(expression))
+#define SDL_static_cast(type, expression) ((type)(expression))
+#endif
+
+/** @name Basic data types */
+/*@{*/
+typedef enum {
        SDL_FALSE = 0,
        SDL_TRUE  = 1
 } SDL_bool;
@@ -102,7 +115,10 @@ typedef struct {
 } Uint64, Sint64;
 #endif
 
-/* Make sure the types really have the right sizes */
+/*@}*/
+
+/** @name Make sure the types really have the right sizes */
+/*@{*/
 #define SDL_COMPILE_TIME_ASSERT(name, x)               \
        typedef int SDL_dummy_ ## name[(x) * 2 - 1]
 
@@ -114,12 +130,14 @@ SDL_COMPILE_TIME_ASSERT(uint32, sizeof(Uint32) == 4);
 SDL_COMPILE_TIME_ASSERT(sint32, sizeof(Sint32) == 4);
 SDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8);
 SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
-
-/* Check to make sure enums are the size of ints, for structure packing.
-   For both Watcom C/C++ and Borland C/C++ the compiler option that makes
-   enums having the size of an int must be enabled.
-   This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11).
-*/
+/*@}*/
+
+/** @name Enum Size Check
+ *  Check to make sure enums are the size of ints, for structure packing.
+ *  For both Watcom C/C++ and Borland C/C++ the compiler option that makes
+ *  enums having the size of an int must be enabled.
+ *  This is "-b" for Borland C/C++ and "-ei" for Watcom C/C++ (v11).
+ */
 /* Enable enums always int in CodeWarrior (for MPW use "-enum int") */
 #ifdef __MWERKS__
 #pragma enumsalwaysint on
@@ -132,7 +150,7 @@ typedef enum {
 #ifndef __NDS__
 SDL_COMPILE_TIME_ASSERT(enum, sizeof(SDL_DUMMY_ENUM) == sizeof(int));
 #endif
-
+/*@}*/
 
 #include "begin_code.h"
 /* Set up for C function definitions, even when using C++ */
@@ -248,7 +266,7 @@ do {                                                                \
                "cld\n\t"                                       \
                "rep ; stosl\n\t"                               \
                : "=&D" (u0), "=&a" (u1), "=&c" (u2)            \
-               : "0" (dst), "1" (val), "2" ((Uint32)(len))     \
+               : "0" (dst), "1" (val), "2" (SDL_static_cast(Uint32, len))      \
                : "memory" );                                   \
 } while(0)
 #endif
@@ -257,8 +275,9 @@ do {                                                                \
 do {                                           \
        unsigned _count = (len);                \
        unsigned _n = (_count + 3) / 4;         \
-       Uint32 *_p = (Uint32 *)(dst);           \
+       Uint32 *_p = SDL_static_cast(Uint32 *, dst);    \
        Uint32 _val = (val);                    \
+       if (len == 0) break;                    \
         switch (_count % 4) {                  \
         case 0: do {    *_p++ = _val;          \
         case 3:         *_p++ = _val;          \
@@ -287,7 +306,7 @@ do {                                                                          \
                "movsb\n"                                                 \
                "2:"                                                      \
                : "=&c" (u0), "=&D" (u1), "=&S" (u2)                      \
-               : "0" ((unsigned)(len)/4), "q" (len), "1" (dst),"2" (src) \
+               : "0" (SDL_static_cast(unsigned, len)/4), "q" (len), "1" (dst),"2" (src) \
                : "memory" );                                             \
 } while(0)
 #endif
@@ -312,7 +331,7 @@ do {                                                                \
                "cld\n\t"                                       \
                "rep ; movsl"                                   \
                : "=&c" (ecx), "=&D" (edi), "=&S" (esi)         \
-               : "0" ((unsigned)(len)), "1" (dst), "2" (src)   \
+               : "0" (SDL_static_cast(unsigned, len)), "1" (dst), "2" (src)    \
                : "memory" );                                   \
 } while(0)
 #endif
@@ -324,13 +343,14 @@ do {                                                              \
 #define SDL_revcpy(dst, src, len)                      \
 do {                                                   \
        int u0, u1, u2;                                 \
-       char *dstp = (char *)(dst);                     \
-       char *srcp = (char *)(src);                     \
+       char *dstp = SDL_static_cast(char *, dst);      \
+       char *srcp = SDL_static_cast(char *, src);      \
        int n = (len);                                  \
        if ( n >= 4 ) {                                 \
        __asm__ __volatile__ (                          \
                "std\n\t"                               \
                "rep ; movsl\n\t"                       \
+               "cld\n\t"                               \
                : "=&c" (u0), "=&D" (u1), "=&S" (u2)    \
                : "0" (n >> 2),                         \
                  "1" (dstp+(n-4)), "2" (srcp+(n-4))    \
@@ -563,13 +583,17 @@ extern DECLSPEC int SDLCALL SDL_snprintf(char *text, size_t maxlen, const char *
 extern DECLSPEC int SDLCALL SDL_vsnprintf(char *text, size_t maxlen, const char *fmt, va_list ap);
 #endif
 
-/* The SDL implementation of iconv() returns these error codes */
+/** @name SDL_ICONV Error Codes
+ *  The SDL implementation of iconv() returns these error codes 
+ */
+/*@{*/
 #define SDL_ICONV_ERROR                (size_t)-1
 #define SDL_ICONV_E2BIG                (size_t)-2
 #define SDL_ICONV_EILSEQ       (size_t)-3
 #define SDL_ICONV_EINVAL       (size_t)-4
+/*@}*/
 
-#ifdef HAVE_ICONV
+#if defined(HAVE_ICONV) && defined(HAVE_ICONV_H)
 #define SDL_iconv_t     iconv_t
 #define SDL_iconv_open  iconv_open
 #define SDL_iconv_close iconv_close
@@ -579,9 +603,9 @@ extern DECLSPEC SDL_iconv_t SDLCALL SDL_iconv_open(const char *tocode, const cha
 extern DECLSPEC int SDLCALL SDL_iconv_close(SDL_iconv_t cd);
 #endif
 extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft);
-/* This function converts a string between encodings in one pass, returning a
-   string that must be freed with SDL_free() or NULL on error.
-*/
+/** This function converts a string between encodings in one pass, returning a
*  string that must be freed with SDL_free() or NULL on error.
+ */
 extern DECLSPEC char * SDLCALL SDL_iconv_string(const char *tocode, const char *fromcode, const char *inbuf, size_t inbytesleft);
 #define SDL_iconv_utf8_locale(S)       SDL_iconv_string("", "UTF-8", S, SDL_strlen(S)+1)
 #define SDL_iconv_utf8_ucs2(S)         (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1)
index 010dd1b..716dddc 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Include file for SDL custom system window manager hooks */
+/** @file SDL_syswm.h
+ *  Include file for SDL custom system window manager hooks
+ */
 
 #ifndef _SDL_syswm_h
 #define _SDL_syswm_h
 extern "C" {
 #endif
 
-/* Your application has access to a special type of event 'SDL_SYSWMEVENT',
-   which contains window-manager specific information and arrives whenever
-   an unhandled window event occurs.  This event is ignored by default, but
-   you can enable it with SDL_EventState()
-*/
+/** @file SDL_syswm.h
+ *  Your application has access to a special type of event 'SDL_SYSWMEVENT',
+ *  which contains window-manager specific information and arrives whenever
+ *  an unhandled window event occurs.  This event is ignored by default, but
+ *  you can enable it with SDL_EventState()
+ */
 #ifdef SDL_PROTOTYPES_ONLY
 struct SDL_SysWMinfo;
 typedef struct SDL_SysWMinfo SDL_SysWMinfo;
@@ -60,12 +63,12 @@ typedef struct SDL_SysWMinfo SDL_SysWMinfo;
 #undef Cursor
 #endif
 
-/* These are the various supported subsystems under UNIX */
+/** These are the various supported subsystems under UNIX */
 typedef enum {
        SDL_SYSWM_X11
 } SDL_SYSWM_TYPE;
 
-/* The UNIX custom event structure */
+/** The UNIX custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
        SDL_SYSWM_TYPE subsystem;
@@ -74,32 +77,38 @@ struct SDL_SysWMmsg {
        } event;
 };
 
-/* The UNIX custom window manager information structure.
-   When this structure is returned, it holds information about which
-   low level system it is using, and will be one of SDL_SYSWM_TYPE.
+/** The UNIX custom window manager information structure.
*  When this structure is returned, it holds information about which
*  low level system it is using, and will be one of SDL_SYSWM_TYPE.
  */
 typedef struct SDL_SysWMinfo {
        SDL_version version;
        SDL_SYSWM_TYPE subsystem;
        union {
            struct {
-               Display *display;       /* The X11 display */
-               Window window;          /* The X11 display window */
-               /* These locking functions should be called around
-                   any X11 functions using the display variable, 
-                   but not the gfxdisplay variable.
-                   They lock the event thread, so should not be
-                  called around event functions or from event filters.
+               Display *display;       /**< The X11 display */
+               Window window;          /**< The X11 display window */
+               /** These locking functions should be called around
+                 *  any X11 functions using the display variable, 
+                 *  but not the gfxdisplay variable.
+                 *  They lock the event thread, so should not be
+                *  called around event functions or from event filters.
                 */
+                /*@{*/
                void (*lock_func)(void);
                void (*unlock_func)(void);
-
-               /* Introduced in SDL 1.0.2 */
-               Window fswindow;        /* The X11 fullscreen window */
-               Window wmwindow;        /* The X11 managed input window */
-
-               /* Introduced in SDL 1.2.12 */
-               Display *gfxdisplay;    /* The X11 display to which rendering is done */
+                /*@}*/
+
+               /** @name Introduced in SDL 1.0.2 */
+                /*@{*/
+               Window fswindow;        /**< The X11 fullscreen window */
+               Window wmwindow;        /**< The X11 managed input window */
+                /*@}*/
+
+               /** @name Introduced in SDL 1.2.12 */
+                /*@{*/
+               Display *gfxdisplay;    /**< The X11 display to which rendering is done */
+                /*@}*/
            } x11;
        } info;
 } SDL_SysWMinfo;
@@ -107,13 +116,13 @@ typedef struct SDL_SysWMinfo {
 #elif defined(SDL_VIDEO_DRIVER_NANOX)
 #include <microwin/nano-X.h>
 
-/* The generic custom event structure */
+/** The generic custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
        int data;
 };
 
-/* The windows custom window manager information structure */
+/** The windows custom window manager information structure */
 typedef struct SDL_SysWMinfo {
        SDL_version version ;
        GR_WINDOW_ID window ;   /* The display window */
@@ -123,50 +132,50 @@ typedef struct SDL_SysWMinfo {
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
-/* The windows custom event structure */
+/** The windows custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
-       HWND hwnd;                      /* The window for the message */
-       UINT msg;                       /* The type of message */
-       WPARAM wParam;                  /* WORD message parameter */
-       LPARAM lParam;                  /* LONG message parameter */
+       HWND hwnd;                      /**< The window for the message */
+       UINT msg;                       /**< The type of message */
+       WPARAM wParam;                  /**< WORD message parameter */
+       LPARAM lParam;                  /**< LONG message parameter */
 };
 
-/* The windows custom window manager information structure */
+/** The windows custom window manager information structure */
 typedef struct SDL_SysWMinfo {
        SDL_version version;
-       HWND window;                    /* The Win32 display window */
-       HGLRC hglrc;                    /* The OpenGL context, if any */
+       HWND window;                    /**< The Win32 display window */
+       HGLRC hglrc;                    /**< The OpenGL context, if any */
 } SDL_SysWMinfo;
 
 #elif defined(SDL_VIDEO_DRIVER_RISCOS)
 
-/* RISC OS custom event structure */
+/** RISC OS custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
-       int eventCode;          /* The window for the message */
+       int eventCode;          /**< The window for the message */
        int pollBlock[64];
 };
 
-/* The RISC OS custom window manager information structure */
+/** The RISC OS custom window manager information structure */
 typedef struct SDL_SysWMinfo {
        SDL_version version;
-       int wimpVersion;    /* Wimp version running under */
-       int taskHandle;     /* The RISC OS task handle */
-       int window;             /* The RISC OS display window */
+       int wimpVersion;    /**< Wimp version running under */
+       int taskHandle;     /**< The RISC OS task handle */
+       int window;             /**< The RISC OS display window */
 } SDL_SysWMinfo;
 
 #elif defined(SDL_VIDEO_DRIVER_PHOTON)
 #include <sys/neutrino.h>
 #include <Ph.h>
 
-/* The QNX custom event structure */
+/** The QNX custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
        int data;
 };
 
-/* The QNX custom window manager information structure */
+/** The QNX custom window manager information structure */
 typedef struct SDL_SysWMinfo {
        SDL_version version;
        int data;
@@ -174,13 +183,13 @@ typedef struct SDL_SysWMinfo {
 
 #else
 
-/* The generic custom event structure */
+/** The generic custom event structure */
 struct SDL_SysWMmsg {
        SDL_version version;
        int data;
 };
 
-/* The generic custom window manager information structure */
+/** The generic custom window manager information structure */
 typedef struct SDL_SysWMinfo {
        SDL_version version;
        int data;
@@ -191,16 +200,18 @@ typedef struct SDL_SysWMinfo {
 #endif /* SDL_PROTOTYPES_ONLY */
 
 /* Function prototypes */
-/*
+/**
  * This function gives you custom hooks into the window manager information.
  * It fills the structure pointed to by 'info' with custom information and
  * returns 1 if the function is implemented.  If it's not implemented, or
  * the version member of the 'info' structure is invalid, it returns 0. 
  *
  * You typically use this function like this:
+ * @code
  * SDL_SysWMInfo info;
  * SDL_VERSION(&info.version);
  * if ( SDL_GetWMInfo(&info) ) { ... }
+ * @endcode
  */
 extern DECLSPEC int SDLCALL SDL_GetWMInfo(SDL_SysWMinfo *info);
 
index 403ee46..1ca9a1b 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
 #ifndef _SDL_thread_h
 #define _SDL_thread_h
 
-/* Header for the SDL thread management routines 
-
-       These are independent of the other SDL routines.
-*/
+/** @file SDL_thread.h
+ *  Header for the SDL thread management routines 
+ *
+ *  @note These are independent of the other SDL routines.
+ */
 
 #include "SDL_stdinc.h"
 #include "SDL_error.h"
 extern "C" {
 #endif
 
-/* The SDL thread structure, defined in SDL_thread.c */
+/** The SDL thread structure, defined in SDL_thread.c */
 struct SDL_Thread;
 typedef struct SDL_Thread SDL_Thread;
 
-/* Create a thread */
+/** Create a thread */
 #if ((defined(__WIN32__) && !defined(HAVE_LIBC)) || defined(__OS2__)) &&  !defined(__SYMBIAN32__)
-/*
-   We compile SDL into a DLL on OS/2. This means, that it's the DLL which
-   creates a new thread for the calling process with the SDL_CreateThread()
-   API. There is a problem with this, that only the RTL of the SDL.DLL will
-   be initialized for those threads, and not the RTL of the calling application!
-   To solve this, we make a little hack here.
-   We'll always use the caller's _beginthread() and _endthread() APIs to
-   start a new thread. This way, if it's the SDL.DLL which uses this API,
-   then the RTL of SDL.DLL will be used to create the new thread, and if it's
-   the application, then the RTL of the application will be used.
-   So, in short:
-   Always use the _beginthread() and _endthread() of the calling runtime library!
-*/
+/**
*  We compile SDL into a DLL on OS/2. This means, that it's the DLL which
*  creates a new thread for the calling process with the SDL_CreateThread()
*  API. There is a problem with this, that only the RTL of the SDL.DLL will
*  be initialized for those threads, and not the RTL of the calling application!
*  To solve this, we make a little hack here.
*  We'll always use the caller's _beginthread() and _endthread() APIs to
*  start a new thread. This way, if it's the SDL.DLL which uses this API,
*  then the RTL of SDL.DLL will be used to create the new thread, and if it's
*  the application, then the RTL of the application will be used.
*  So, in short:
*  Always use the _beginthread() and _endthread() of the calling runtime library!
+ */
 #define SDL_PASSED_BEGINTHREAD_ENDTHREAD
 #ifndef _WIN32_WCE
 #include <process.h> /* This has _beginthread() and _endthread() defined! */
@@ -92,21 +93,21 @@ extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *),
 extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (SDLCALL *fn)(void *), void *data);
 #endif
 
-/* Get the 32-bit thread identifier for the current thread */
+/** Get the 32-bit thread identifier for the current thread */
 extern DECLSPEC Uint32 SDLCALL SDL_ThreadID(void);
 
-/* Get the 32-bit thread identifier for the specified thread,
-   equivalent to SDL_ThreadID() if the specified thread is NULL.
+/** Get the 32-bit thread identifier for the specified thread,
*  equivalent to SDL_ThreadID() if the specified thread is NULL.
  */
 extern DECLSPEC Uint32 SDLCALL SDL_GetThreadID(SDL_Thread *thread);
 
-/* Wait for a thread to finish.
-   The return code for the thread function is placed in the area
-   pointed to by 'status', if 'status' is not NULL.
+/** Wait for a thread to finish.
*  The return code for the thread function is placed in the area
*  pointed to by 'status', if 'status' is not NULL.
  */
 extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread *thread, int *status);
 
-/* Forcefully kill a thread without worrying about its state */
+/** Forcefully kill a thread without worrying about its state */
 extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread *thread);
 
 
index d21159f..d7cd024 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -23,7 +23,9 @@
 #ifndef _SDL_timer_h
 #define _SDL_timer_h
 
-/* Header for the SDL time management routines */
+/** @file SDL_timer.h
+ *  Header for the SDL time management routines
+ */
 
 #include "SDL_stdinc.h"
 #include "SDL_error.h"
 extern "C" {
 #endif
 
-/* This is the OS scheduler timeslice, in milliseconds */
+/** This is the OS scheduler timeslice, in milliseconds */
 #define SDL_TIMESLICE          10
 
-/* This is the maximum resolution of the SDL timer on all platforms */
-#define TIMER_RESOLUTION       10      /* Experimentally determined */
+/** This is the maximum resolution of the SDL timer on all platforms */
+#define TIMER_RESOLUTION       10      /**< Experimentally determined */
 
-/* Get the number of milliseconds since the SDL library initialization.
+/**
+ * Get the number of milliseconds since the SDL library initialization.
  * Note that this value wraps if the program runs for more than ~49 days.
  */ 
 extern DECLSPEC Uint32 SDLCALL SDL_GetTicks(void);
 
-/* Wait a specified number of milliseconds before returning */
+/** Wait a specified number of milliseconds before returning */
 extern DECLSPEC void SDLCALL SDL_Delay(Uint32 ms);
 
-/* Function prototype for the timer callback function */
+/** Function prototype for the timer callback function */
 typedef Uint32 (SDLCALL *SDL_TimerCallback)(Uint32 interval);
 
-/* Set a callback to run after the specified number of milliseconds has
+/**
+ * Set a callback to run after the specified number of milliseconds has
  * elapsed. The callback function is passed the current timer interval
  * and returns the next timer interval.  If the returned value is the 
  * same as the one passed in, the periodic alarm continues, otherwise a
@@ -68,7 +72,7 @@ typedef Uint32 (SDLCALL *SDL_TimerCallback)(Uint32 interval);
  * later on an unloaded system.  If you wanted to set a flag signaling
  * a frame update at 30 frames per second (every 33 ms), you might set a 
  * timer for 30 ms:
- *   SDL_SetTimer((33/10)*10, flag_update);
+ *   @code SDL_SetTimer((33/10)*10, flag_update); @endcode
  *
  * If you use this function, you need to pass SDL_INIT_TIMER to SDL_Init().
  *
@@ -81,11 +85,14 @@ typedef Uint32 (SDLCALL *SDL_TimerCallback)(Uint32 interval);
  */
 extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, SDL_TimerCallback callback);
 
-/* New timer API, supports multiple timers
+/** @name New timer API
+ * New timer API, supports multiple timers
  * Written by Stephane Peter <megastep@lokigames.com>
  */
+/*@{*/
 
-/* Function prototype for the new timer callback function.
+/**
+ * Function prototype for the new timer callback function.
  * The callback function is passed the current timer interval and returns
  * the next timer interval.  If the returned value is the same as the one
  * passed in, the periodic alarm continues, otherwise a new alarm is
@@ -93,19 +100,22 @@ extern DECLSPEC int SDLCALL SDL_SetTimer(Uint32 interval, SDL_TimerCallback call
  */
 typedef Uint32 (SDLCALL *SDL_NewTimerCallback)(Uint32 interval, void *param);
 
-/* Definition of the timer ID type */
+/** Definition of the timer ID type */
 typedef struct _SDL_TimerID *SDL_TimerID;
 
-/* Add a new timer to the pool of timers already running.
-   Returns a timer ID, or NULL when an error occurs.
+/** Add a new timer to the pool of timers already running.
*  Returns a timer ID, or NULL when an error occurs.
  */
 extern DECLSPEC SDL_TimerID SDLCALL SDL_AddTimer(Uint32 interval, SDL_NewTimerCallback callback, void *param);
 
-/* Remove one of the multiple timers knowing its ID.
+/**
+ * Remove one of the multiple timers knowing its ID.
  * Returns a boolean value indicating success.
  */
 extern DECLSPEC SDL_bool SDLCALL SDL_RemoveTimer(SDL_TimerID t);
 
+/*@}*/
+
 /* Ends C function definitions when using C++ */
 #ifdef __cplusplus
 }
index 853b9ce..cfa3523 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,5 +20,9 @@
     slouken@libsdl.org
 */
 
+/** @file SDL_types.h
+ *  @deprecated Use SDL_stdinc.h instead.
+ */
+
 /* DEPRECATED */
 #include "SDL_stdinc.h"
index 9ff0fa8..fa02c3f 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* This header defines the current SDL version */
+/** @file SDL_version.h
+ *  This header defines the current SDL version
+ */
 
 #ifndef _SDL_version_h
 #define _SDL_version_h
 extern "C" {
 #endif
 
-/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
-*/
+/** @name Version Number
+ *  Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
+ */
+/*@{*/
 #define SDL_MAJOR_VERSION      1
 #define SDL_MINOR_VERSION      2
-#define SDL_PATCHLEVEL         13
+#define SDL_PATCHLEVEL         14
+/*@}*/
 
 typedef struct SDL_version {
        Uint8 major;
@@ -45,7 +50,8 @@ typedef struct SDL_version {
        Uint8 patch;
 } SDL_version;
 
-/* This macro can be used to fill a version structure with the compile-time
+/**
+ * This macro can be used to fill a version structure with the compile-time
  * version of the SDL library.
  */
 #define SDL_VERSION(X)                                                 \
@@ -55,24 +61,24 @@ typedef struct SDL_version {
        (X)->patch = SDL_PATCHLEVEL;                                    \
 }
 
-/* This macro turns the version numbers into a numeric value:
-   (1,2,3) -> (1203)
-   This assumes that there will never be more than 100 patchlevels
-*/
+/** This macro turns the version numbers into a numeric value:
*  (1,2,3) -> (1203)
*  This assumes that there will never be more than 100 patchlevels
+ */
 #define SDL_VERSIONNUM(X, Y, Z)                                                \
        ((X)*1000 + (Y)*100 + (Z))
 
-/* This is the version number macro for the current SDL version */
+/** This is the version number macro for the current SDL version */
 #define SDL_COMPILEDVERSION \
        SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)
 
-/* This macro will evaluate to true if compiled with SDL at least X.Y.Z */
+/** This macro will evaluate to true if compiled with SDL at least X.Y.Z */
 #define SDL_VERSION_ATLEAST(X, Y, Z) \
        (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
 
-/* This function gets the version of the dynamically linked SDL library.
-   it should NOT be used to fill a version structure, instead you should
-   use the SDL_Version() macro.
+/** This function gets the version of the dynamically linked SDL library.
*  it should NOT be used to fill a version structure, instead you should
*  use the SDL_Version() macro.
  */
 extern DECLSPEC const SDL_version * SDLCALL SDL_Linked_Version(void);
 
index f6bacce..8f7f305 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2006 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,9 @@
     slouken@libsdl.org
 */
 
-/* Header file for access to the SDL raw framebuffer window */
+/** @file SDL_video.h
+ *  Header file for access to the SDL raw framebuffer window
+ */
 
 #ifndef _SDL_video_h
 #define _SDL_video_h
 extern "C" {
 #endif
 
-/* Transparency definitions: These define alpha as the opacity of a surface */
+/** @name Transparency definitions
+ *  These define alpha as the opacity of a surface
+ */
+/*@{*/
 #define SDL_ALPHA_OPAQUE 255
 #define SDL_ALPHA_TRANSPARENT 0
+/*@}*/
 
-/* Useful data types */
+/** @name Useful data types */
+/*@{*/
 typedef struct SDL_Rect {
        Sint16 x, y;
        Uint16 w, h;
@@ -57,8 +64,9 @@ typedef struct SDL_Palette {
        int       ncolors;
        SDL_Color *colors;
 } SDL_Palette;
+/*@}*/
 
-/* Everything in the pixel format structure is read-only */
+/** Everything in the pixel format structure is read-only */
 typedef struct SDL_PixelFormat {
        SDL_Palette *palette;
        Uint8  BitsPerPixel;
@@ -76,128 +84,149 @@ typedef struct SDL_PixelFormat {
        Uint32 Bmask;
        Uint32 Amask;
 
-       /* RGB color key information */
+       /** RGB color key information */
        Uint32 colorkey;
-       /* Alpha value information (per-surface alpha) */
+       /** Alpha value information (per-surface alpha) */
        Uint8  alpha;
 } SDL_PixelFormat;
 
-/* This structure should be treated as read-only, except for 'pixels',
-   which, if not NULL, contains the raw pixel data for the surface.
-*/
+/** This structure should be treated as read-only, except for 'pixels',
*  which, if not NULL, contains the raw pixel data for the surface.
+ */
 typedef struct SDL_Surface {
-       Uint32 flags;                           /* Read-only */
-       SDL_PixelFormat *format;                /* Read-only */
-       int w, h;                               /* Read-only */
-       Uint16 pitch;                           /* Read-only */
-       void *pixels;                           /* Read-write */
-       int offset;                             /* Private */
-
-       /* Hardware-specific surface info */
+       Uint32 flags;                           /**< Read-only */
+       SDL_PixelFormat *format;                /**< Read-only */
+       int w, h;                               /**< Read-only */
+       Uint16 pitch;                           /**< Read-only */
+       void *pixels;                           /**< Read-write */
+       int offset;                             /**< Private */
+
+       /** Hardware-specific surface info */
        struct private_hwdata *hwdata;
 
-       /* clipping information */
-       SDL_Rect clip_rect;                     /* Read-only */
-       Uint32 unused1;                         /* for binary compatibility */
+       /** clipping information */
+       SDL_Rect clip_rect;                     /**< Read-only */
+       Uint32 unused1;                         /**< for binary compatibility */
 
-       /* Allow recursive locks */
-       Uint32 locked;                          /* Private */
+       /** Allow recursive locks */
+       Uint32 locked;                          /**< Private */
 
-       /* info for fast blit mapping to other surfaces */
-       struct SDL_BlitMap *map;                /* Private */
+       /** info for fast blit mapping to other surfaces */
+       struct SDL_BlitMap *map;                /**< Private */
 
-       /* format version, bumped at every change to invalidate blit maps */
-       unsigned int format_version;            /* Private */
+       /** format version, bumped at every change to invalidate blit maps */
+       unsigned int format_version;            /**< Private */
 
-       /* Reference count -- used when freeing surface */
-       int refcount;                           /* Read-mostly */
+       /** Reference count -- used when freeing surface */
+       int refcount;                           /**< Read-mostly */
 } SDL_Surface;
 
-/* These are the currently supported flags for the SDL_surface */
-/* Available for SDL_CreateRGBSurface() or SDL_SetVideoMode() */
-#define SDL_SWSURFACE  0x00000000      /* Surface is in system memory */
-#define SDL_HWSURFACE  0x00000001      /* Surface is in video memory */
-#define SDL_ASYNCBLIT  0x00000004      /* Use asynchronous blits if possible */
-/* Available for SDL_SetVideoMode() */
-#define SDL_ANYFORMAT  0x10000000      /* Allow any video depth/pixel-format */
-#define SDL_HWPALETTE  0x20000000      /* Surface has exclusive palette */
-#define SDL_DOUBLEBUF  0x40000000      /* Set up double-buffered video mode */
-#define SDL_FULLSCREEN 0x80000000      /* Surface is a full screen display */
-#define SDL_OPENGL      0x00000002      /* Create an OpenGL rendering context */
-#define SDL_OPENGLBLIT 0x0000000A      /* Create an OpenGL rendering context and use it for blitting */
-#define SDL_RESIZABLE  0x00000010      /* This video mode may be resized */
-#define SDL_NOFRAME    0x00000020      /* No window caption or edge frame */
-/* Used internally (read-only) */
-#define SDL_HWACCEL    0x00000100      /* Blit uses hardware acceleration */
-#define SDL_SRCCOLORKEY        0x00001000      /* Blit uses a source color key */
-#define SDL_RLEACCELOK 0x00002000      /* Private flag */
-#define SDL_RLEACCEL   0x00004000      /* Surface is RLE encoded */
-#define SDL_SRCALPHA   0x00010000      /* Blit uses source alpha blending */
-#define SDL_PREALLOC   0x01000000      /* Surface uses preallocated memory */
-
-/* Evaluates to true if the surface needs to be locked before access */
+/** @name SDL_Surface Flags
+ *  These are the currently supported flags for the SDL_surface
+ */
+/*@{*/
+
+/** Available for SDL_CreateRGBSurface() or SDL_SetVideoMode() */
+/*@{*/
+#define SDL_SWSURFACE  0x00000000      /**< Surface is in system memory */
+#define SDL_HWSURFACE  0x00000001      /**< Surface is in video memory */
+#define SDL_ASYNCBLIT  0x00000004      /**< Use asynchronous blits if possible */
+/*@}*/
+
+/** Available for SDL_SetVideoMode() */
+/*@{*/
+#define SDL_ANYFORMAT  0x10000000      /**< Allow any video depth/pixel-format */
+#define SDL_HWPALETTE  0x20000000      /**< Surface has exclusive palette */
+#define SDL_DOUBLEBUF  0x40000000      /**< Set up double-buffered video mode */
+#define SDL_FULLSCREEN 0x80000000      /**< Surface is a full screen display */
+#define SDL_OPENGL      0x00000002      /**< Create an OpenGL rendering context */
+#define SDL_OPENGLBLIT 0x0000000A      /**< Create an OpenGL rendering context and use it for blitting */
+#define SDL_RESIZABLE  0x00000010      /**< This video mode may be resized */
+#define SDL_NOFRAME    0x00000020      /**< No window caption or edge frame */
+/*@}*/
+
+/** Used internally (read-only) */
+/*@{*/
+#define SDL_HWACCEL    0x00000100      /**< Blit uses hardware acceleration */
+#define SDL_SRCCOLORKEY        0x00001000      /**< Blit uses a source color key */
+#define SDL_RLEACCELOK 0x00002000      /**< Private flag */
+#define SDL_RLEACCEL   0x00004000      /**< Surface is RLE encoded */
+#define SDL_SRCALPHA   0x00010000      /**< Blit uses source alpha blending */
+#define SDL_PREALLOC   0x01000000      /**< Surface uses preallocated memory */
+/*@}*/
+
+/*@}*/
+
+/** Evaluates to true if the surface needs to be locked before access */
 #define SDL_MUSTLOCK(surface)  \
   (surface->offset ||          \
   ((surface->flags & (SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_RLEACCEL)) != 0))
 
-/* typedef for private surface blitting functions */
+/** typedef for private surface blitting functions */
 typedef int (*SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect,
                        struct SDL_Surface *dst, SDL_Rect *dstrect);
 
 
-/* Useful for determining the video hardware capabilities */
+/** Useful for determining the video hardware capabilities */
 typedef struct SDL_VideoInfo {
-       Uint32 hw_available :1; /* Flag: Can you create hardware surfaces? */
-       Uint32 wm_available :1; /* Flag: Can you talk to a window manager? */
+       Uint32 hw_available :1; /**< Flag: Can you create hardware surfaces? */
+       Uint32 wm_available :1; /**< Flag: Can you talk to a window manager? */
        Uint32 UnusedBits1  :6;
        Uint32 UnusedBits2  :1;
-       Uint32 blit_hw      :1; /* Flag: Accelerated blits HW --> HW */
-       Uint32 blit_hw_CC   :1; /* Flag: Accelerated blits with Colorkey */
-       Uint32 blit_hw_A    :1; /* Flag: Accelerated blits with Alpha */
-       Uint32 blit_sw      :1; /* Flag: Accelerated blits SW --> HW */
-       Uint32 blit_sw_CC   :1; /* Flag: Accelerated blits with Colorkey */
-       Uint32 blit_sw_A    :1; /* Flag: Accelerated blits with Alpha */
-       Uint32 blit_fill    :1; /* Flag: Accelerated color fill */
+       Uint32 blit_hw      :1; /**< Flag: Accelerated blits HW --> HW */
+       Uint32 blit_hw_CC   :1; /**< Flag: Accelerated blits with Colorkey */
+       Uint32 blit_hw_A    :1; /**< Flag: Accelerated blits with Alpha */
+       Uint32 blit_sw      :1; /**< Flag: Accelerated blits SW --> HW */
+       Uint32 blit_sw_CC   :1; /**< Flag: Accelerated blits with Colorkey */
+       Uint32 blit_sw_A    :1; /**< Flag: Accelerated blits with Alpha */
+       Uint32 blit_fill    :1; /**< Flag: Accelerated color fill */
        Uint32 UnusedBits3  :16;
-       Uint32 video_mem;       /* The total amount of video memory (in K) */
-       SDL_PixelFormat *vfmt;  /* Value: The format of the video surface */
-       int    current_w;       /* Value: The current video mode width */
-       int    current_h;       /* Value: The current video mode height */
+       Uint32 video_mem;       /**< The total amount of video memory (in K) */
+       SDL_PixelFormat *vfmt;  /**< Value: The format of the video surface */
+       int    current_w;       /**< Value: The current video mode width */
+       int    current_h;       /**< Value: The current video mode height */
 } SDL_VideoInfo;
 
 
-/* The most common video overlay formats.
-   For an explanation of these pixel formats, see:
-       http://www.webartz.com/fourcc/indexyuv.htm
-
-   For information on the relationship between color spaces, see:
-   http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
+/** @name Overlay Formats
+ *  The most common video overlay formats.
+ *  For an explanation of these pixel formats, see:
+ *     http://www.webartz.com/fourcc/indexyuv.htm
+ *
+ *  For information on the relationship between color spaces, see:
+ *  http://www.neuro.sfc.keio.ac.jp/~aly/polygon/info/color-space-faq.html
  */
-#define SDL_YV12_OVERLAY  0x32315659   /* Planar mode: Y + V + U  (3 planes) */
-#define SDL_IYUV_OVERLAY  0x56555949   /* Planar mode: Y + U + V  (3 planes) */
-#define SDL_YUY2_OVERLAY  0x32595559   /* Packed mode: Y0+U0+Y1+V0 (1 plane) */
-#define SDL_UYVY_OVERLAY  0x59565955   /* Packed mode: U0+Y0+V0+Y1 (1 plane) */
-#define SDL_YVYU_OVERLAY  0x55595659   /* Packed mode: Y0+V0+Y1+U0 (1 plane) */
+/*@{*/
+#define SDL_YV12_OVERLAY  0x32315659   /**< Planar mode: Y + V + U  (3 planes) */
+#define SDL_IYUV_OVERLAY  0x56555949   /**< Planar mode: Y + U + V  (3 planes) */
+#define SDL_YUY2_OVERLAY  0x32595559   /**< Packed mode: Y0+U0+Y1+V0 (1 plane) */
+#define SDL_UYVY_OVERLAY  0x59565955   /**< Packed mode: U0+Y0+V0+Y1 (1 plane) */
+#define SDL_YVYU_OVERLAY  0x55595659   /**< Packed mode: Y0+V0+Y1+U0 (1 plane) */
+/*@}*/
 
-/* The YUV hardware video overlay */
+/** The YUV hardware video overlay */
 typedef struct SDL_Overlay {
-       Uint32 format;                          /* Read-only */
-       int w, h;                               /* Read-only */
-       int planes;                             /* Read-only */
-       Uint16 *pitches;                        /* Read-only */
-       Uint8 **pixels;                         /* Read-write */
-
-       /* Hardware-specific surface info */
+       Uint32 format;                          /**< Read-only */
+       int w, h;                               /**< Read-only */
+       int planes;                             /**< Read-only */
+       Uint16 *pitches;                        /**< Read-only */
+       Uint8 **pixels;                         /**< Read-write */
+
+       /** @name Hardware-specific surface info */
+        /*@{*/
        struct private_yuvhwfuncs *hwfuncs;
        struct private_yuvhwdata *hwdata;
+        /*@{*/
 
-       /* Special flags */
-       Uint32 hw_overlay :1;   /* Flag: This overlay hardware accelerated? */
+       /** @name Special flags */
+        /*@{*/
+       Uint32 hw_overlay :1;   /**< Flag: This overlay hardware accelerated? */
        Uint32 UnusedBits :31;
+        /*@}*/
 } SDL_Overlay;
 
 
-/* Public enumeration for setting the OpenGL window attributes. */
+/** Public enumeration for setting the OpenGL window attributes. */
 typedef enum {
     SDL_GL_RED_SIZE,
     SDL_GL_GREEN_SIZE,
@@ -218,17 +247,23 @@ typedef enum {
     SDL_GL_SWAP_CONTROL
 } SDL_GLattr;
 
-/* flags for SDL_SetPalette() */
+/** @name flags for SDL_SetPalette() */
+/*@{*/
 #define SDL_LOGPAL 0x01
 #define SDL_PHYSPAL 0x02
+/*@}*/
 
 /* Function prototypes */
 
-/* These functions are used internally, and should not be used unless you
+/**
+ * @name Video Init and Quit
+ * These functions are used internally, and should not be used unless you
  * have a specific need to specify the video driver you want to use.
  * You should normally use SDL_Init() or SDL_InitSubSystem().
- *
- * SDL_VideoInit() initializes the video subsystem -- sets up a connection
+ */
+/*@{*/
+/**
+ * Initializes the video subsystem. Sets up a connection
  * to the window manager, etc, and determines the current video mode and
  * pixel format, but does not initialize a window or graphics mode.
  * Note that event handling is activated by this routine.
@@ -239,14 +274,16 @@ typedef enum {
  */
 extern DECLSPEC int SDLCALL SDL_VideoInit(const char *driver_name, Uint32 flags);
 extern DECLSPEC void SDLCALL SDL_VideoQuit(void);
+/*@}*/
 
-/* This function fills the given character buffer with the name of the
+/**
+ * This function fills the given character buffer with the name of the
  * video driver, and returns a pointer to it if the video driver has
  * been initialized.  It returns NULL if no driver has been initialized.
  */
 extern DECLSPEC char * SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen);
 
-/*
+/**
  * This function returns a pointer to the current display surface.
  * If SDL is doing format conversion on the display surface, this
  * function returns the publicly visible surface, not the real video
@@ -254,7 +291,7 @@ extern DECLSPEC char * SDLCALL SDL_VideoDriverName(char *namebuf, int maxlen);
  */
 extern DECLSPEC SDL_Surface * SDLCALL SDL_GetVideoSurface(void);
 
-/*
+/**
  * This function returns a read-only pointer to information about the
  * video hardware.  If this is called before SDL_SetVideoMode(), the 'vfmt'
  * member of the returned structure will contain the pixel format of the
@@ -262,7 +299,7 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_GetVideoSurface(void);
  */
 extern DECLSPEC const SDL_VideoInfo * SDLCALL SDL_GetVideoInfo(void);
 
-/* 
+/**
  * Check to see if a particular video mode is supported.
  * It returns 0 if the requested mode is not supported under any bit depth,
  * or returns the bits-per-pixel of the closest available mode with the
@@ -275,7 +312,7 @@ extern DECLSPEC const SDL_VideoInfo * SDLCALL SDL_GetVideoInfo(void);
  */
 extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint32 flags);
 
-/*
+/**
  * Return a pointer to an array of available screen dimensions for the
  * given format and video flags, sorted largest to smallest.  Returns 
  * NULL if there are no dimensions available for a particular format, 
@@ -286,7 +323,7 @@ extern DECLSPEC int SDLCALL SDL_VideoModeOK(int width, int height, int bpp, Uint
  */
 extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint32 flags);
 
-/*
+/**
  * Set up a video mode with the specified width, height and bits-per-pixel.
  *
  * If 'bpp' is 0, it is treated as the current display bits per pixel.
@@ -347,18 +384,24 @@ extern DECLSPEC SDL_Rect ** SDLCALL SDL_ListModes(SDL_PixelFormat *format, Uint3
 extern DECLSPEC SDL_Surface * SDLCALL SDL_SetVideoMode
                        (int width, int height, int bpp, Uint32 flags);
 
-/*
- * Makes sure the given list of rectangles is updated on the given screen.
- * If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire
- * screen.
+/** @name SDL_Update Functions
  * These functions should not be called while 'screen' is locked.
  */
+/*@{*/
+/**
+ * Makes sure the given list of rectangles is updated on the given screen.
+ */
 extern DECLSPEC void SDLCALL SDL_UpdateRects
                (SDL_Surface *screen, int numrects, SDL_Rect *rects);
+/**
+ * If 'x', 'y', 'w' and 'h' are all 0, SDL_UpdateRect will update the entire
+ * screen.
+ */
 extern DECLSPEC void SDLCALL SDL_UpdateRect
                (SDL_Surface *screen, Sint32 x, Sint32 y, Uint32 w, Uint32 h);
+/*@}*/
 
-/*
+/**
  * On hardware that supports double-buffering, this function sets up a flip
  * and returns.  The hardware will wait for vertical retrace, and then swap
  * video buffers before the next video surface blit or lock will return.
@@ -370,7 +413,7 @@ extern DECLSPEC void SDLCALL SDL_UpdateRect
  */
 extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface *screen);
 
-/*
+/**
  * Set the gamma correction for each of the color channels.
  * The gamma values range (approximately) between 0.1 and 10.0
  * 
@@ -380,7 +423,7 @@ extern DECLSPEC int SDLCALL SDL_Flip(SDL_Surface *screen);
  */
 extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue);
 
-/*
+/**
  * Set the gamma translation table for the red, green, and blue channels
  * of the video hardware.  Each table is an array of 256 16-bit quantities,
  * representing a mapping between the input and output for that channel.
@@ -394,7 +437,7 @@ extern DECLSPEC int SDLCALL SDL_SetGamma(float red, float green, float blue);
  */
 extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 *red, const Uint16 *green, const Uint16 *blue);
 
-/*
+/**
  * Retrieve the current values of the gamma translation tables.
  * 
  * You must pass in valid pointers to arrays of 256 16-bit quantities.
@@ -405,7 +448,7 @@ extern DECLSPEC int SDLCALL SDL_SetGammaRamp(const Uint16 *red, const Uint16 *gr
  */
 extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16 *blue);
 
-/*
+/**
  * Sets a portion of the colormap for the given 8-bit surface.  If 'surface'
  * is not a palettized surface, this function does nothing, returning 0.
  * If all of the colors were set as passed to SDL_SetColors(), it will
@@ -423,7 +466,7 @@ extern DECLSPEC int SDLCALL SDL_GetGammaRamp(Uint16 *red, Uint16 *green, Uint16
 extern DECLSPEC int SDLCALL SDL_SetColors(SDL_Surface *surface, 
                        SDL_Color *colors, int firstcolor, int ncolors);
 
-/*
+/**
  * Sets a portion of the colormap for a given 8-bit surface.
  * 'flags' is one or both of:
  * SDL_LOGPAL  -- set logical palette, which controls how blits are mapped
@@ -443,33 +486,37 @@ extern DECLSPEC int SDLCALL SDL_SetPalette(SDL_Surface *surface, int flags,
                                   SDL_Color *colors, int firstcolor,
                                   int ncolors);
 
-/*
+/**
  * Maps an RGB triple to an opaque pixel value for a given pixel format
  */
 extern DECLSPEC Uint32 SDLCALL SDL_MapRGB
 (const SDL_PixelFormat * const format,
  const Uint8 r, const Uint8 g, const Uint8 b);
 
-/*
+/**
  * Maps an RGBA quadruple to a pixel value for a given pixel format
  */
 extern DECLSPEC Uint32 SDLCALL SDL_MapRGBA
 (const SDL_PixelFormat * const format,
  const Uint8 r, const Uint8 g, const Uint8 b, const Uint8 a);
 
-/*
+/**
  * Maps a pixel value into the RGB components for a given pixel format
  */
-extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel, SDL_PixelFormat *fmt,
+extern DECLSPEC void SDLCALL SDL_GetRGB(Uint32 pixel,
+                               const SDL_PixelFormat * const fmt,
                                Uint8 *r, Uint8 *g, Uint8 *b);
 
-/*
+/**
  * Maps a pixel value into the RGBA components for a given pixel format
  */
-extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt,
-                                Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
+extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel,
+                               const SDL_PixelFormat * const fmt,
+                               Uint8 *r, Uint8 *g, Uint8 *b, Uint8 *a);
 
-/*
+/** @sa SDL_CreateRGBSurface */
+#define SDL_AllocSurface    SDL_CreateRGBSurface
+/**
  * Allocate and free an RGB surface (must be called after SDL_SetVideoMode)
  * If the depth is 4 or 8 bits, an empty palette is allocated for the surface.
  * If the depth is greater than 8 bits, the pixel format is set using the
@@ -503,16 +550,16 @@ extern DECLSPEC void SDLCALL SDL_GetRGBA(Uint32 pixel, SDL_PixelFormat *fmt,
  * reason the surface could not be placed in video memory, it will not have
  * the SDL_HWSURFACE flag set, and will be created in system memory instead.
  */
-#define SDL_AllocSurface    SDL_CreateRGBSurface
 extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurface
                        (Uint32 flags, int width, int height, int depth, 
                        Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
+/** @sa SDL_CreateRGBSurface */
 extern DECLSPEC SDL_Surface * SDLCALL SDL_CreateRGBSurfaceFrom(void *pixels,
                        int width, int height, int depth, int pitch,
                        Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
 extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface *surface);
 
-/*
+/**
  * SDL_LockSurface() sets up a surface for directly accessing the pixels.
  * Between calls to SDL_LockSurface()/SDL_UnlockSurface(), you can write
  * to and read from 'surface->pixels', using the pixel format stored in 
@@ -533,7 +580,7 @@ extern DECLSPEC void SDLCALL SDL_FreeSurface(SDL_Surface *surface);
 extern DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface *surface);
 extern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface *surface);
 
-/*
+/**
  * Load a surface from a seekable SDL data source (memory or file.)
  * If 'freesrc' is non-zero, the source will be closed after being read.
  * Returns the new surface, or NULL if there was an error.
@@ -541,10 +588,10 @@ extern DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface *surface);
  */
 extern DECLSPEC SDL_Surface * SDLCALL SDL_LoadBMP_RW(SDL_RWops *src, int freesrc);
 
-/* Convenience macro -- load a surface from a file */
+/** Convenience macro -- load a surface from a file */
 #define SDL_LoadBMP(file)      SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
 
-/*
+/**
  * Save a surface to a seekable SDL data source (memory or file.)
  * If 'freedst' is non-zero, the source will be closed after being written.
  * Returns 0 if successful or -1 if there was an error.
@@ -552,11 +599,11 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_LoadBMP_RW(SDL_RWops *src, int freesrc
 extern DECLSPEC int SDLCALL SDL_SaveBMP_RW
                (SDL_Surface *surface, SDL_RWops *dst, int freedst);
 
-/* Convenience macro -- save a surface to a file */
+/** Convenience macro -- save a surface to a file */
 #define SDL_SaveBMP(surface, file) \
                SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1)
 
-/*
+/**
  * Sets the color key (transparent pixel) in a blittable surface.
  * If 'flag' is SDL_SRCCOLORKEY (optionally OR'd with SDL_RLEACCEL), 
  * 'key' will be the transparent pixel in the source image of a blit.
@@ -568,7 +615,7 @@ extern DECLSPEC int SDLCALL SDL_SaveBMP_RW
 extern DECLSPEC int SDLCALL SDL_SetColorKey
                        (SDL_Surface *surface, Uint32 flag, Uint32 key);
 
-/*
+/**
  * This function sets the alpha value for the entire surface, as opposed to
  * using the alpha component of each pixel. This value measures the range
  * of transparency of the surface, 0 being completely transparent to 255
@@ -585,7 +632,7 @@ extern DECLSPEC int SDLCALL SDL_SetColorKey
  */
 extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);
 
-/*
+/**
  * Sets the clipping rectangle for the destination surface in a blit.
  *
  * If the clip rectangle is NULL, clipping will be disabled.
@@ -599,14 +646,14 @@ extern DECLSPEC int SDLCALL SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint
  */
 extern DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface *surface, const SDL_Rect *rect);
 
-/*
+/**
  * Gets the clipping rectangle for the destination surface in a blit.
  * 'rect' must be a pointer to a valid rectangle which will be filled
  * with the correct values.
  */
 extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect);
 
-/*
+/**
  * Creates a new surface of the specified format, and then copies and maps 
  * the given surface to it so the blit of the converted surface will be as 
  * fast as possible.  If this function fails, it returns NULL.
@@ -621,7 +668,7 @@ extern DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rec
 extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface
                        (SDL_Surface *src, SDL_PixelFormat *fmt, Uint32 flags);
 
-/*
+/**
  * This performs a fast blit from the source surface to the destination
  * surface.  It assumes that the source and destination rectangles are
  * the same size.  If either 'srcrect' or 'dstrect' are NULL, the entire
@@ -677,35 +724,38 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_ConvertSurface
  * If either of the surfaces were in video memory, and the blit returns -2,
  * the video memory was lost, so it should be reloaded with artwork and 
  * re-blitted:
-       while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) {
-               while ( SDL_LockSurface(image) < 0 )
-                       Sleep(10);
-               -- Write image pixels to image->pixels --
-               SDL_UnlockSurface(image);
-       }
+ * @code
+ *     while ( SDL_BlitSurface(image, imgrect, screen, dstrect) == -2 ) {
+ *             while ( SDL_LockSurface(image) < 0 )
+ *                     Sleep(10);
+ *             -- Write image pixels to image->pixels --
+ *             SDL_UnlockSurface(image);
+ *     }
+ * @endcode
+ *
  * This happens under DirectX 5.0 when the system switches away from your
  * fullscreen application.  The lock will also fail until you have access
  * to the video memory again.
+ *
+ * You should call SDL_BlitSurface() unless you know exactly how SDL
+ * blitting works internally and how to use the other blit functions.
  */
-/* You should call SDL_BlitSurface() unless you know exactly how SDL
-   blitting works internally and how to use the other blit functions.
-*/
 #define SDL_BlitSurface SDL_UpperBlit
 
-/* This is the public blit function, SDL_BlitSurface(), and it performs
-   rectangle validation and clipping before passing it to SDL_LowerBlit()
-*/
+/** This is the public blit function, SDL_BlitSurface(), and it performs
*  rectangle validation and clipping before passing it to SDL_LowerBlit()
+ */
 extern DECLSPEC int SDLCALL SDL_UpperBlit
                        (SDL_Surface *src, SDL_Rect *srcrect,
                         SDL_Surface *dst, SDL_Rect *dstrect);
-/* This is a semi-private blit function and it performs low-level surface
-   blitting only.
-*/
+/** This is a semi-private blit function and it performs low-level surface
*  blitting only.
+ */
 extern DECLSPEC int SDLCALL SDL_LowerBlit
                        (SDL_Surface *src, SDL_Rect *srcrect,
                         SDL_Surface *dst, SDL_Rect *dstrect);
 
-/*
+/**
  * This function performs a fast fill of the given rectangle with 'color'
  * The given rectangle is clipped to the destination surface clip area
  * and the final fill rectangle is saved in the passed in pointer.
@@ -717,7 +767,7 @@ extern DECLSPEC int SDLCALL SDL_LowerBlit
 extern DECLSPEC int SDLCALL SDL_FillRect
                (SDL_Surface *dst, SDL_Rect *dstrect, Uint32 color);
 
-/* 
+/**
  * This function takes a surface and copies it to a new surface of the
  * pixel format and colors of the video framebuffer, suitable for fast
  * blitting onto the display surface.  It calls SDL_ConvertSurface()
@@ -730,7 +780,7 @@ extern DECLSPEC int SDLCALL SDL_FillRect
  */
 extern DECLSPEC SDL_Surface * SDLCALL SDL_DisplayFormat(SDL_Surface *surface);
 
-/* 
+/**
  * This function takes a surface and copies it to a new surface of the
  * pixel format and colors of the video framebuffer (if possible),
  * suitable for fast alpha blitting onto the display surface.
@@ -746,38 +796,39 @@ extern DECLSPEC SDL_Surface * SDLCALL SDL_DisplayFormatAlpha(SDL_Surface *surfac
 
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* YUV video surface overlay functions                                       */
+/** @name YUV video surface overlay functions                                */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/* This function creates a video output overlay
-   Calling the returned surface an overlay is something of a misnomer because
-   the contents of the display surface underneath the area where the overlay
-   is shown is undefined - it may be overwritten with the converted YUV data.
-*/
+/** This function creates a video output overlay
*  Calling the returned surface an overlay is something of a misnomer because
*  the contents of the display surface underneath the area where the overlay
*  is shown is undefined - it may be overwritten with the converted YUV data.
+ */
 extern DECLSPEC SDL_Overlay * SDLCALL SDL_CreateYUVOverlay(int width, int height,
                                Uint32 format, SDL_Surface *display);
 
-/* Lock an overlay for direct access, and unlock it when you are done */
+/** Lock an overlay for direct access, and unlock it when you are done */
 extern DECLSPEC int SDLCALL SDL_LockYUVOverlay(SDL_Overlay *overlay);
 extern DECLSPEC void SDLCALL SDL_UnlockYUVOverlay(SDL_Overlay *overlay);
 
-/* Blit a video overlay to the display surface.
-   The contents of the video surface underneath the blit destination are
-   not defined.  
-   The width and height of the destination rectangle may be different from
-   that of the overlay, but currently only 2x scaling is supported.
-*/
+/** Blit a video overlay to the display surface.
*  The contents of the video surface underneath the blit destination are
*  not defined.  
*  The width and height of the destination rectangle may be different from
*  that of the overlay, but currently only 2x scaling is supported.
+ */
 extern DECLSPEC int SDLCALL SDL_DisplayYUVOverlay(SDL_Overlay *overlay, SDL_Rect *dstrect);
 
-/* Free a video overlay */
+/** Free a video overlay */
 extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay(SDL_Overlay *overlay);
 
+/*@}*/
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* OpenGL support functions.                                                 */
+/** @name OpenGL support functions.                                          */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/*
+/**
  * Dynamically load an OpenGL library, or the default one if path is NULL
  *
  * If you do this, you need to retrieve all of the GL functions used in
@@ -785,17 +836,17 @@ extern DECLSPEC void SDLCALL SDL_FreeYUVOverlay(SDL_Overlay *overlay);
  */
 extern DECLSPEC int SDLCALL SDL_GL_LoadLibrary(const char *path);
 
-/*
+/**
  * Get the address of a GL function
  */
 extern DECLSPEC void * SDLCALL SDL_GL_GetProcAddress(const char* proc);
 
-/*
+/**
  * Set an attribute of the OpenGL subsystem before intialization.
  */
 extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
 
-/*
+/**
  * Get an attribute of the OpenGL subsystem from the windowing
  * interface, such as glX. This is of course different from getting
  * the values from SDL's internal OpenGL subsystem, which only
@@ -806,30 +857,38 @@ extern DECLSPEC int SDLCALL SDL_GL_SetAttribute(SDL_GLattr attr, int value);
  */
 extern DECLSPEC int SDLCALL SDL_GL_GetAttribute(SDL_GLattr attr, int* value);
 
-/*
+/**
  * Swap the OpenGL buffers, if double-buffering is supported.
  */
 extern DECLSPEC void SDLCALL SDL_GL_SwapBuffers(void);
 
-/*
+/** @name OpenGL Internal Functions
  * Internal functions that should not be called unless you have read
  * and understood the source code for these functions.
  */
+/*@{*/
 extern DECLSPEC void SDLCALL SDL_GL_UpdateRects(int numrects, SDL_Rect* rects);
 extern DECLSPEC void SDLCALL SDL_GL_Lock(void);
 extern DECLSPEC void SDLCALL SDL_GL_Unlock(void);
+/*@}*/
+
+/*@}*/
 
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-/* These functions allow interaction with the window manager, if any.        */
+/** @name Window Manager Functions                                           */
+/** These functions allow interaction with the window manager, if any.       */ /*@{*/
 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
 
-/*
- * Sets/Gets the title and icon text of the display window (UTF-8 encoded)
+/**
+ * Sets the title and icon text of the display window (UTF-8 encoded)
  */
 extern DECLSPEC void SDLCALL SDL_WM_SetCaption(const char *title, const char *icon);
+/**
+ * Gets the title and icon text of the display window (UTF-8 encoded)
+ */
 extern DECLSPEC void SDLCALL SDL_WM_GetCaption(char **title, char **icon);
 
-/*
+/**
  * Sets the icon for the display window.
  * This function must be called before the first call to SDL_SetVideoMode().
  * It takes an icon surface, and a mask in MSB format.
@@ -837,14 +896,14 @@ extern DECLSPEC void SDLCALL SDL_WM_GetCaption(char **title, char **icon);
  */
 extern DECLSPEC void SDLCALL SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask);
 
-/*
+/**
  * This function iconifies the window, and returns 1 if it succeeded.
  * If the function succeeds, it generates an SDL_APPACTIVE loss event.
  * This function is a noop and returns 0 in non-windowed environments.
  */
 extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void);
 
-/*
+/**
  * Toggle fullscreen mode without changing the contents of the screen.
  * If the display surface does not require locking before accessing
  * the pixel information, then the memory pointers will not change.
@@ -861,24 +920,25 @@ extern DECLSPEC int SDLCALL SDL_WM_IconifyWindow(void);
  */
 extern DECLSPEC int SDLCALL SDL_WM_ToggleFullScreen(SDL_Surface *surface);
 
-/*
- * This function allows you to set and query the input grab state of
- * the application.  It returns the new input grab state.
- */
 typedef enum {
        SDL_GRAB_QUERY = -1,
        SDL_GRAB_OFF = 0,
        SDL_GRAB_ON = 1,
-       SDL_GRAB_FULLSCREEN     /* Used internally */
+       SDL_GRAB_FULLSCREEN     /**< Used internally */
 } SDL_GrabMode;
-/*
+/**
+ * This function allows you to set and query the input grab state of
+ * the application.  It returns the new input grab state.
+ *
  * Grabbing means that the mouse is confined to the application window,
  * and nearly all keyboard input is passed directly to the application,
  * and not interpreted by a window manager, if any.
  */
 extern DECLSPEC SDL_GrabMode SDLCALL SDL_WM_GrabInput(SDL_GrabMode mode);
 
-/* Not in public API at the moment - do not use! */
+/*@}*/
+
+/** @internal Not in public API at the moment - do not use! */
 extern DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface *src, SDL_Rect *srcrect,
                                     SDL_Surface *dst, SDL_Rect *dstrect);
                     
index d1ddaa6..2274809 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2004 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
     slouken@libsdl.org
 */
 
-/* This file sets things up for C dynamic library function definitions,
-   static inlined functions, and structures aligned at 4-byte alignment.
-   If you don't like ugly C preprocessor code, don't look at this file. :)
-*/
+/** 
+ *  @file begin_code.h
+ *  This file sets things up for C dynamic library function definitions,
+ *  static inlined functions, and structures aligned at 4-byte alignment.
+ *  If you don't like ugly C preprocessor code, don't look at this file. :)
+ */
 
-/* This shouldn't be nested -- included it around code only. */
+/** 
+ *  @file begin_code.h
+ *  This shouldn't be nested -- included it around code only.
+ */
 #ifdef _begin_code_h
 #error Nested inclusion of begin_code.h
 #endif
 #define _begin_code_h
 
-/* Some compilers use a special export keyword */
+/** 
+ *  @def DECLSPEC
+ *  Some compilers use a special export keyword
+ */
 #ifndef DECLSPEC
-# if defined(__BEOS__)
+# if defined(__BEOS__) || defined(__HAIKU__)
 #  if defined(__GNUC__)
 #   define DECLSPEC    __declspec(dllexport)
 #  else
 #   else
 #    define DECLSPEC
 #   endif
+#  elif defined (__GNUC__) && __GNUC__ < 4
+#   /* Added support for GCC-EMX <v4.x */
+#   /* this is needed for XFree86/OS2 developement */
+#   /* F. Ambacher(anakor@snafu.de) 05.2008 */
+#   ifdef BUILD_SDL
+#    define DECLSPEC    __declspec(dllexport)
+#   else
+#    define DECLSPEC
+#   endif
 #  else
 #   define DECLSPEC
 #  endif
 # endif
 #endif
 
-/* By default SDL uses the C calling convention */
+/** 
+ *  @def SDLCALL
+ *  By default SDL uses the C calling convention
+ */
 #ifndef SDLCALL
-#if defined(__WIN32__) && !defined(__GNUC__)
-#define SDLCALL __cdecl
-#else
-#ifdef __OS2__
-/* But on OS/2, we use the _System calling convention */
-/* to be compatible with every compiler */
-#define SDLCALL _System
-#else
-#define SDLCALL
-#endif
-#endif
+# if defined(__WIN32__) && !defined(__GNUC__)
+#  define SDLCALL __cdecl
+# elif defined(__OS2__)
+#  if defined (__GNUC__) && __GNUC__ < 4
+#   /* Added support for GCC-EMX <v4.x */
+#   /* this is needed for XFree86/OS2 developement */
+#   /* F. Ambacher(anakor@snafu.de) 05.2008 */
+#   define SDLCALL _cdecl
+#  else
+#   /* On other compilers on OS/2, we use the _System calling convention */
+#   /* to be compatible with every compiler */
+#   define SDLCALL _System
+#  endif
+# else
+#  define SDLCALL
+# endif
 #endif /* SDLCALL */
 
 #ifdef __SYMBIAN32__ 
 #endif /* !EKA2 */
 #endif /* __SYMBIAN32__ */
 
-/* Force structure packing at 4 byte alignment.
-   This is necessary if the header is included in code which has structure
-   packing set to an alternate value, say for loading structures from disk.
-   The packing is reset to the previous value in close_code.h
+/**
+ *  @file begin_code.h
+ *  Force structure packing at 4 byte alignment.
+ *  This is necessary if the header is included in code which has structure
+ *  packing set to an alternate value, say for loading structures from disk.
+ *  The packing is reset to the previous value in close_code.h 
  */
 #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__)
 #ifdef _MSC_VER
 #pragma enumsalwaysint on
 #endif /* Compiler needs structure packing set */
 
-/* Set up compiler-specific options for inlining functions */
+/**
+ *  @def SDL_INLINE_OKAY
+ *  Set up compiler-specific options for inlining functions
+ */
 #ifndef SDL_INLINE_OKAY
 #ifdef __GNUC__
 #define SDL_INLINE_OKAY
 #endif /* GNU C */
 #endif /* SDL_INLINE_OKAY */
 
-/* If inlining isn't supported, remove "__inline__", turning static
-   inlined functions into static functions (resulting in code bloat
-   in all files which include the offending header files)
-*/
+/**
+ *  @def __inline__
+ *  If inlining isn't supported, remove "__inline__", turning static
+ *  inlined functions into static functions (resulting in code bloat
+ *  in all files which include the offending header files)
+ */
 #ifndef SDL_INLINE_OKAY
 #define __inline__
 #endif
 
-/* Apparently this is needed by several Windows compilers */
+/**
+ *  @def NULL
+ *  Apparently this is needed by several Windows compilers
+ */
 #if !defined(__MACH__)
 #ifndef NULL
 #ifdef __cplusplus
index afbb650..46a0720 100644 (file)
@@ -1,6 +1,6 @@
 /*
     SDL - Simple DirectMedia Layer
-    Copyright (C) 1997-2004 Sam Lantinga
+    Copyright (C) 1997-2009 Sam Lantinga
 
     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Library General Public
     slouken@libsdl.org
 */
 
-/* This file reverses the effects of begin_code.h and should be included
-   after you finish any function and structure declarations in your headers
-*/
+/**
+ *  @file close_code.h
+ *  This file reverses the effects of begin_code.h and should be included
+ *  after you finish any function and structure declarations in your headers
+ */
 
 #undef _begin_code_h
 
-/* Reset structure packing at previous byte alignment */
+/**
+ *  @file close_code.h
+ *  Reset structure packing at previous byte alignment
+ */
 #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__WATCOMC__)  || defined(__BORLANDC__)
 #ifdef __BORLANDC__
 #pragma nopackwarning
index 33a3d00..2a16901 100644 (file)
        <key>CFBundlePackageType</key>
        <string>FMWK</string>
        <key>CFBundleShortVersionString</key>
-       <string>1.2.13</string>
+       <string>1.2.14</string>
        <key>CFBundleSignature</key>
        <string>SDLX</string>
        <key>CFBundleVersion</key>
-       <string>1.2.13</string>
+       <string>1.2.14</string>
 </dict>
 </plist>
diff --git a/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/classes.nib b/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/classes.nib
deleted file mode 100644 (file)
index f8f4e9a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-    IBClasses = (
-        {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, 
-        {
-            ACTIONS = {makeFullscreen = id; quit = id; }; 
-            CLASS = SDLMain; 
-            LANGUAGE = ObjC; 
-            SUPERCLASS = NSObject; 
-        }
-    ); 
-    IBVersion = 1; 
-}
diff --git a/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/info.nib b/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/Resources/SDLMain.nib/info.nib
deleted file mode 100644 (file)
index 2211cf9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
-       <key>IBDocumentLocation</key>
-       <string>49 97 356 240 0 0 987 746 </string>
-       <key>IBMainMenuLocation</key>
-       <string>20 515 195 44 0 46 800 532 </string>
-       <key>IBUserGuides</key>
-       <dict/>
-</dict>
-</plist>
index 3772ba5..2ccf7d9 100755 (executable)
Binary files a/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/SDL and b/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Versions/A/SDL differ
index 6405eb2..212d0a9 100755 (executable)
@@ -44,6 +44,7 @@ log2spam()
        url=$2
        branch=$3
        hash=$4
+       status=$5
 
        branch=${branch##refs/heads/}
        branch=${branch##refs/remotes/}
@@ -55,6 +56,9 @@ log2spam()
        s_leaked=
        s_error=
 
+       if [ "$status" -ne 0 ]; then
+               s_error="exited with status $status"
+       fi
        while IFS= read -r L; do
                case "$L" in
                        *\ seconds\ elapsed)
@@ -85,7 +89,7 @@ log2spam()
        if [ -n "$s_error" ]; then
                echo -n "[$branch $hash] \ 34failed"
        else
-               echo -n "[$branch] finished"
+               echo -n "[$branch $hash] finished"
        fi
        echo -n " map compile of $map ($url): $s_time sec"
        if [ -n "$s_samplesize" ]; then
@@ -125,10 +129,14 @@ buildthemap()
                cd maps
                ../../../misc/tools/xonotic-map-compiler "$M" `grep ^- "$M.map.options" | cut -d '#' -f 1` 2>&1 | tee "$M.log"
        )
-       zip -9r "$bspdir/$M-$blobhash.pk3" "maps/$M.bsp" "maps/$M.log" "maps/$M/" "maps/$M.lin" "gfx/${M}_mini.tga"
+       status=$?
+       if [ -n "$IRCSPAM" ]; then
+               cat "maps/$M.log" | log2spam "$M" "$url$M-$blobhash.pk3" "$REFNAME" "$HASH" "$status" > "maps/$M.irc"
+       fi
+       zip -9r "$bspdir/$M-$blobhash.pk3" "maps/$M.bsp" "maps/$M.log" "maps/$M.irc" "maps/$M/" "maps/$M.lin" "gfx/${M}_mini.tga"
        ln -snf "../$M-$blobhash.pk3" "$bspdir/latest/$M.pk3" # from ALL branches, so beware!
        if [ -n "$IRCSPAM" ]; then
-               cat "maps/$M.log" | log2spam "$M" "$url$M-$blobhash.pk3" "$REFNAME" "$HASH" | $IRCSPAM
+               $IRCSPAM < "maps/$M.irc"
        fi
 }
 
@@ -182,6 +190,6 @@ case "$1" in
                wget -r -l1 -A "*.pk3" -N --no-parent --no-directories "$url""latest"
                ;;
        log2spam-test)
-               log2spam "mapname" "http://mapurl" "branch" "commit"
+               log2spam "mapname" "http://mapurl" "branch" "commit" "0"
                ;;
 esac