Changeset 169


Ignore:
Timestamp:
07/17/13 06:36:41 (12 years ago)
Author:
epyon
Message:
  • sdl - structure/define wise 2.0 support added (no functions yet)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nv/lib/sdl12.hh

    r168 r169  
    269269#endif
    270270
    271 typedef struct SDL_Surface {
     271#if NV_SDL_VERSION == NV_SDL_20
     272typedef struct SDL_Surface
     273{
     274        Uint32 flags;
     275        SDL_PixelFormat *format;
     276        int w, h;
     277        int pitch;
     278        void *pixels;
     279        void *userdata;
     280        int locked;
     281        void *lock_data;
     282        SDL_Rect clip_rect;
     283        struct SDL_BlitMap *map;
     284        int refcount;
     285} SDL_Surface;
     286#else
     287typedef struct SDL_Surface
     288{
    272289        Uint32 flags;
    273290        SDL_PixelFormat *format;
     
    284301        int refcount;
    285302} SDL_Surface;
    286 
     303#endif
     304
     305#if NV_SDL_VERSION == NV_SDL_20
     306#define SDL_SWSURFACE       0         
     307#define SDL_PREALLOC        0x00000001
     308#define SDL_RLEACCEL        0x00000002
     309#define SDL_DONTFREE        0x00000004
     310
     311#define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
     312#else
    287313#define SDL_SWSURFACE   0x00000000     
    288314#define SDL_HWSURFACE   0x00000001     
     
    304330
    305331#define SDL_MUSTLOCK(surface)   \
    306   (surface->offset ||           \
    307   ((surface->flags & (SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_RLEACCEL)) != 0))
    308 
    309 typedef int (*SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect, struct SDL_Surface *dst, SDL_Rect *dstrect);
    310 
     332        (surface->offset ||             \
     333        ((surface->flags & (SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_RLEACCEL)) != 0))
     334
     335#endif
     336
     337typedef int (*SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect,
     338                        struct SDL_Surface *dst, SDL_Rect *dstrect);
     339
     340#if NV_SDL_VERSION == NV_SDL_12
    311341typedef struct SDL_VideoInfo {
    312342        Uint32 hw_available :1;
     
    327357        int    current_h;
    328358} SDL_VideoInfo;
     359#endif
     360
     361#if NV_SDL_VERSION == NV_SDL_20
     362typedef enum
     363{
     364    SDL_WINDOW_FULLSCREEN = 0x00000001,
     365    SDL_WINDOW_OPENGL = 0x00000002,
     366    SDL_WINDOW_SHOWN = 0x00000004,
     367    SDL_WINDOW_HIDDEN = 0x00000008,
     368    SDL_WINDOW_BORDERLESS = 0x00000010,
     369    SDL_WINDOW_RESIZABLE = 0x00000020,
     370    SDL_WINDOW_MINIMIZED = 0x00000040,
     371    SDL_WINDOW_MAXIMIZED = 0x00000080,
     372    SDL_WINDOW_INPUT_GRABBED = 0x00000100,
     373    SDL_WINDOW_INPUT_FOCUS = 0x00000200,
     374    SDL_WINDOW_MOUSE_FOCUS = 0x00000400,
     375    SDL_WINDOW_FULLSCREEN_DESKTOP = ( SDL_WINDOW_FULLSCREEN | 0x00001000 ),
     376    SDL_WINDOW_FOREIGN = 0x00000800
     377} SDL_WindowFlags;
     378
     379#define SDL_WINDOWPOS_UNDEFINED_MASK    0x1FFF0000
     380#define SDL_WINDOWPOS_UNDEFINED_DISPLAY(X)  (SDL_WINDOWPOS_UNDEFINED_MASK|(X))
     381#define SDL_WINDOWPOS_UNDEFINED         SDL_WINDOWPOS_UNDEFINED_DISPLAY(0)
     382#define SDL_WINDOWPOS_ISUNDEFINED(X)    \
     383            (((X)&0xFFFF0000) == SDL_WINDOWPOS_UNDEFINED_MASK)
     384
     385#define SDL_WINDOWPOS_CENTERED_MASK    0x2FFF0000
     386#define SDL_WINDOWPOS_CENTERED_DISPLAY(X)  (SDL_WINDOWPOS_CENTERED_MASK|(X))
     387#define SDL_WINDOWPOS_CENTERED         SDL_WINDOWPOS_CENTERED_DISPLAY(0)
     388#define SDL_WINDOWPOS_ISCENTERED(X)    \
     389            (((X)&0xFFFF0000) == SDL_WINDOWPOS_CENTERED_MASK)
     390
     391typedef enum
     392{
     393    SDL_WINDOWEVENT_NONE,
     394    SDL_WINDOWEVENT_SHOWN,
     395    SDL_WINDOWEVENT_HIDDEN,
     396    SDL_WINDOWEVENT_EXPOSED,
     397    SDL_WINDOWEVENT_MOVED,
     398    SDL_WINDOWEVENT_RESIZED,
     399    SDL_WINDOWEVENT_SIZE_CHANGED,
     400    SDL_WINDOWEVENT_MINIMIZED,
     401    SDL_WINDOWEVENT_MAXIMIZED,
     402    SDL_WINDOWEVENT_RESTORED,
     403    SDL_WINDOWEVENT_ENTER,
     404    SDL_WINDOWEVENT_LEAVE,
     405    SDL_WINDOWEVENT_FOCUS_GAINED,
     406    SDL_WINDOWEVENT_FOCUS_LOST,
     407    SDL_WINDOWEVENT_CLOSE
     408} SDL_WindowEventID;
     409
     410typedef void *SDL_GLContext;
     411#endif
     412
    329413
    330414typedef enum {
     
    345429    SDL_GL_MULTISAMPLESAMPLES,
    346430    SDL_GL_ACCELERATED_VISUAL,
     431#if NV_SDL_VERSION == NV_SDL_12
    347432    SDL_GL_SWAP_CONTROL
     433#else
     434        SDL_GL_RETAINED_BACKING,
     435        SDL_GL_CONTEXT_MAJOR_VERSION,
     436        SDL_GL_CONTEXT_MINOR_VERSION,
     437        SDL_GL_CONTEXT_EGL,
     438        SDL_GL_CONTEXT_FLAGS,
     439        SDL_GL_CONTEXT_PROFILE_MASK,
     440        SDL_GL_SHARE_WITH_CURRENT_CONTEXT
     441#endif
    348442} SDL_GLattr;
    349443
    350 #define SDL_LOGPAL 0x01
    351 #define SDL_PHYSPAL 0x02
    352 
     444#if NV_SDL_VERSION == NV_SDL_20
     445typedef enum
     446{
     447        SDL_GL_CONTEXT_PROFILE_CORE           = 0x0001,
     448        SDL_GL_CONTEXT_PROFILE_COMPATIBILITY  = 0x0002,
     449        SDL_GL_CONTEXT_PROFILE_ES             = 0x0004
     450} SDL_GLprofile;
     451
     452typedef enum
     453{
     454        SDL_GL_CONTEXT_DEBUG_FLAG              = 0x0001,
     455        SDL_GL_CONTEXT_FORWARD_COMPATIBLE_FLAG = 0x0002,
     456        SDL_GL_CONTEXT_ROBUST_ACCESS_FLAG      = 0x0004,
     457        SDL_GL_CONTEXT_RESET_ISOLATION_FLAG    = 0x0008
     458} SDL_GLcontextFlag;
     459#endif
     460
     461#if NV_SDL_VERSION == NV_SDL_12
    353462typedef enum {
    354463        SDL_GRAB_QUERY = -1,
     
    357466        SDL_GRAB_FULLSCREEN     /**< Used internally */
    358467} SDL_GrabMode;
     468#endif
    359469
    360470/* SDL_audio.h defines */
    361 typedef struct SDL_AudioSpec {
    362         int freq;
    363         Uint16 format;
    364         Uint8  channels;
    365         Uint8  silence;
    366         Uint16 samples;
    367         Uint16 padding;
    368         Uint32 size;
    369         void (NV_SDL_APIENTRY *callback)(void *userdata, Uint8 *stream, int len);
    370         void  *userdata;
    371 } SDL_AudioSpec;
    372 
    373471#define AUDIO_U8        0x0008
    374472#define AUDIO_S8        0x8008
     
    380478#define AUDIO_S16       AUDIO_S16LSB
    381479
     480#if NV_SDL_VERSION == NV_SDL_20
     481#define AUDIO_S32LSB    0x8020
     482#define AUDIO_S32MSB    0x9020
     483#define AUDIO_S32       AUDIO_S32LSB
     484#define AUDIO_F32LSB    0x8120
     485#define AUDIO_F32MSB    0x9120
     486#define AUDIO_F32       AUDIO_F32LSB
     487#endif
     488
    382489/* NOTE : assuming LSB! */
    383490#define AUDIO_U16SYS    AUDIO_U16LSB
    384491#define AUDIO_S16SYS    AUDIO_S16LSB
     492#if NV_SDL_VERSION == NV_SDL_20
     493#define AUDIO_S32SYS    AUDIO_S32LSB
     494#define AUDIO_F32SYS    AUDIO_F32LSB
     495#endif
     496
     497typedef Uint16 SDL_AudioFormat;
     498typedef void (NV_SDL_APIENTRY * SDL_AudioCallback) (void *userdata, Uint8 * stream, int len);
     499struct SDL_AudioCVT;
     500typedef void (NV_SDL_APIENTRY * SDL_AudioFilter) (struct SDL_AudioCVT * cvt, SDL_AudioFormat format);
     501
     502typedef struct SDL_AudioSpec
     503{
     504        int freq;
     505        SDL_AudioFormat format;
     506        Uint8 channels;
     507        Uint8 silence;
     508        Uint16 samples;
     509        Uint16 padding;
     510        Uint32 size;
     511        SDL_AudioCallback callback;
     512        void *userdata;
     513} SDL_AudioSpec;
    385514
    386515typedef struct SDL_AudioCVT {
    387516        int needed;
    388         Uint16 src_format;
    389         Uint16 dst_format;
     517        SDL_AudioFormat src_format;
     518        SDL_AudioFormat dst_format;
    390519        double rate_incr;
    391         Uint8 *buf;             
    392         int    len;             
    393         int    len_cvt;
    394         int    len_mult;
     520        Uint8 *buf;
     521        int len;
     522        int len_cvt;
     523        int len_mult;
    395524        double len_ratio;
    396         void (NV_SDL_APIENTRY *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
     525        SDL_AudioFilter filters[10];
    397526        int filter_index;
    398527} SDL_AudioCVT;
    399        
     528
    400529typedef enum {
    401530        SDL_AUDIO_STOPPED = 0,
     
    404533} SDL_audiostatus;
    405534
     535typedef SDL_audiostatus SDL_AudioStatus;
     536
     537#if NV_SDL_VERSION == NV_SDL_20
     538#define SDL_AUDIO_ALLOW_FREQUENCY_CHANGE    0x00000001
     539#define SDL_AUDIO_ALLOW_FORMAT_CHANGE       0x00000002
     540#define SDL_AUDIO_ALLOW_CHANNELS_CHANGE     0x00000004
     541#define SDL_AUDIO_ALLOW_ANY_CHANGE          (SDL_AUDIO_ALLOW_FREQUENCY_CHANGE|SDL_AUDIO_ALLOW_FORMAT_CHANGE|SDL_AUDIO_ALLOW_CHANNELS_CHANGE)
     542#endif
     543
    406544#define SDL_MIX_MAXVOLUME 128
    407545
    408546/* SDL_active.h defines */
     547#if NV_SDL_VERSION == NV_SDL_12
    409548#define SDL_APPMOUSEFOCUS       0x01
    410549#define SDL_APPINPUTFOCUS       0x02
    411550#define SDL_APPACTIVE           0x04
     551#endif
    412552
    413553/* SDL_keyboard.h defines */
    414 typedef enum {
    415         SDLK_UNKNOWN            = 0,
    416         SDLK_FIRST              = 0,
    417         SDLK_BACKSPACE          = 8,
    418         SDLK_TAB                = 9,
    419         SDLK_CLEAR              = 12,
    420         SDLK_RETURN             = 13,
    421         SDLK_PAUSE              = 19,
    422         SDLK_ESCAPE             = 27,
    423         SDLK_SPACE              = 32,
    424         SDLK_EXCLAIM            = 33,
    425         SDLK_QUOTEDBL           = 34,
    426         SDLK_HASH               = 35,
    427         SDLK_DOLLAR             = 36,
    428         SDLK_AMPERSAND          = 38,
    429         SDLK_QUOTE              = 39,
    430         SDLK_LEFTPAREN          = 40,
    431         SDLK_RIGHTPAREN         = 41,
    432         SDLK_ASTERISK           = 42,
    433         SDLK_PLUS               = 43,
    434         SDLK_COMMA              = 44,
    435         SDLK_MINUS              = 45,
    436         SDLK_PERIOD             = 46,
    437         SDLK_SLASH              = 47,
    438         SDLK_0                  = 48,
    439         SDLK_1                  = 49,
    440         SDLK_2                  = 50,
    441         SDLK_3                  = 51,
    442         SDLK_4                  = 52,
    443         SDLK_5                  = 53,
    444         SDLK_6                  = 54,
    445         SDLK_7                  = 55,
    446         SDLK_8                  = 56,
    447         SDLK_9                  = 57,
    448         SDLK_COLON              = 58,
    449         SDLK_SEMICOLON          = 59,
    450         SDLK_LESS               = 60,
    451         SDLK_EQUALS             = 61,
    452         SDLK_GREATER            = 62,
    453         SDLK_QUESTION           = 63,
    454         SDLK_AT                 = 64,
    455         SDLK_LEFTBRACKET        = 91,
    456         SDLK_BACKSLASH          = 92,
    457         SDLK_RIGHTBRACKET       = 93,
    458         SDLK_CARET              = 94,
    459         SDLK_UNDERSCORE         = 95,
    460         SDLK_BACKQUOTE          = 96,
    461         SDLK_a                  = 97,
    462         SDLK_b                  = 98,
    463         SDLK_c                  = 99,
    464         SDLK_d                  = 100,
    465         SDLK_e                  = 101,
    466         SDLK_f                  = 102,
    467         SDLK_g                  = 103,
    468         SDLK_h                  = 104,
    469         SDLK_i                  = 105,
    470         SDLK_j                  = 106,
    471         SDLK_k                  = 107,
    472         SDLK_l                  = 108,
    473         SDLK_m                  = 109,
    474         SDLK_n                  = 110,
    475         SDLK_o                  = 111,
    476         SDLK_p                  = 112,
    477         SDLK_q                  = 113,
    478         SDLK_r                  = 114,
    479         SDLK_s                  = 115,
    480         SDLK_t                  = 116,
    481         SDLK_u                  = 117,
    482         SDLK_v                  = 118,
    483         SDLK_w                  = 119,
    484         SDLK_x                  = 120,
    485         SDLK_y                  = 121,
    486         SDLK_z                  = 122,
    487         SDLK_DELETE             = 127,
    488         SDLK_WORLD_0            = 160,
    489         SDLK_WORLD_1            = 161,
    490         SDLK_WORLD_2            = 162,
    491         SDLK_WORLD_3            = 163,
    492         SDLK_WORLD_4            = 164,
    493         SDLK_WORLD_5            = 165,
    494         SDLK_WORLD_6            = 166,
    495         SDLK_WORLD_7            = 167,
    496         SDLK_WORLD_8            = 168,
    497         SDLK_WORLD_9            = 169,
    498         SDLK_WORLD_10           = 170,
    499         SDLK_WORLD_11           = 171,
    500         SDLK_WORLD_12           = 172,
    501         SDLK_WORLD_13           = 173,
    502         SDLK_WORLD_14           = 174,
    503         SDLK_WORLD_15           = 175,
    504         SDLK_WORLD_16           = 176,
    505         SDLK_WORLD_17           = 177,
    506         SDLK_WORLD_18           = 178,
    507         SDLK_WORLD_19           = 179,
    508         SDLK_WORLD_20           = 180,
    509         SDLK_WORLD_21           = 181,
    510         SDLK_WORLD_22           = 182,
    511         SDLK_WORLD_23           = 183,
    512         SDLK_WORLD_24           = 184,
    513         SDLK_WORLD_25           = 185,
    514         SDLK_WORLD_26           = 186,
    515         SDLK_WORLD_27           = 187,
    516         SDLK_WORLD_28           = 188,
    517         SDLK_WORLD_29           = 189,
    518         SDLK_WORLD_30           = 190,
    519         SDLK_WORLD_31           = 191,
    520         SDLK_WORLD_32           = 192,
    521         SDLK_WORLD_33           = 193,
    522         SDLK_WORLD_34           = 194,
    523         SDLK_WORLD_35           = 195,
    524         SDLK_WORLD_36           = 196,
    525         SDLK_WORLD_37           = 197,
    526         SDLK_WORLD_38           = 198,
    527         SDLK_WORLD_39           = 199,
    528         SDLK_WORLD_40           = 200,
    529         SDLK_WORLD_41           = 201,
    530         SDLK_WORLD_42           = 202,
    531         SDLK_WORLD_43           = 203,
    532         SDLK_WORLD_44           = 204,
    533         SDLK_WORLD_45           = 205,
    534         SDLK_WORLD_46           = 206,
    535         SDLK_WORLD_47           = 207,
    536         SDLK_WORLD_48           = 208,
    537         SDLK_WORLD_49           = 209,
    538         SDLK_WORLD_50           = 210,
    539         SDLK_WORLD_51           = 211,
    540         SDLK_WORLD_52           = 212,
    541         SDLK_WORLD_53           = 213,
    542         SDLK_WORLD_54           = 214,
    543         SDLK_WORLD_55           = 215,
    544         SDLK_WORLD_56           = 216,
    545         SDLK_WORLD_57           = 217,
    546         SDLK_WORLD_58           = 218,
    547         SDLK_WORLD_59           = 219,
    548         SDLK_WORLD_60           = 220,
    549         SDLK_WORLD_61           = 221,
    550         SDLK_WORLD_62           = 222,
    551         SDLK_WORLD_63           = 223,
    552         SDLK_WORLD_64           = 224,
    553         SDLK_WORLD_65           = 225,
    554         SDLK_WORLD_66           = 226,
    555         SDLK_WORLD_67           = 227,
    556         SDLK_WORLD_68           = 228,
    557         SDLK_WORLD_69           = 229,
    558         SDLK_WORLD_70           = 230,
    559         SDLK_WORLD_71           = 231,
    560         SDLK_WORLD_72           = 232,
    561         SDLK_WORLD_73           = 233,
    562         SDLK_WORLD_74           = 234,
    563         SDLK_WORLD_75           = 235,
    564         SDLK_WORLD_76           = 236,
    565         SDLK_WORLD_77           = 237,
    566         SDLK_WORLD_78           = 238,
    567         SDLK_WORLD_79           = 239,
    568         SDLK_WORLD_80           = 240,
    569         SDLK_WORLD_81           = 241,
    570         SDLK_WORLD_82           = 242,
    571         SDLK_WORLD_83           = 243,
    572         SDLK_WORLD_84           = 244,
    573         SDLK_WORLD_85           = 245,
    574         SDLK_WORLD_86           = 246,
    575         SDLK_WORLD_87           = 247,
    576         SDLK_WORLD_88           = 248,
    577         SDLK_WORLD_89           = 249,
    578         SDLK_WORLD_90           = 250,
    579         SDLK_WORLD_91           = 251,
    580         SDLK_WORLD_92           = 252,
    581         SDLK_WORLD_93           = 253,
    582         SDLK_WORLD_94           = 254,
    583         SDLK_WORLD_95           = 255,
    584         SDLK_KP0                = 256,
    585         SDLK_KP1                = 257,
    586         SDLK_KP2                = 258,
    587         SDLK_KP3                = 259,
    588         SDLK_KP4                = 260,
    589         SDLK_KP5                = 261,
    590         SDLK_KP6                = 262,
    591         SDLK_KP7                = 263,
    592         SDLK_KP8                = 264,
    593         SDLK_KP9                = 265,
    594         SDLK_KP_PERIOD          = 266,
    595         SDLK_KP_DIVIDE          = 267,
    596         SDLK_KP_MULTIPLY        = 268,
    597         SDLK_KP_MINUS           = 269,
    598         SDLK_KP_PLUS            = 270,
    599         SDLK_KP_ENTER           = 271,
    600         SDLK_KP_EQUALS          = 272,
    601         SDLK_UP                 = 273,
    602         SDLK_DOWN               = 274,
    603         SDLK_RIGHT              = 275,
    604         SDLK_LEFT               = 276,
    605         SDLK_INSERT             = 277,
    606         SDLK_HOME               = 278,
    607         SDLK_END                = 279,
    608         SDLK_PAGEUP             = 280,
    609         SDLK_PAGEDOWN           = 281,
    610         SDLK_F1                 = 282,
    611         SDLK_F2                 = 283,
    612         SDLK_F3                 = 284,
    613         SDLK_F4                 = 285,
    614         SDLK_F5                 = 286,
    615         SDLK_F6                 = 287,
    616         SDLK_F7                 = 288,
    617         SDLK_F8                 = 289,
    618         SDLK_F9                 = 290,
    619         SDLK_F10                = 291,
    620         SDLK_F11                = 292,
    621         SDLK_F12                = 293,
    622         SDLK_F13                = 294,
    623         SDLK_F14                = 295,
    624         SDLK_F15                = 296,
    625         SDLK_NUMLOCK            = 300,
    626         SDLK_CAPSLOCK           = 301,
    627         SDLK_SCROLLOCK          = 302,
    628         SDLK_RSHIFT             = 303,
    629         SDLK_LSHIFT             = 304,
    630         SDLK_RCTRL              = 305,
    631         SDLK_LCTRL              = 306,
    632         SDLK_RALT               = 307,
    633         SDLK_LALT               = 308,
    634         SDLK_RMETA              = 309,
    635         SDLK_LMETA              = 310,
    636         SDLK_LSUPER             = 311,
    637         SDLK_RSUPER             = 312,
    638         SDLK_MODE               = 313,
    639         SDLK_COMPOSE            = 314,
    640         SDLK_HELP               = 315,
    641         SDLK_PRINT              = 316,
    642         SDLK_SYSREQ             = 317,
    643         SDLK_BREAK              = 318,
    644         SDLK_MENU               = 319,
    645         SDLK_POWER              = 320,
    646         SDLK_EURO               = 321,
    647         SDLK_UNDO               = 322,
    648         SDLK_LAST
    649 } SDLKey;
     554#if NV_SDL_VERSION == NV_SDL_20
     555#include <nv/lib/detail/sdl_keys_20.inc>
     556#else
     557#include <nv/lib/detail/sdl_keys_12.inc>
     558#endif
    650559
    651560typedef enum {
     
    659568        KMOD_LMETA = 0x0400,
    660569        KMOD_RMETA = 0x0800,
     570        KMOD_LGUI  = 0x0400,
     571        KMOD_RGUI  = 0x0800,
    661572        KMOD_NUM   = 0x1000,
    662573        KMOD_CAPS  = 0x2000,
     
    669580#define KMOD_ALT        (KMOD_LALT|KMOD_RALT)
    670581#define KMOD_META       (KMOD_LMETA|KMOD_RMETA)
     582#define KMOD_GUI        (KMOD_LGUI|KMOD_RGUI)
    671583
    672584#define SDL_DEFAULT_REPEAT_DELAY        500
    673585#define SDL_DEFAULT_REPEAT_INTERVAL     30
    674586
     587#if NV_SDL_VERSION == NV_SDL_12
    675588typedef struct SDL_keysym {
    676589        Uint8 scancode;
     
    681594
    682595#define SDL_ALL_HOTKEYS         0xFFFFFFFF
     596#else
     597typedef struct SDL_Keysym
     598{
     599        SDL_Scancode scancode;
     600        SDL_Keycode sym;
     601        Uint16 mod;
     602        Uint32 unused;
     603} SDL_Keysym;
     604#endif
    683605
    684606/* SDL_mouse.h defines */
     607#if NV_SDL_VERSION == NV_SDL_20
     608typedef enum
     609{
     610        SDL_SYSTEM_CURSOR_ARROW,
     611        SDL_SYSTEM_CURSOR_IBEAM,
     612        SDL_SYSTEM_CURSOR_WAIT,
     613        SDL_SYSTEM_CURSOR_CROSSHAIR,
     614        SDL_SYSTEM_CURSOR_WAITARROW,
     615        SDL_SYSTEM_CURSOR_SIZENWSE,
     616        SDL_SYSTEM_CURSOR_SIZENESW,
     617        SDL_SYSTEM_CURSOR_SIZEWE,
     618        SDL_SYSTEM_CURSOR_SIZENS,
     619        SDL_SYSTEM_CURSOR_SIZEALL,
     620        SDL_SYSTEM_CURSOR_NO,
     621        SDL_SYSTEM_CURSOR_HAND,
     622        SDL_NUM_SYSTEM_CURSORS
     623} SDL_SystemCursor;
     624#endif
     625
    685626typedef struct WMcursor WMcursor;
    686627typedef struct SDL_Cursor {
     
    697638#define SDL_BUTTON_MIDDLE       2
    698639#define SDL_BUTTON_RIGHT        3
     640#if NV_SDL_VERSION == NV_SDL_20
     641#define SDL_BUTTON_X1           4
     642#define SDL_BUTTON_X2           5
     643#else
    699644#define SDL_BUTTON_WHEELUP      4
    700645#define SDL_BUTTON_WHEELDOWN    5
    701646#define SDL_BUTTON_X1           6
    702647#define SDL_BUTTON_X2           7
     648#endif
    703649#define SDL_BUTTON_LMASK        SDL_BUTTON(SDL_BUTTON_LEFT)
    704650#define SDL_BUTTON_MMASK        SDL_BUTTON(SDL_BUTTON_MIDDLE)
     
    708654
    709655/* SDL_joystick.h defines */
     656
    710657struct _SDL_Joystick;
    711658typedef struct _SDL_Joystick SDL_Joystick;
     659
     660#if NV_SDL_VERSION == NV_SDL_20
     661typedef struct {
     662        Uint8 data[16];
     663} SDL_JoystickGUID;
     664
     665typedef Sint32 SDL_JoystickID;
     666#endif
     667
    712668
    713669#define SDL_HAT_CENTERED        0x00
     
    722678
    723679/* SDL_event.h defines */
     680
    724681#define SDL_RELEASED    0
    725682#define SDL_PRESSED     1
    726683
    727 typedef enum {
    728        SDL_NOEVENT = 0,
    729        SDL_ACTIVEEVENT,
    730        SDL_KEYDOWN,
    731        SDL_KEYUP,
    732        SDL_MOUSEMOTION,
    733        SDL_MOUSEBUTTONDOWN,
    734        SDL_MOUSEBUTTONUP,
    735        SDL_JOYAXISMOTION,
    736        SDL_JOYBALLMOTION,
    737        SDL_JOYHATMOTION,
    738        SDL_JOYBUTTONDOWN,
    739        SDL_JOYBUTTONUP,
    740        SDL_QUIT,
    741        SDL_SYSWMEVENT,
    742        SDL_EVENT_RESERVEDA,
    743        SDL_EVENT_RESERVEDB,
    744        SDL_VIDEORESIZE,
    745        SDL_VIDEOEXPOSE,
    746        SDL_EVENT_RESERVED2,
    747        SDL_EVENT_RESERVED3,
    748        SDL_EVENT_RESERVED4,
    749        SDL_EVENT_RESERVED5,
    750        SDL_EVENT_RESERVED6,
    751        SDL_EVENT_RESERVED7,
    752        SDL_USEREVENT = 24,
    753        SDL_NUMEVENTS = 32
    754 } SDL_EventType;
    755 
    756 #define SDL_EVENTMASK(X)        (1<<(X))
    757 typedef enum {
    758         SDL_ACTIVEEVENTMASK     = SDL_EVENTMASK(SDL_ACTIVEEVENT),
    759         SDL_KEYDOWNMASK         = SDL_EVENTMASK(SDL_KEYDOWN),
    760         SDL_KEYUPMASK           = SDL_EVENTMASK(SDL_KEYUP),
    761         SDL_KEYEVENTMASK        = SDL_EVENTMASK(SDL_KEYDOWN)|
    762                                   SDL_EVENTMASK(SDL_KEYUP),
    763         SDL_MOUSEMOTIONMASK     = SDL_EVENTMASK(SDL_MOUSEMOTION),
    764         SDL_MOUSEBUTTONDOWNMASK = SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN),
    765         SDL_MOUSEBUTTONUPMASK   = SDL_EVENTMASK(SDL_MOUSEBUTTONUP),
    766         SDL_MOUSEEVENTMASK      = SDL_EVENTMASK(SDL_MOUSEMOTION)|
    767                                   SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN)|
    768                                   SDL_EVENTMASK(SDL_MOUSEBUTTONUP),
    769         SDL_JOYAXISMOTIONMASK   = SDL_EVENTMASK(SDL_JOYAXISMOTION),
    770         SDL_JOYBALLMOTIONMASK   = SDL_EVENTMASK(SDL_JOYBALLMOTION),
    771         SDL_JOYHATMOTIONMASK    = SDL_EVENTMASK(SDL_JOYHATMOTION),
    772         SDL_JOYBUTTONDOWNMASK   = SDL_EVENTMASK(SDL_JOYBUTTONDOWN),
    773         SDL_JOYBUTTONUPMASK     = SDL_EVENTMASK(SDL_JOYBUTTONUP),
    774         SDL_JOYEVENTMASK        = SDL_EVENTMASK(SDL_JOYAXISMOTION)|
    775                                   SDL_EVENTMASK(SDL_JOYBALLMOTION)|
    776                                   SDL_EVENTMASK(SDL_JOYHATMOTION)|
    777                                   SDL_EVENTMASK(SDL_JOYBUTTONDOWN)|
    778                                   SDL_EVENTMASK(SDL_JOYBUTTONUP),
    779         SDL_VIDEORESIZEMASK     = SDL_EVENTMASK(SDL_VIDEORESIZE),
    780         SDL_VIDEOEXPOSEMASK     = SDL_EVENTMASK(SDL_VIDEOEXPOSE),
    781         SDL_QUITMASK            = SDL_EVENTMASK(SDL_QUIT),
    782         SDL_SYSWMEVENTMASK      = SDL_EVENTMASK(SDL_SYSWMEVENT)
    783 } SDL_EventMask ;
    784 #define SDL_ALLEVENTS           0xFFFFFFFF
    785 
    786 typedef struct SDL_ActiveEvent {
    787         Uint8 type;
    788         Uint8 gain;
    789         Uint8 state;
    790 } SDL_ActiveEvent;
    791 
    792 typedef struct SDL_KeyboardEvent {
    793         Uint8 type;     
    794         Uint8 which;
    795         Uint8 state;
    796         SDL_keysym keysym;
    797 } SDL_KeyboardEvent;
    798 
    799 typedef struct SDL_MouseMotionEvent {
    800         Uint8 type;
    801         Uint8 which;
    802         Uint8 state;
    803         Uint16 x, y;
    804         Sint16 xrel;
    805         Sint16 yrel;
    806 } SDL_MouseMotionEvent;
    807 
    808 typedef struct SDL_MouseButtonEvent {
    809         Uint8 type;
    810         Uint8 which;
    811         Uint8 button;
    812         Uint8 state;
    813         Uint16 x, y;
    814 } SDL_MouseButtonEvent;
    815 
    816 typedef struct SDL_JoyAxisEvent {
    817         Uint8 type;
    818         Uint8 which;
    819         Uint8 axis;
    820         Sint16 value;
    821 } SDL_JoyAxisEvent;
    822 
    823 typedef struct SDL_JoyBallEvent {
    824         Uint8 type;
    825         Uint8 which;
    826         Uint8 ball;
    827         Sint16 xrel;
    828         Sint16 yrel;
    829 } SDL_JoyBallEvent;
    830 
    831 typedef struct SDL_JoyHatEvent {
    832         Uint8 type;
    833         Uint8 which;
    834         Uint8 hat;
    835         Uint8 value;
    836 } SDL_JoyHatEvent;
    837 
    838 typedef struct SDL_JoyButtonEvent {
    839         Uint8 type;
    840         Uint8 which;
    841         Uint8 button;
    842         Uint8 state;
    843 } SDL_JoyButtonEvent;
    844 
    845 typedef struct SDL_ResizeEvent {
    846         Uint8 type;
    847         int w;
    848         int h;
    849 } SDL_ResizeEvent;
    850 
    851 typedef struct SDL_ExposeEvent {
    852         Uint8 type;
    853 } SDL_ExposeEvent;
    854 
    855 typedef struct SDL_QuitEvent {
    856         Uint8 type;
    857 } SDL_QuitEvent;
    858 
    859 typedef struct SDL_UserEvent {
    860         Uint8 type;
    861         int code;
    862         void *data1;
    863         void *data2;
    864 } SDL_UserEvent;
    865 
    866 struct SDL_SysWMmsg;
    867 typedef struct SDL_SysWMmsg SDL_SysWMmsg;
    868 typedef struct SDL_SysWMEvent {
    869         Uint8 type;
    870         SDL_SysWMmsg *msg;
    871 } SDL_SysWMEvent;
    872 
    873 typedef union SDL_Event {
    874         Uint8 type;
    875         SDL_ActiveEvent active;
    876         SDL_KeyboardEvent key;
    877         SDL_MouseMotionEvent motion;
    878         SDL_MouseButtonEvent button;
    879         SDL_JoyAxisEvent jaxis;
    880         SDL_JoyBallEvent jball;
    881         SDL_JoyHatEvent jhat;
    882         SDL_JoyButtonEvent jbutton;
    883         SDL_ResizeEvent resize;
    884         SDL_ExposeEvent expose;
    885         SDL_QuitEvent quit;
    886         SDL_UserEvent user;
    887         SDL_SysWMEvent syswm;
    888 } SDL_Event;
    889 
    890 typedef enum {
    891         SDL_ADDEVENT,
    892         SDL_PEEKEVENT,
    893         SDL_GETEVENT
    894 } SDL_eventaction;
    895 
    896 typedef int (NV_SDL_APIENTRY *SDL_EventFilter)(const SDL_Event *event);
     684#if NV_SDL_VERSION == NV_SDL_12
     685#include <nv/lib/detail/sdl_events_12.inc>
     686#else
     687#include <nv/lib/detail/sdl_events_20.inc>
     688#endif
     689
    897690
    898691#define SDL_QUERY       -1
     
    902695
    903696/* SDL_timer.h defines */
     697#if  NV_SDL_VERSION == NV_SDL_20
     698typedef Uint32 (NV_SDL_APIENTRY *SDL_TimerCallback)(Uint32 interval, void *param);
     699typedef int SDL_TimerID;
     700#else
    904701#define SDL_TIMESLICE           10
    905702#define TIMER_RESOLUTION        10
     
    907704typedef Uint32 (NV_SDL_APIENTRY *SDL_NewTimerCallback)(Uint32 interval, void *param);
    908705typedef struct _SDL_TimerID *SDL_TimerID;
     706#endif
    909707
    910708/* SDL_version.h defines */
    911 #define SDL_MAJOR_VERSION       1
    912 #define SDL_MINOR_VERSION       2
    913 #define SDL_PATCHLEVEL          15
    914 
    915709typedef struct SDL_version {
    916710        Uint8 major;
     
    918712        Uint8 patch;
    919713} SDL_version;
     714
     715#if  NV_SDL_VERSION == NV_SDL_20
     716#define SDL_MAJOR_VERSION   2
     717#define SDL_MINOR_VERSION   0
     718#define SDL_PATCHLEVEL      0
     719#else
     720#define SDL_MAJOR_VERSION   1
     721#define SDL_MINOR_VERSION   2
     722#define SDL_PATCHLEVEL      15
     723#endif
    920724
    921725#if defined(NV_SDL_DYNAMIC)
     
    947751 
    948752}
     753#define SDL_VERSIONNUM(X, Y, Z)                     \
     754        ((X)*1000 + (Y)*100 + (Z))
     755#define SDL_COMPILEDVERSION \
     756        SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL)
     757#define SDL_VERSION_ATLEAST(X, Y, Z) \
     758        (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z))
    949759
    950760namespace nv {
Note: See TracChangeset for help on using the changeset viewer.