hedgewars/SDLh.pas
author alfadur
Thu, 15 Aug 2019 00:55:57 +0300
changeset 15318 360c24fe6071
parent 15316 3e34a014b6e8
child 15340 4e91a7050add
permissions -rw-r--r--
use different flag for vcpkg debug
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     1
(*
1066
1f1b3686a2b0 Update copyright headers a bit
unc0rr
parents: 945
diff changeset
     2
 * Hedgewars, a free turn based strategy game
11046
47a8c19ecb60 more copyright fixes
sheepluva
parents: 10973
diff changeset
     3
 * Copyright (c) 2004-2015 Andrey Korotaev <unC0Rr@gmail.com>
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     4
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     5
 * This program is free software; you can redistribute it and/or modify
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     6
 * it under the terms of the GNU General Public License as published by
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     7
 * the Free Software Foundation; version 2 of the License
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
     8
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
     9
 * This program is distributed in the hope that it will be useful,
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    12
 * GNU General Public License for more details.
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    13
 *
183
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    14
 * You should have received a copy of the GNU General Public License
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    15
 * along with this program; if not, write to the Free Software
10108
c68cf030eded update FSF address. note: two sdl include files (by Sam Lantinga) still have the old FSF address in their copyright - but I ain't gonna touch their copyright headers
sheepluva
parents: 10015
diff changeset
    16
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    17
 *)
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    18
2690
8e83c7e31720 move mixed functions in PascalExports
koda
parents: 2689
diff changeset
    19
{$INCLUDE "options.inc"}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    20
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    21
unit SDLh;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    22
interface
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
    23
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    24
{$IFDEF LINUX}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    25
    {$DEFINE UNIX}
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    26
{$ENDIF}
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    27
{$IFDEF FREEBSD}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    28
    {$DEFINE UNIX}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    29
{$ENDIF}
12124
ffc7bb9fde01 Adopt some patches from OpenBSD port
unc0rr
parents: 12102
diff changeset
    30
{$IFDEF OPENBSD}
ffc7bb9fde01 Adopt some patches from OpenBSD port
unc0rr
parents: 12102
diff changeset
    31
    {$DEFINE UNIX}
ffc7bb9fde01 Adopt some patches from OpenBSD port
unc0rr
parents: 12102
diff changeset
    32
{$ENDIF}
3385
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    33
{$IFDEF DARWIN}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    34
    {$DEFINE UNIX}
3385
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    35
{$ENDIF}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    36
{$IFDEF HAIKU}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    37
    {$DEFINE UNIX}
3385
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    38
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    39
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    40
{$IFDEF UNIX}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    41
    {$IFDEF HAIKU}
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    42
        {$linklib root}
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    43
    {$ELSE}
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    44
        {$IFNDEF ANDROID}
8068
b35427506169 win build changes, fpc 2.6, CMAKE_PREFIX_PATH, glut header
koda
parents: 8046
diff changeset
    45
            {$linklib pthread}
b35427506169 win build changes, fpc 2.6, CMAKE_PREFIX_PATH, glut header
koda
parents: 8046
diff changeset
    46
        {$ENDIF}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    47
    {$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    48
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    49
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    50
{$IFDEF FPC}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    51
    {$PACKRECORDS C}
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2601
diff changeset
    52
{$ELSE}
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
    53
    {$DEFINE cdecl attribute(cdecl)}
6974
2d3beb445d64 minor changes for more compatibilities with other compilers
koda
parents: 6972
diff changeset
    54
    type PByte = ^Byte;
2d3beb445d64 minor changes for more compatibilities with other compilers
koda
parents: 6972
diff changeset
    55
    type PInteger = ^Integer;
2d3beb445d64 minor changes for more compatibilities with other compilers
koda
parents: 6972
diff changeset
    56
    type PLongInt = ^LongInt;
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    57
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    58
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
    59
(*  SDL  *)
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    60
const
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
    61
{$IFDEF WINDOWS}
15316
3e34a014b6e8 update sdl library name
alfadur
parents: 15314
diff changeset
    62
    SDLLibName = {$IFDEF VCPKG_DEBUG}'SDL2d.dll'{$ELSE}'SDL2.dll'{$ENDIF};
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    63
    SDL_TTFLibName = 'SDL2_ttf.dll';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    64
    SDL_MixerLibName = 'SDL2_mixer.dll';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    65
    SDL_ImageLibName = 'SDL2_image.dll';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    66
    SDL_NetLibName = 'SDL2_net.dll';
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    67
{$ELSE}
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    68
    SDLLibName = 'libSDL2';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    69
    SDL_TTFLibName = 'libSDL2_ttf';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    70
    SDL_MixerLibName = 'libSDL2_mixer';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    71
    SDL_ImageLibName = 'libSDL2_image';
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
    72
    SDL_NetLibName = 'libSDL2_net';
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    73
{$ENDIF}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    74
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    75
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    76
/////////////////////  CONSTANT DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    77
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    78
12591
7bae1fab444b currently irrelevant sdl call adjustment
sheepluva
parents: 12124
diff changeset
    79
    SDL_FALSE = 0;
7bae1fab444b currently irrelevant sdl call adjustment
sheepluva
parents: 12124
diff changeset
    80
    SDL_TRUE = 1;
7bae1fab444b currently irrelevant sdl call adjustment
sheepluva
parents: 12124
diff changeset
    81
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
    82
    // SDL_Init() flags
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    83
    SDL_INIT_TIMER          = $00000001;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    84
    SDL_INIT_AUDIO          = $00000010;
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
    85
    SDL_INIT_VIDEO          = $00000020; // implies SDL_INIT_EVENTS (sdl2)
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
    86
    SDL_INIT_JOYSTICK       = $00000200; // implies SDL_INIT_EVENTS (sdl2)
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    87
    SDL_INIT_HAPTIC         = $00001000;
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
    88
    SDL_INIT_GAMECONTROLLER = $00002000; // implies SDL_INIT_JOYSTICK
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
    89
    SDL_INIT_EVENTS         = $00004000;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    90
    SDL_INIT_NOPARACHUTE    = $00100000;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    91
    //SDL_INIT_EVERYTHING                // unsafe, init subsystems one at a time
2240
7ce9e6b7be3b -Removal of older WAV files, now useless thanks to OpenAL
koda
parents: 2200
diff changeset
    92
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
    93
    SDL_ALLEVENTS        = $FFFFFFFF;    // dummy event type to prevent stack corruption
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
    94
    SDL_APPINPUTFOCUS    = $02;
6917
4889c2b779b4 - change uKeys to be event based rather than polling
Xeli
parents: 6900
diff changeset
    95
11500
3a4026fe7c18 use MIX_DEFAULT_FORMAT for sound
sheepluva
parents: 11499
diff changeset
    96
    // (some) audio formats from SDL_audio.h
11499
9c5d9993b14b fix volume being at 0 on engine start. note: seems window focus changes are not detected atm. (relevant for sound dampening)
sheepluva
parents: 11486
diff changeset
    97
    AUDIO_S16LSB         = $8010; // Signed 16-bit samples, in little-endian byte order
11500
3a4026fe7c18 use MIX_DEFAULT_FORMAT for sound
sheepluva
parents: 11499
diff changeset
    98
    AUDIO_S16MSB         = $9010; // Signed 16-bit samples, in big-endian byte order
3a4026fe7c18 use MIX_DEFAULT_FORMAT for sound
sheepluva
parents: 11499
diff changeset
    99
    AUDIO_S16SYS         = {$IFDEF ENDIAN_LITTLE}AUDIO_S16LSB{$ELSE}AUDIO_S16MSB{$ENDIF};
3a4026fe7c18 use MIX_DEFAULT_FORMAT for sound
sheepluva
parents: 11499
diff changeset
   100
3a4026fe7c18 use MIX_DEFAULT_FORMAT for sound
sheepluva
parents: 11499
diff changeset
   101
    // default audio format from SDL_mixer.h
12612
2ffdee246adc workaround to fix pas2c mistyping a constant as bool
sheepluva
parents: 12591
diff changeset
   102
    //MIX_DEFAULT_FORMAT   = AUDIO_S16SYS;
2ffdee246adc workaround to fix pas2c mistyping a constant as bool
sheepluva
parents: 12591
diff changeset
   103
    MIX_DEFAULT_FORMAT   = {$IFDEF ENDIAN_LITTLE}AUDIO_S16LSB{$ELSE}AUDIO_S16MSB{$ENDIF};
11499
9c5d9993b14b fix volume being at 0 on engine start. note: seems window focus changes are not detected atm. (relevant for sound dampening)
sheepluva
parents: 11486
diff changeset
   104
6917
4889c2b779b4 - change uKeys to be event based rather than polling
Xeli
parents: 6900
diff changeset
   105
    SDL_BUTTON_LEFT      = 1;
4889c2b779b4 - change uKeys to be event based rather than polling
Xeli
parents: 6900
diff changeset
   106
    SDL_BUTTON_MIDDLE    = 2;
4889c2b779b4 - change uKeys to be event based rather than polling
Xeli
parents: 6900
diff changeset
   107
    SDL_BUTTON_RIGHT     = 3;
11486
2b30283a402c fix/clean-up mousewheel code
sheepluva
parents: 11392
diff changeset
   108
    SDL_BUTTON_X1        = 4;
2b30283a402c fix/clean-up mousewheel code
sheepluva
parents: 11392
diff changeset
   109
    SDL_BUTTON_X2        = 5;
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   110
14808
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   111
    // SDL_ShowCursor consts
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   112
    SDL_QUERY = -1;
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   113
    SDL_DISABLE = 0;
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   114
    SDL_ENABLE = 1;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   115
9697
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   116
    SDL_TEXTEDITINGEVENT_TEXT_SIZE = 32;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   117
    SDL_TEXTINPUTEVENT_TEXT_SIZE   = 32;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   118
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   119
    // SDL_Event types
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   120
    // pascal does not support unions as is, so we list here every possible event
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   121
    // and later associate a struct type each
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   122
    SDL_FIRSTEVENT        = 0;              // type
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   123
    SDL_COMMONDEVENT      = 1;              // type and timestamp
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   124
    SDL_QUITEV            = $100;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   125
    SDL_APP_TERMINATING   = $101;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   126
    SDL_APP_LOWMEMORY     = $102;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   127
    SDL_APP_WILLENTERBACKGROUND = $103;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   128
    SDL_APP_DIDENTERBACKGROUND = $104;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   129
    SDL_APP_WILLENTERFOREGROUND = $105;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   130
    SDL_APP_DIDENTERFOREGROUND = $106;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   131
    SDL_WINDOWEVENT       = $200;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   132
    SDL_SYSWMEVENT        = $201;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   133
    SDL_KEYDOWN           = $300;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   134
    SDL_KEYUP             = $301;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   135
    SDL_TEXTEDITING       = $302;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   136
    SDL_TEXTINPUT         = $303;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   137
    SDL_MOUSEMOTION       = $400;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   138
    SDL_MOUSEBUTTONDOWN   = $401;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   139
    SDL_MOUSEBUTTONUP     = $402;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   140
    SDL_MOUSEWHEEL        = $403;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   141
    SDL_JOYAXISMOTION     = $600;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   142
    SDL_JOYBALLMOTION     = $601;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   143
    SDL_JOYHATMOTION      = $602;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   144
    SDL_JOYBUTTONDOWN     = $603;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   145
    SDL_JOYBUTTONUP       = $604;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   146
    SDL_JOYDEVICEADDED    = $605;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   147
    SDL_JOYDEVICEREMOVED  = $606;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   148
    SDL_CONTROLLERAXISMOTION = $650;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   149
    SDL_CONTROLLERBUTTONDOWN = $651;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   150
    SDL_CONTROLLERBUTTONUP = $652;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   151
    SDL_CONTROLLERDEVICEADDED = $653;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   152
    SDL_CONTROLLERDEVICEREMOVED = $654;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   153
    SDL_CONTROLLERDEVICEREMAPPED = $655;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   154
    SDL_FINGERDOWN        = $700;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   155
    SDL_FINGERUP          = $701;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   156
    SDL_FINGERMOTION      = $702;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   157
    SDL_DOLLARGESTURE     = $800;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   158
    SDL_DOLLARRECORD      = $801;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   159
    SDL_MULTIGESTURE      = $802;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   160
    SDL_CLIPBOARDUPDATE   = $900;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   161
    SDL_DROPFILE          = $1000;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   162
    SDL_USEREVENT         = $8000;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   163
    SDL_LASTEVENT         = $FFFF;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   164
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   165
    // SDL_Surface flags
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   166
    SDL_SWSURFACE   = $00000000;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   167
    SDL_PREALLOC    = $00000001;  //*< Surface uses preallocated memory */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   168
    SDL_RLEACCEL    = $00000002;  //*< Surface is RLE encoded */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   169
    SDL_DONTFREE    = $00000004;  //*< Surface is referenced internally */
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   170
    SDL_SRCCOLORKEY = $00020000;  // compatibility only
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   171
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   172
    // SDL_RendererFlags
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   173
    SDL_RENDERER_SOFTWARE     = $00000001;     //*< The renderer is a software fallback */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   174
    SDL_RENDERER_ACCELERATED  = $00000002;     //*< The renderer uses hardware acceleration */
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   175
    SDL_RENDERER_PRESENTVSYNC = $00000004;     //*< Present is synchronized with the refresh rate */
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   176
    SDL_RENDERER_TARGETTEXTURE = $00000008;    //*< The renderer supports rendering to texture */
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   177
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   178
    // SDL_WindowFlags
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   179
    SDL_WINDOW_FULLSCREEN    = $00000001;      //*< fullscreen window, implies borderless */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   180
    SDL_WINDOW_OPENGL        = $00000002;      //*< window usable with OpenGL context */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   181
    SDL_WINDOW_SHOWN         = $00000004;      //*< window is visible */
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   182
    SDL_WINDOW_HIDDEN        = $00000008;      //*< window is not visible */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   183
    SDL_WINDOW_BORDERLESS    = $00000010;      //*< no window decoration */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   184
    SDL_WINDOW_RESIZABLE     = $00000020;      //*< window can be resized */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   185
    SDL_WINDOW_MINIMIZED     = $00000040;      //*< window is minimized */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   186
    SDL_WINDOW_MAXIMIZED     = $00000080;      //*< window is maximized */
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   187
    SDL_WINDOW_INPUT_GRABBED = $00000100;      //*< window has grabbed input focus */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   188
    SDL_WINDOW_INPUT_FOCUS   = $00000200;      //*< window has input focus */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   189
    SDL_WINDOW_MOUSE_FOCUS   = $00000400;      //*< window has mouse focus */
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   190
    SDL_WINDOW_FULLSCREEN_DESKTOP = $00001001; //*< fullscreen as maximed window */
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   191
    SDL_WINDOW_FOREIGN       = $00000800;      //*< window not created by SDL */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   192
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   193
    SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   194
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   195
    // SDL_WindowEventID
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   196
    SDL_WINDOWEVENT_NONE         = 0;    //*< Never used
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   197
    SDL_WINDOWEVENT_SHOWN        = 1;    //*< Window has been shown
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   198
    SDL_WINDOWEVENT_HIDDEN       = 2;    //*< Window has been hidden
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   199
    SDL_WINDOWEVENT_EXPOSED      = 3;    //*< Window has been exposed and should be redrawn
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   200
    SDL_WINDOWEVENT_MOVED        = 4;    //*< Window has been moved to data1, data2
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   201
    SDL_WINDOWEVENT_RESIZED      = 5;    //*< Window size changed to data1xdata2
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   202
    SDL_WINDOWEVENT_SIZE_CHANGED = 6;    //*< The window size has changed, [...] */
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   203
    SDL_WINDOWEVENT_MINIMIZED    = 7;    //*< Window has been minimized
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   204
    SDL_WINDOWEVENT_MAXIMIZED    = 8;    //*< Window has been maximized
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   205
    SDL_WINDOWEVENT_RESTORED     = 9;    //*< Window has been restored to normal size and position
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   206
    SDL_WINDOWEVENT_ENTER        = 10;   //*< Window has gained mouse focus
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   207
    SDL_WINDOWEVENT_LEAVE        = 11;   //*< Window has lost mouse focus
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   208
    SDL_WINDOWEVENT_FOCUS_GAINED = 12;   //*< Window has gained keyboard focus
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   209
    SDL_WINDOWEVENT_FOCUS_LOST   = 13;   //*< Window has lost keyboard focus
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   210
    SDL_WINDOWEVENT_CLOSE        = 14;   //*< The window manager requests that the window be closed */
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   211
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   212
{$IFDEF ENDIAN_LITTLE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   213
    RMask = $000000FF;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   214
    GMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   215
    BMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   216
    AMask = $FF000000;
5041
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   217
    RShift = 0;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   218
    GShift = 8;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   219
    BShift = 16;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   220
    AShift = 24;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   221
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   222
    RMask = $FF000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   223
    GMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   224
    BMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   225
    AMask = $000000FF;
5041
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   226
    RShift = 24;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   227
    GShift = 16;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   228
    BShift = 8;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   229
    AShift = 0;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   230
{$ENDIF}
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
   231
7191
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   232
    KMOD_NONE   = $0000;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   233
    KMOD_LSHIFT = $0001;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   234
    KMOD_RSHIFT = $0002;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   235
    KMOD_LCTRL  = $0040;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   236
    KMOD_RCTRL  = $0080;
7193
65a022bf6bde ignore keymodifers other than ctrl/alt/shift
Xeli
parents: 7191
diff changeset
   237
    KMOD_LALT   = $0400;
65a022bf6bde ignore keymodifers other than ctrl/alt/shift
Xeli
parents: 7191
diff changeset
   238
    KMOD_RALT   = $0800;
7191
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   239
    KMOD_LMETA  = $0400;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   240
    KMOD_RMETA  = $0800;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   241
    KMOD_NUM    = $1000;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   242
    KMOD_CAPS   = $2000;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   243
    KMOD_MODE   = $4000;
9419294e5f33 first attempt at implementing support for keys with modifiers
Xeli
parents: 7167
diff changeset
   244
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   245
    {* SDL_mixer *}
11362
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   246
    MIX_MAX_VOLUME      = 128;
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   247
    MIX_INIT_FLAC       = $00000001;
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   248
    MIX_INIT_MOD        = $00000002;
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   249
    MIX_INIT_MODPLUG    = $00000004;
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   250
    MIX_INIT_MP3        = $00000008;
ed5a6478e710 merge default
sheepluva
parents: 11360 11151
diff changeset
   251
    MIX_INIT_OGG        = $00000010;
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   252
    MIX_INIT_FLUIDSYNTH = $00000020;
14831
64f88108926b enable sdl_mixer opus support if possible
alfadur
parents: 14808
diff changeset
   253
    MIX_INIT_OPUS       = $00000040;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   254
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   255
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   256
    TTF_STYLE_NORMAL = 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   257
    TTF_STYLE_BOLD   = 1;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   258
    TTF_STYLE_ITALIC = 2;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   259
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   260
    {* SDL Joystick *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   261
    SDL_HAT_CENTERED  = $00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   262
    SDL_HAT_UP        = $01;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   263
    SDL_HAT_RIGHT     = $02;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   264
    SDL_HAT_DOWN      = $04;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   265
    SDL_HAT_LEFT      = $08;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   266
    SDL_HAT_RIGHTUP   = SDL_HAT_RIGHT or SDL_HAT_UP;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   267
    SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   268
    SDL_HAT_LEFTUP    = SDL_HAT_LEFT  or SDL_HAT_UP;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   269
    SDL_HAT_LEFTDOWN  = SDL_HAT_LEFT  or SDL_HAT_DOWN;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   270
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   271
    {* SDL_image *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   272
    IMG_INIT_JPG = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   273
    IMG_INIT_PNG = $00000002;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   274
    IMG_INIT_TIF = $00000004;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   275
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   276
    {* SDL_keycode *}
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   277
    SDLK_UNKNOWN = 0;
8742
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   278
    SDLK_BACKSPACE = 8;
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   279
    SDLK_RETURN    = 13;
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   280
    SDLK_ESCAPE    = 27;
10836
0b415bc2e0eb selections
sheepluva
parents: 10640
diff changeset
   281
    SDLK_a         = 97;
10849
a772d342066a copy&paste (wip), currently using only a local clipboard
sheepluva
parents: 10836
diff changeset
   282
    SDLK_c         = 99;
8746
55539c550c33 use SDL keycode for shortcuts (doesn't fix layout issues)
koda
parents: 8745
diff changeset
   283
    SDLK_q         = 113;
10849
a772d342066a copy&paste (wip), currently using only a local clipboard
sheepluva
parents: 10836
diff changeset
   284
    SDLK_v         = 118;
8746
55539c550c33 use SDL keycode for shortcuts (doesn't fix layout issues)
koda
parents: 8745
diff changeset
   285
    SDLK_w         = 119;
10849
a772d342066a copy&paste (wip), currently using only a local clipboard
sheepluva
parents: 10836
diff changeset
   286
    SDLK_x         = 120;
8745
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   287
    SDLK_DELETE    = 127;
9319
492a0ad67e33 allow to send chat messages with numpad enter key too (regression?)
koda
parents: 9317
diff changeset
   288
    SDLK_KP_ENTER  = 271;
8742
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   289
    SDLK_UP        = 273;
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   290
    SDLK_DOWN      = 274;
8745
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   291
    SDLK_RIGHT     = 275;
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   292
    SDLK_LEFT      = 276;
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   293
    SDLK_HOME      = 278;
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   294
    SDLK_END       = 279;
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   295
    SDLK_PAGEUP    = 280;
b3756c3f65e5 ingore moar keys
koda
parents: 8742
diff changeset
   296
    SDLK_PAGEDOWN  = 281;
8742
b7b8bd398c1b Key returned 0 for arrows under linux. Sym works, clearer anyway.
nemo
parents: 8530
diff changeset
   297
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   298
    // special keycodes (for modifier keys etc. will have this bit set)
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   299
    SDLK_SCANCODE_MASK = (1 shl 30);
5724
3064ed85a5bd Changed SDL_PollEvent to SDL_PeepEvents
Xeli
parents: 5670
diff changeset
   300
11371
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   301
    SDL_SCANCODE_UNKNOWN = 0;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   302
    SDL_SCANCODE_A = 4;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   303
    SDL_SCANCODE_B = 5;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   304
    SDL_SCANCODE_C = 6;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   305
    SDL_SCANCODE_D = 7;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   306
    SDL_SCANCODE_E = 8;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   307
    SDL_SCANCODE_F = 9;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   308
    SDL_SCANCODE_G = 10;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   309
    SDL_SCANCODE_H = 11;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   310
    SDL_SCANCODE_I = 12;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   311
    SDL_SCANCODE_J = 13;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   312
    SDL_SCANCODE_K = 14;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   313
    SDL_SCANCODE_L = 15;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   314
    SDL_SCANCODE_M = 16;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   315
    SDL_SCANCODE_N = 17;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   316
    SDL_SCANCODE_O = 18;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   317
    SDL_SCANCODE_P = 19;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   318
    SDL_SCANCODE_Q = 20;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   319
    SDL_SCANCODE_R = 21;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   320
    SDL_SCANCODE_S = 22;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   321
    SDL_SCANCODE_T = 23;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   322
    SDL_SCANCODE_U = 24;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   323
    SDL_SCANCODE_V = 25;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   324
    SDL_SCANCODE_W = 26;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   325
    SDL_SCANCODE_X = 27;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   326
    SDL_SCANCODE_Y = 28;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   327
    SDL_SCANCODE_Z = 29;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   328
    SDL_SCANCODE_1 = 30;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   329
    SDL_SCANCODE_2 = 31;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   330
    SDL_SCANCODE_3 = 32;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   331
    SDL_SCANCODE_4 = 33;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   332
    SDL_SCANCODE_5 = 34;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   333
    SDL_SCANCODE_6 = 35;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   334
    SDL_SCANCODE_7 = 36;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   335
    SDL_SCANCODE_8 = 37;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   336
    SDL_SCANCODE_9 = 38;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   337
    SDL_SCANCODE_0 = 39;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   338
    SDL_SCANCODE_RETURN = 40;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   339
    SDL_SCANCODE_ESCAPE = 41;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   340
    SDL_SCANCODE_BACKSPACE = 42;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   341
    SDL_SCANCODE_TAB = 43;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   342
    SDL_SCANCODE_SPACE = 44;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   343
    SDL_SCANCODE_MINUS = 45;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   344
    SDL_SCANCODE_EQUALS = 46;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   345
    SDL_SCANCODE_LEFTBRACKET = 47;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   346
    SDL_SCANCODE_RIGHTBRACKET = 48;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   347
    SDL_SCANCODE_BACKSLASH = 49;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   348
    SDL_SCANCODE_NONUSHASH = 50;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   349
    SDL_SCANCODE_SEMICOLON = 51;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   350
    SDL_SCANCODE_APOSTROPHE = 52;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   351
    SDL_SCANCODE_GRAVE = 53;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   352
    SDL_SCANCODE_COMMA = 54;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   353
    SDL_SCANCODE_PERIOD = 55;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   354
    SDL_SCANCODE_SLASH = 56;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   355
    SDL_SCANCODE_CAPSLOCK = 57;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   356
    SDL_SCANCODE_F1 = 58;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   357
    SDL_SCANCODE_F2 = 59;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   358
    SDL_SCANCODE_F3 = 60;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   359
    SDL_SCANCODE_F4 = 61;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   360
    SDL_SCANCODE_F5 = 62;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   361
    SDL_SCANCODE_F6 = 63;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   362
    SDL_SCANCODE_F7 = 64;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   363
    SDL_SCANCODE_F8 = 65;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   364
    SDL_SCANCODE_F9 = 66;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   365
    SDL_SCANCODE_F10 = 67;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   366
    SDL_SCANCODE_F11 = 68;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   367
    SDL_SCANCODE_F12 = 69;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   368
    SDL_SCANCODE_PRINTSCREEN = 70;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   369
    SDL_SCANCODE_SCROLLLOCK = 71;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   370
    SDL_SCANCODE_PAUSE = 72;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   371
    SDL_SCANCODE_INSERT = 73;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   372
    SDL_SCANCODE_HOME = 74;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   373
    SDL_SCANCODE_PAGEUP = 75;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   374
    SDL_SCANCODE_DELETE = 76;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   375
    SDL_SCANCODE_END = 77;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   376
    SDL_SCANCODE_PAGEDOWN = 78;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   377
    SDL_SCANCODE_RIGHT = 79;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   378
    SDL_SCANCODE_LEFT = 80;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   379
    SDL_SCANCODE_DOWN = 81;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   380
    SDL_SCANCODE_UP = 82;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   381
    SDL_SCANCODE_NUMLOCKCLEAR = 83;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   382
    SDL_SCANCODE_KP_DIVIDE = 84;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   383
    SDL_SCANCODE_KP_MULTIPLY = 85;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   384
    SDL_SCANCODE_KP_MINUS = 86;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   385
    SDL_SCANCODE_KP_PLUS = 87;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   386
    SDL_SCANCODE_KP_ENTER = 88;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   387
    SDL_SCANCODE_KP_1 = 89;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   388
    SDL_SCANCODE_KP_2 = 90;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   389
    SDL_SCANCODE_KP_3 = 91;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   390
    SDL_SCANCODE_KP_4 = 92;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   391
    SDL_SCANCODE_KP_5 = 93;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   392
    SDL_SCANCODE_KP_6 = 94;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   393
    SDL_SCANCODE_KP_7 = 95;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   394
    SDL_SCANCODE_KP_8 = 96;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   395
    SDL_SCANCODE_KP_9 = 97;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   396
    SDL_SCANCODE_KP_0 = 98;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   397
    SDL_SCANCODE_KP_PERIOD = 99;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   398
    SDL_SCANCODE_NONUSBACKSLASH = 100;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   399
    SDL_SCANCODE_APPLICATION = 101;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   400
    SDL_SCANCODE_POWER = 102;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   401
    SDL_SCANCODE_KP_EQUALS = 103;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   402
    SDL_SCANCODE_F13 = 104;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   403
    SDL_SCANCODE_F14 = 105;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   404
    SDL_SCANCODE_F15 = 106;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   405
    SDL_SCANCODE_F16 = 107;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   406
    SDL_SCANCODE_F17 = 108;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   407
    SDL_SCANCODE_F18 = 109;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   408
    SDL_SCANCODE_F19 = 110;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   409
    SDL_SCANCODE_F20 = 111;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   410
    SDL_SCANCODE_F21 = 112;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   411
    SDL_SCANCODE_F22 = 113;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   412
    SDL_SCANCODE_F23 = 114;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   413
    SDL_SCANCODE_F24 = 115;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   414
    SDL_SCANCODE_EXECUTE = 116;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   415
    SDL_SCANCODE_HELP = 117;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   416
    SDL_SCANCODE_MENU = 118;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   417
    SDL_SCANCODE_SELECT = 119;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   418
    SDL_SCANCODE_STOP = 120;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   419
    SDL_SCANCODE_AGAIN = 121;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   420
    SDL_SCANCODE_UNDO = 122;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   421
    SDL_SCANCODE_CUT = 123;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   422
    SDL_SCANCODE_COPY = 124;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   423
    SDL_SCANCODE_PASTE = 125;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   424
    SDL_SCANCODE_FIND = 126;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   425
    SDL_SCANCODE_MUTE = 127;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   426
    SDL_SCANCODE_VOLUMEUP = 128;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   427
    SDL_SCANCODE_VOLUMEDOWN = 129;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   428
    SDL_SCANCODE_KP_COMMA = 133;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   429
    SDL_SCANCODE_KP_EQUALSAS400 = 134;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   430
    SDL_SCANCODE_INTERNATIONAL1 = 135;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   431
    SDL_SCANCODE_INTERNATIONAL2 = 136;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   432
    SDL_SCANCODE_INTERNATIONAL3 = 137;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   433
    SDL_SCANCODE_INTERNATIONAL4 = 138;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   434
    SDL_SCANCODE_INTERNATIONAL5 = 139;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   435
    SDL_SCANCODE_INTERNATIONAL6 = 140;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   436
    SDL_SCANCODE_INTERNATIONAL7 = 141;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   437
    SDL_SCANCODE_INTERNATIONAL8 = 142;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   438
    SDL_SCANCODE_INTERNATIONAL9 = 143;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   439
    SDL_SCANCODE_LANG1 = 144; (*< Hangul/English toggle *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   440
    SDL_SCANCODE_LANG2 = 145; (*< Hanja conversion *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   441
    SDL_SCANCODE_LANG3 = 146; (*< Katakana *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   442
    SDL_SCANCODE_LANG4 = 147; (*< Hiragana *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   443
    SDL_SCANCODE_LANG5 = 148; (*< Zenkaku/Hankaku *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   444
    SDL_SCANCODE_LANG6 = 149; (*< reserved *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   445
    SDL_SCANCODE_LANG7 = 150; (*< reserved *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   446
    SDL_SCANCODE_LANG8 = 151; (*< reserved *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   447
    SDL_SCANCODE_LANG9 = 152; (*< reserved *)
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   448
    SDL_SCANCODE_ALTERASE = 153;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   449
    SDL_SCANCODE_SYSREQ = 154;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   450
    SDL_SCANCODE_CANCEL = 155;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   451
    SDL_SCANCODE_CLEAR = 156;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   452
    SDL_SCANCODE_PRIOR = 157;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   453
    SDL_SCANCODE_RETURN2 = 158;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   454
    SDL_SCANCODE_SEPARATOR = 159;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   455
    SDL_SCANCODE_OUT = 160;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   456
    SDL_SCANCODE_OPER = 161;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   457
    SDL_SCANCODE_CLEARAGAIN = 162;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   458
    SDL_SCANCODE_CRSEL = 163;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   459
    SDL_SCANCODE_EXSEL = 164;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   460
    SDL_SCANCODE_KP_00 = 176;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   461
    SDL_SCANCODE_KP_000 = 177;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   462
    SDL_SCANCODE_THOUSANDSSEPARATOR = 178;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   463
    SDL_SCANCODE_DECIMALSEPARATOR = 179;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   464
    SDL_SCANCODE_CURRENCYUNIT = 180;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   465
    SDL_SCANCODE_CURRENCYSUBUNIT = 181;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   466
    SDL_SCANCODE_KP_LEFTPAREN = 182;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   467
    SDL_SCANCODE_KP_RIGHTPAREN = 183;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   468
    SDL_SCANCODE_KP_LEFTBRACE = 184;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   469
    SDL_SCANCODE_KP_RIGHTBRACE = 185;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   470
    SDL_SCANCODE_KP_TAB = 186;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   471
    SDL_SCANCODE_KP_BACKSPACE = 187;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   472
    SDL_SCANCODE_KP_A = 188;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   473
    SDL_SCANCODE_KP_B = 189;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   474
    SDL_SCANCODE_KP_C = 190;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   475
    SDL_SCANCODE_KP_D = 191;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   476
    SDL_SCANCODE_KP_E = 192;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   477
    SDL_SCANCODE_KP_F = 193;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   478
    SDL_SCANCODE_KP_XOR = 194;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   479
    SDL_SCANCODE_KP_POWER = 195;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   480
    SDL_SCANCODE_KP_PERCENT = 196;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   481
    SDL_SCANCODE_KP_LESS = 197;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   482
    SDL_SCANCODE_KP_GREATER = 198;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   483
    SDL_SCANCODE_KP_AMPERSAND = 199;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   484
    SDL_SCANCODE_KP_DBLAMPERSAND = 200;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   485
    SDL_SCANCODE_KP_VERTICALBAR = 201;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   486
    SDL_SCANCODE_KP_DBLVERTICALBAR = 202;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   487
    SDL_SCANCODE_KP_COLON = 203;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   488
    SDL_SCANCODE_KP_HASH = 204;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   489
    SDL_SCANCODE_KP_SPACE = 205;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   490
    SDL_SCANCODE_KP_AT = 206;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   491
    SDL_SCANCODE_KP_EXCLAM = 207;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   492
    SDL_SCANCODE_KP_MEMSTORE = 208;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   493
    SDL_SCANCODE_KP_MEMRECALL = 209;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   494
    SDL_SCANCODE_KP_MEMCLEAR = 210;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   495
    SDL_SCANCODE_KP_MEMADD = 211;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   496
    SDL_SCANCODE_KP_MEMSUBTRACT = 212;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   497
    SDL_SCANCODE_KP_MEMMULTIPLY = 213;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   498
    SDL_SCANCODE_KP_MEMDIVIDE = 214;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   499
    SDL_SCANCODE_KP_PLUSMINUS = 215;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   500
    SDL_SCANCODE_KP_CLEAR = 216;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   501
    SDL_SCANCODE_KP_CLEARENTRY = 217;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   502
    SDL_SCANCODE_KP_BINARY = 218;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   503
    SDL_SCANCODE_KP_OCTAL = 219;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   504
    SDL_SCANCODE_KP_DECIMAL = 220;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   505
    SDL_SCANCODE_KP_HEXADECIMAL = 221;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   506
    SDL_SCANCODE_LCTRL = 224;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   507
    SDL_SCANCODE_LSHIFT = 225;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   508
    SDL_SCANCODE_LALT = 226;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   509
    SDL_SCANCODE_LGUI = 227;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   510
    SDL_SCANCODE_RCTRL = 228;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   511
    SDL_SCANCODE_RSHIFT = 229;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   512
    SDL_SCANCODE_RALT = 230;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   513
    SDL_SCANCODE_RGUI = 231;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   514
    SDL_SCANCODE_MODE = 257;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   515
    SDL_SCANCODE_AUDIONEXT = 258;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   516
    SDL_SCANCODE_AUDIOPREV = 259;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   517
    SDL_SCANCODE_AUDIOSTOP = 260;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   518
    SDL_SCANCODE_AUDIOPLAY = 261;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   519
    SDL_SCANCODE_AUDIOMUTE = 262;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   520
    SDL_SCANCODE_MEDIASELECT = 263;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   521
    SDL_SCANCODE_WWW = 264;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   522
    SDL_SCANCODE_MAIL = 265;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   523
    SDL_SCANCODE_CALCULATOR = 266;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   524
    SDL_SCANCODE_COMPUTER = 267;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   525
    SDL_SCANCODE_AC_SEARCH = 268;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   526
    SDL_SCANCODE_AC_HOME = 269;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   527
    SDL_SCANCODE_AC_BACK = 270;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   528
    SDL_SCANCODE_AC_FORWARD = 271;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   529
    SDL_SCANCODE_AC_STOP = 272;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   530
    SDL_SCANCODE_AC_REFRESH = 273;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   531
    SDL_SCANCODE_AC_BOOKMARKS = 274;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   532
    SDL_SCANCODE_BRIGHTNESSDOWN = 275;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   533
    SDL_SCANCODE_BRIGHTNESSUP = 276;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   534
    SDL_SCANCODE_DISPLAYSWITCH = 277;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   535
    SDL_SCANCODE_KBDILLUMTOGGLE = 278;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   536
    SDL_SCANCODE_KBDILLUMDOWN = 279;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   537
    SDL_SCANCODE_KBDILLUMUP = 280;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   538
    SDL_SCANCODE_EJECT = 281;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   539
    SDL_SCANCODE_SLEEP = 282;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   540
    SDL_SCANCODE_APP1 = 283;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   541
    SDL_SCANCODE_APP2 = 284;
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   542
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   543
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   544
///////////////////////  TYPE DEFINITIONS ///////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   545
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   546
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   547
// two important reference points for the wanderers of this area
13506
36f3f77e9b1b Switch from http:// to https:// URLs where possible
Wuzzy <Wuzzy2@mail.ru>
parents: 13490
diff changeset
   548
// https://www.freepascal.org/docs-html/ref/refsu5.html
36f3f77e9b1b Switch from http:// to https:// URLs where possible
Wuzzy <Wuzzy2@mail.ru>
parents: 13490
diff changeset
   549
// https://www.freepascal.org/docs-html/prog/progsu144.html
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   550
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   551
type
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   552
    PSDL_Window   = Pointer;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   553
    PSDL_Renderer = Pointer;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   554
    PSDL_Texture  = Pointer;
5486
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
   555
    PSDL_GLContext= Pointer;
6693
b6a69c0bc541 carried out some cosmetic TODOs in uTouch
koda
parents: 6663
diff changeset
   556
    TSDL_TouchId  = Int64;
9317
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
   557
    TSDL_FingerId = Int64;
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   558
    TSDL_Keycode = LongInt;
11371
59db509c20c6 don't use types for custom value enums in pascal, use consts instead
sheepluva
parents: 11368
diff changeset
   559
    TSDL_Scancode = LongInt;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   560
    TSDL_JoystickID = LongInt;
14808
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
   561
    TSDL_bool = LongInt;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   562
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   563
    TSDL_eventaction = (SDL_ADDEVENT, SDL_PEEPEVENT, SDL_GETEVENT);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   564
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   565
    PSDL_Rect = ^TSDL_Rect;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   566
    TSDL_Rect = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   567
        x, y, w, h: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   568
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   569
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   570
    TPoint = record
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   571
        x, y: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   572
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   573
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   574
    PSDL_PixelFormat = ^TSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   575
    TSDL_PixelFormat = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   576
        format: LongWord;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   577
        palette: Pointer;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   578
        BitsPerPixel : Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   579
        BytesPerPixel: Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   580
        padding: array[0..1] of Byte;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   581
        RMask : LongWord;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   582
        GMask : LongWord;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   583
        BMask : LongWord;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   584
        AMask : LongWord;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   585
        Rloss : Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   586
        Gloss : Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   587
        Bloss : Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   588
        Aloss : Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   589
        Rshift: Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   590
        Gshift: Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   591
        Bshift: Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   592
        Ashift: Byte;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   593
        refcount: LongInt;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   594
        next: PSDL_PixelFormat;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   595
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   596
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   597
    PSDL_Surface = ^TSDL_Surface;
6285
2c3a6bece643 ooops :D
koda
parents: 6284
diff changeset
   598
    TSDL_Surface = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   599
        flags : LongWord;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   600
        format: PSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   601
        w, h  : LongInt;
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
   602
        pitch : LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   603
        pixels: Pointer;
8026
4a4f21070479 merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents: 7565
diff changeset
   604
{$IFDEF PAS2C}
10015
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   605
        hwdata   : Pointer;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   606
        clip_rect: TSDL_Rect;
10015
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   607
        unsed1   : LongWord;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   608
        locked   : LongWord;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   609
        map      : Pointer;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   610
        format_version: Longword;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   611
        refcount : LongInt;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   612
        offset   : LongInt;
8026
4a4f21070479 merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents: 7565
diff changeset
   613
{$ELSE}
10015
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   614
        userdata  : Pointer;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   615
        locked    : LongInt;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   616
        lock_data : Pointer;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   617
        clip_rect : TSDL_Rect;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   618
        map       : Pointer;
4feced261c68 partial merge of the webgl branch
koda
parents: 9998 9952
diff changeset
   619
        refcount  : LongInt;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   620
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   621
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   622
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   623
7035
823caba67738 Reflects change in previous revision to uTypes
nemo
parents: 7016
diff changeset
   624
    PSDL_Color = ^TSDL_Color;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   625
    TSDL_Color = record
7546
b50556f2a0e8 This union hasn't been needed for 5 years, and makes using other headers harder.
nemo
parents: 7237
diff changeset
   626
            r: Byte;
b50556f2a0e8 This union hasn't been needed for 5 years, and makes using other headers harder.
nemo
parents: 7237
diff changeset
   627
            g: Byte;
b50556f2a0e8 This union hasn't been needed for 5 years, and makes using other headers harder.
nemo
parents: 7237
diff changeset
   628
            b: Byte;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   629
            a: Byte; //sdl12 name is 'unused' but as long as size matches...
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   630
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   631
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   632
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   633
    (* SDL_RWops and friends *)
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   634
    PSDL_RWops = ^TSDL_RWops;
9378
2be457289e60 update physlayer and sdl bindings to the new rwops interface
koda
parents: 9333
diff changeset
   635
    TSize  = function( context: PSDL_RWops): Int64; cdecl;
2be457289e60 update physlayer and sdl bindings to the new rwops interface
koda
parents: 9333
diff changeset
   636
    TSeek  = function( context: PSDL_RWops; offset: Int64; whence: LongInt ): Int64; cdecl;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   637
    TRead  = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; maxnum : LongInt ): LongInt;  cdecl;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   638
    TWrite = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; num: LongInt ): LongInt; cdecl;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   639
    TClose = function( context: PSDL_RWops ): LongInt; cdecl;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   640
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   641
    TStdio = record
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
   642
        autoclose: Boolean;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   643
        fp: Pointer;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   644
        end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   645
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   646
    TMem = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   647
        base: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   648
        here: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   649
        stop: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   650
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   651
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   652
    TUnknown = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   653
        data1: Pointer;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   654
        data2: Pointer;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   655
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   656
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   657
{$IFDEF ANDROID}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   658
    TAndroidio = record
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   659
        fileName, inputStream, readableByteChannel: Pointer;
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   660
        readMethod, assetFileDescriptor: Pointer;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   661
        position, size, offset: Int64;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   662
        fd: LongInt;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   663
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   664
{$ELSE}
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
   665
{$IFDEF WINDOWS}
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   666
    TWinbuffer = record
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   667
        data: Pointer;
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   668
        size, left: LongInt;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   669
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   670
    TWindowsio = record
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
   671
        append : Boolean;
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   672
        h : Pointer;
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
   673
        buffer : TWinbuffer;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   674
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   675
{$ENDIF}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   676
{$ENDIF}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   677
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   678
    TSDL_RWops = record
9378
2be457289e60 update physlayer and sdl bindings to the new rwops interface
koda
parents: 9333
diff changeset
   679
        size: TSize;
6891
ab9843957664 Improve rendering of function types, ranges, and more
unc0rr
parents: 6879
diff changeset
   680
        seek: TSeek;
ab9843957664 Improve rendering of function types, ranges, and more
unc0rr
parents: 6879
diff changeset
   681
        read: TRead;
ab9843957664 Improve rendering of function types, ranges, and more
unc0rr
parents: 6879
diff changeset
   682
        write: TWrite;
ab9843957664 Improve rendering of function types, ranges, and more
unc0rr
parents: 6879
diff changeset
   683
        close: TClose;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   684
        type_: LongWord;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   685
        case Byte of
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   686
{$IFDEF ANDROID}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   687
            0: (androidio: TAndroidio);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   688
{$ELSE}
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
   689
{$IFDEF WINDOWS}
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   690
            0: (windowsio: TWindowsio);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   691
{$ENDIF}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   692
{$ENDIF}
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   693
            1: (stdio: TStdio);     // assumes HAVE_STDIO_H
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   694
            2: (mem: TMem);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   695
            3: (unknown: TUnknown);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   696
            end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   697
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   698
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   699
{* SDL_Event type definition *}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   700
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   701
    TSDL_Keysym = record
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   702
        scancode: TSDL_Scancode;
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
   703
        sym: TSDL_Keycode;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   704
        modifier: Word;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   705
        unused: LongWord;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   706
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   707
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   708
    TSDL_WindowEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   709
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   710
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   711
        windowID: LongWord;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   712
        event: Byte;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   713
        padding1, padding2, padding3: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   714
        data1, data2: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   715
        end;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   716
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   717
    TSDL_TextEditingEvent = record
9697
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   718
        type_: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   719
        timestamp: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   720
        windowID: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   721
        text: array [0..SDL_TEXTEDITINGEVENT_TEXT_SIZE - 1] of char;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   722
        start: LongInt;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   723
        length: LongInt;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   724
        end;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   725
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   726
    TSDL_TextInputEvent = record
9697
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   727
        type_: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   728
        timestamp: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   729
        windowID: Longword;
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   730
        text: array [0..SDL_TEXTINPUTEVENT_TEXT_SIZE - 1] of char;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   731
        end;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   732
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   733
    TSDL_TouchFingerEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   734
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   735
        timestamp: LongWord;
6693
b6a69c0bc541 carried out some cosmetic TODOs in uTouch
koda
parents: 6663
diff changeset
   736
        touchId: TSDL_TouchId;
b6a69c0bc541 carried out some cosmetic TODOs in uTouch
koda
parents: 6663
diff changeset
   737
        fingerId: TSDL_FingerId;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   738
        x, y, dx, dy: Single;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   739
        pressure: Single;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   740
        end;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   741
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   742
    TSDL_MultiGestureEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   743
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   744
        timestamp: LongWord;
6693
b6a69c0bc541 carried out some cosmetic TODOs in uTouch
koda
parents: 6663
diff changeset
   745
        touchId: TSDL_TouchId;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   746
        dTheta, dDist, x, y: Single;
6283
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   747
        numFingers, padding: Word;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   748
        end;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   749
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   750
    TSDL_DollarGestureEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   751
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   752
        timestamp: LongWord;
6283
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   753
        touchId: Int64;
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   754
        gesturedId: Int64;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   755
        numFingers: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   756
        error, x, y: Single;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   757
        end;
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   758
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   759
    TSDL_DropEvent = record
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   760
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   761
        timestamp: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   762
        filename: PChar;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   763
        end;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   764
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   765
    TSDL_SysWMEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   766
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   767
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   768
        msg: Pointer;
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   769
        end;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   770
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   771
    TSDL_ControllerAxisEvent = record
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   772
        type_: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   773
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   774
        which: TSDL_JoystickID;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   775
        axis, padding1, padding2, padding3: Byte;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   776
        value: SmallInt;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   777
        padding4: Word;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   778
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   779
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   780
    TSDL_ControllerButtonEvent = record
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   781
        type_: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   782
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   783
        which: TSDL_JoystickID;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   784
        button, states, padding1, padding2: Byte;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   785
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   786
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   787
    TSDL_ControllerDeviceEvent = record
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   788
        type_: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   789
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   790
        which: LongInt;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   791
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   792
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   793
    TSDL_JoyDeviceEvent = TSDL_ControllerDeviceEvent;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   794
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   795
    TSDL_CommonEvent = record
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   796
        type_: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   797
        timestamp: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   798
        end;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   799
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   800
    TSDL_OSEvent = TSDL_CommonEvent;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   801
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   802
    TSDL_KeyboardEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   803
        type_: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   804
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   805
        windowID: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   806
        state, repeat_, padding2, padding3: Byte;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   807
        keysym: TSDL_Keysym;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   808
        end;
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   809
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   810
    TSDL_MouseMotionEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   811
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   812
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   813
        windowID: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   814
        which, state: LongWord;
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   815
        x, y, xrel, yrel: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   816
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   817
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   818
    TSDL_MouseButtonEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   819
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   820
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   821
        windowID: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   822
        which: LongWord;
6917
4889c2b779b4 - change uKeys to be event based rather than polling
Xeli
parents: 6900
diff changeset
   823
        button, state, padding1, padding2: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   824
        x, y: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   825
        end;
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   826
6283
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   827
    TSDL_MouseWheelEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   828
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   829
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   830
        windowID: LongWord;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   831
        which: LongWord;
6283
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   832
        x, y: LongInt;
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   833
        end;
6ec7bf51e04f oops, fix the size of a few event structs i just added
koda
parents: 6282
diff changeset
   834
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   835
    TSDL_JoyAxisEvent = record
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   836
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   837
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   838
        which: TSDL_JoystickID;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   839
        axis: Byte;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   840
        padding1, padding2, padding3: Byte;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   841
        value: SmallInt;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   842
        padding4: Word;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   843
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   844
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   845
    TSDL_JoyBallEvent = record
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   846
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   847
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   848
        which: TSDL_JoystickID;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   849
        ball: Byte;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   850
        padding1, padding2, padding3: Byte;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   851
        xrel, yrel: SmallInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   852
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   853
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   854
    TSDL_JoyHatEvent = record
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   855
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   856
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   857
        which: TSDL_JoystickID;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   858
        hat: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   859
        value: Byte;
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   860
        padding1, padding2: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   861
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   862
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   863
    TSDL_JoyButtonEvent = record
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   864
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   865
        timestamp: LongWord;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   866
        which: TSDL_JoystickID;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   867
        button: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   868
        state: Byte;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   869
        padding1: Byte;
13518
122e08d45caa Fix broken controller/joystick button and axis events
Wuzzy <Wuzzy2@mail.ru>
parents: 13506
diff changeset
   870
        padding2: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   871
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   872
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   873
    TSDL_QuitEvent = record
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   874
        type_: LongWord;
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   875
        timestamp: LongWord;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   876
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   877
4454
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   878
    TSDL_UserEvent = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   879
        type_: LongWord;
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   880
        timestamp: LongWord;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   881
        windowID: LongWord;
4454
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   882
        code: LongInt;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   883
        data1, data2: Pointer;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   884
        end;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   885
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   886
    PSDL_Event = ^TSDL_Event;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   887
    TSDL_Event = record
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   888
        case LongInt of
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   889
            SDL_FIRSTEVENT: (type_: LongWord);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   890
            SDL_COMMONDEVENT: (common: TSDL_CommonEvent);
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   891
            SDL_WINDOWEVENT: (window: TSDL_WindowEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   892
            SDL_KEYDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   893
            SDL_KEYUP: (key: TSDL_KeyboardEvent);
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   894
            SDL_TEXTEDITING: (edit: TSDL_TextEditingEvent);
9697
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
   895
            SDL_TEXTINPUT: (text: TSDL_TextInputEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   896
            SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   897
            SDL_MOUSEBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   898
            SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   899
            SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   900
            SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   901
            SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   902
            SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   903
            SDL_JOYBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   904
            SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   905
            SDL_JOYDEVICEADDED,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   906
            SDL_JOYDEVICEREMOVED: (jdevice: TSDL_JoyDeviceEvent);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   907
            SDL_CONTROLLERAXISMOTION: (caxis: TSDL_ControllerAxisEvent);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   908
            SDL_CONTROLLERBUTTONUP,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   909
            SDL_CONTROLLERBUTTONDOWN: (cbutton: TSDL_ControllerButtonEvent);
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   910
            SDL_CONTROLLERDEVICEADDED,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   911
            SDL_CONTROLLERDEVICEREMAPPED,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   912
            SDL_CONTROLLERDEVICEREMOVED: (cdevice: TSDL_ControllerDeviceEvent);
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
   913
            SDL_QUITEV: (quit: TSDL_QuitEvent);
4454
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   914
            SDL_USEREVENT: (user: TSDL_UserEvent);
6282
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   915
            SDL_SYSWMEVENT: (syswm: TSDL_SysWMEvent);
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   916
            SDL_FINGERDOWN,
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   917
            SDL_FINGERUP,
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   918
            SDL_FINGERMOTION: (tfinger: TSDL_TouchFingerEvent);
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   919
            SDL_MULTIGESTURE: (mgesture: TSDL_MultiGestureEvent);
de449b2d9607 just for the sake of it, add the missing sdl13 events and do some cleanup
koda
parents: 6281
diff changeset
   920
            SDL_DOLLARGESTURE: (dgesture: TSDL_DollarGestureEvent);
6551
a2f39cb9af62 fix a couple of loose ends: sdl_mixer is informed of that OGG is provided by Tremor with its own macro, there is no more a segfault on Tremor cleanup, added new event type and timestamp entry for SDL, removed spurious characters from the japanese translation, uSound errors now are output with SDLTry, uSound doesn't need sound preloading any more
koda
parents: 6415
diff changeset
   921
            SDL_DROPFILE: (drop: TSDL_DropEvent);
6280
3725cfec4542 Avoid overflowing event
nemo
parents: 6072
diff changeset
   922
            SDL_ALLEVENTS: (foo: shortstring);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   923
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   924
5745
71e69623be39 allow fullscreen resolution selection (but still leaves in the auto max for commodity)
koda
parents: 5724
diff changeset
   925
    TSDL_EventFilter = function( event : PSDL_Event ): Integer; cdecl;
71e69623be39 allow fullscreen resolution selection (but still leaves in the auto max for commodity)
koda
parents: 5724
diff changeset
   926
7035
823caba67738 Reflects change in previous revision to uTypes
nemo
parents: 7016
diff changeset
   927
    TByteArray = array[0..65535] of Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   928
    PByteArray = ^TByteArray;
8026
4a4f21070479 merge xymeng's gsoc engine with a few updates (and further checks on symbol definitions)
koda
parents: 7565
diff changeset
   929
7035
823caba67738 Reflects change in previous revision to uTypes
nemo
parents: 7016
diff changeset
   930
    TLongWordArray = array[0..16383] of LongWord;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   931
    PLongWordArray = ^TLongWordArray;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   932
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   933
    PSDL_Thread = Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   934
    PSDL_mutex = Pointer;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   935
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   936
    TSDL_GLattr = (
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   937
        SDL_GL_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   938
        SDL_GL_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   939
        SDL_GL_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   940
        SDL_GL_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   941
        SDL_GL_BUFFER_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   942
        SDL_GL_DOUBLEBUFFER,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   943
        SDL_GL_DEPTH_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   944
        SDL_GL_STENCIL_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   945
        SDL_GL_ACCUM_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   946
        SDL_GL_ACCUM_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   947
        SDL_GL_ACCUM_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   948
        SDL_GL_ACCUM_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   949
        SDL_GL_STEREO,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   950
        SDL_GL_MULTISAMPLEBUFFERS,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   951
        SDL_GL_MULTISAMPLESAMPLES,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   952
        SDL_GL_ACCELERATED_VISUAL,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   953
        SDL_GL_RETAINED_BACKING,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   954
        SDL_GL_CONTEXT_MAJOR_VERSION,
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   955
        SDL_GL_CONTEXT_MINOR_VERSION,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   956
        SDL_GL_CONTEXT_EGL,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   957
        SDL_GL_CONTEXT_FLAGS,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   958
        SDL_GL_CONTEXT_PROFILE_MASK,
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   959
        SDL_GL_SHARE_WITH_CURRENT_CONTEXT
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   960
        );
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   961
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   962
    TSDL_ArrayByteOrder = (  // array component order, low Byte -> high Byte
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   963
        SDL_ARRAYORDER_NONE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   964
        SDL_ARRAYORDER_RGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   965
        SDL_ARRAYORDER_RGBA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   966
        SDL_ARRAYORDER_ARGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   967
        SDL_ARRAYORDER_BGR,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   968
        SDL_ARRAYORDER_BGRA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   969
        SDL_ARRAYORDER_ABGR
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   970
        );
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   971
9311
5baf10a52f43 engine uses final (?) SDL 2 APIs, new events and types added. Touch input broke by the way, and system events should be handled differently
koda
parents: 9224
diff changeset
   972
    // Joystick/Controller support
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   973
    PSDL_Joystick = ^TSDL_Joystick;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   974
    TSDL_Joystick = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   975
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   976
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   977
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   978
    PTTF_Font = ^TTTF_font;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   979
    TTTF_Font = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   980
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   981
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   982
    {* SDL_mixer *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   983
    PMixChunk = ^TMixChunk;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   984
    TMixChunk = record
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   985
        allocated: LongWord;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   986
        abuf     : PByte;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
   987
        alen     : LongWord;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   988
        volume   : PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   989
        end;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   990
    TMusic = (MUS_CMD, MUS_WAV, MUS_MOD, MUS_MID, MUS_OGG, MUS_MP3);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   991
    TMix_Fading = (MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   992
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   993
    TMidiSong = record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
   994
                samples : LongInt;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
   995
                events  : Pointer;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
   996
                end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   997
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   998
    TMusicUnion = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   999
        case Byte of
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1000
            0: ( midi : TMidiSong );
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1001
            1: ( ogg  : Pointer);
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1002
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1003
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1004
    PMixMusic = ^TMixMusic;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1005
    TMixMusic = record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1006
                end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1007
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
  1008
    TPostMix = procedure(udata: Pointer; stream: PByte; len: LongInt); cdecl;
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1009
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1010
    {* SDL_net *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1011
    TIPAddress = record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1012
                host: LongWord;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1013
                port: Word;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1014
                end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1015
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1016
    PTCPSocket = ^TTCPSocket;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1017
    TTCPSocket = record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1018
                ready: LongInt;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1019
                channel: LongInt;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1020
                remoteAddress: TIPaddress;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1021
                localAddress: TIPaddress;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1022
                sflag: LongInt;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1023
                end;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1024
    PSDLNet_SocketSet = ^TSDLNet_SocketSet;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1025
    TSDLNet_SocketSet = record
6580
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1026
                        numsockets,
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1027
                        maxsockets: LongInt;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1028
                        sockets: PTCPSocket;
6155187bf599 A partial reformatting of the pascal code to have consistent syntax. Things that are still inconsistent.
lovelacer
parents: 6551
diff changeset
  1029
                        end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1030
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
  1031
{$IFDEF WINDOWS}
11533
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1032
     TThreadFunction = function (p: pointer): Longword; stdcall;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1033
     pfnSDL_CurrentBeginThread = function (
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1034
        _Security: pointer; 
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1035
        _StackSize: LongWord;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1036
        _StartAddress: TThreadFunction;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1037
        _ArgList: pointer;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1038
        _InitFlag: Longword;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1039
        _ThrdAddr: PLongword): PtrUInt; cdecl;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1040
    pfnSDL_CurrentEndThread = procedure (_Retval: LongInt); cdecl;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1041
{$ENDIF} 
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1042
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1043
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1044
/////////////////////  FUNCTION DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1045
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1046
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1047
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1048
{* SDL *}
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1049
function  SDL_Init(flags: LongWord): LongInt; cdecl; external SDLLibName;
2674
2fce032f2f95 lupdate + Palewolf's updated spanish translation + other patches of mine
koda
parents: 2671
diff changeset
  1050
function  SDL_InitSubSystem(flags: LongWord): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1051
procedure SDL_Quit; cdecl; external SDLLibName;
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
  1052
11363
9006e158a81f use SDL2 to paste clipboard contents
sheepluva
parents: 11362
diff changeset
  1053
procedure SDL_free(mem: Pointer); cdecl; external SDLLibName;
9006e158a81f use SDL2 to paste clipboard contents
sheepluva
parents: 11362
diff changeset
  1054
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1055
procedure SDL_Delay(msec: LongWord); cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1056
function  SDL_GetTicks: LongWord; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1057
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1058
function  SDL_MustLock(Surface: PSDL_Surface): Boolean;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
  1059
function  SDL_LockSurface(Surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1060
procedure SDL_UnlockSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1061
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1062
function  SDL_GetError: PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1063
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1064
function  SDL_CreateRGBSurface(flags: LongWord; Width, Height, Depth: LongInt; RMask, GMask, BMask, AMask: LongWord): PSDL_Surface; cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1065
function  SDL_CreateRGBSurfaceFrom(pixels: Pointer; width, height, depth, pitch: LongInt; RMask, GMask, BMask, AMask: LongWord): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1066
procedure SDL_FreeSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1067
function  SDL_SetColorKey(surface: PSDL_Surface; flag, key: LongWord): LongInt; cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1068
function  SDL_SetAlpha(surface: PSDL_Surface; flag, key: LongWord): LongInt; cdecl; external SDLLibName;
12102
51596d30a724 fix chat SDL surfaces being in wrong color format (didn't play well with copyToXY's new quick pixel copies)
sheepluva
parents: 11686
diff changeset
  1069
function  SDL_ConvertSurface(src: PSDL_Surface; fmt: PSDL_PixelFormat; flags: LongWord): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1070
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
  1071
function  SDL_UpperBlit(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1072
function  SDL_FillRect(dst: PSDL_Surface; dstrect: PSDL_Rect; color: LongWord): LongInt; cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1073
procedure SDL_UpdateRect(Screen: PSDL_Surface; x, y: LongInt; w, h: LongWord); cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
  1074
function  SDL_Flip(Screen: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1075
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1076
procedure SDL_GetRGB(pixel: LongWord; fmt: PSDL_PixelFormat; r, g, b: PByte); cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1077
procedure SDL_GetRGBA(pixel: LongWord; fmt: PSDL_PixelFormat; r, g, b, a: PByte); cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1078
function  SDL_MapRGB(format: PSDL_PixelFormat; r, g, b: Byte): LongWord; cdecl; external SDLLibName;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1079
function  SDL_MapRGBA(format: PSDL_PixelFormat; r, g, b, a: Byte): LongWord; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1080
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1081
function  SDL_DisplayFormat(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
35
9367f246fb5f - New rope
unc0rr
parents: 11
diff changeset
  1082
function  SDL_DisplayFormatAlpha(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1083
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1084
function  SDL_RWFromFile(filename, mode: PChar): PSDL_RWops; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
  1085
function  SDL_SaveBMP_RW(surface: PSDL_Surface; dst: PSDL_RWops; freedst: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1086
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1087
function  SDL_CreateWindow(title: PChar; x,y,w,h: LongInt; flags: LongWord): PSDL_Window; cdecl; external SDLLibName;
11373
011c5cc195cc set engine window icon in sdl2
sheepluva
parents: 11371
diff changeset
  1088
procedure SDL_SetWindowIcon(window: PSDL_Window; icon: PSDL_Surface); cdecl; external SDLLibName;
011c5cc195cc set engine window icon in sdl2
sheepluva
parents: 11371
diff changeset
  1089
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1090
function  SDL_CreateRenderer(window: PSDL_Window; index: LongInt; flags: LongWord): PSDL_Renderer; cdecl; external SDLLibName;
5486
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
  1091
function  SDL_DestroyWindow(window: PSDL_Window): LongInt; cdecl; external SDLLibName;
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
  1092
function  SDL_DestroyRenderer(renderer: PSDL_Renderer): LongInt; cdecl; external SDLLibName;
11518
02a13be714d2 SDL2: fix toggling fullscreen. dunno how well this works on non-linux-OS
sheepluva
parents: 11500
diff changeset
  1093
procedure SDL_SetWindowPosition(window: PSDL_Window; w, h: LongInt); cdecl; external SDLLibName;
6021
652a199d4f38 some hopefully harmless experiments
koda
parents: 6013
diff changeset
  1094
procedure SDL_SetWindowSize(window: PSDL_Window; w, h: LongInt); cdecl; external SDLLibName;
11518
02a13be714d2 SDL2: fix toggling fullscreen. dunno how well this works on non-linux-OS
sheepluva
parents: 11500
diff changeset
  1095
procedure SDL_SetWindowFullscreen(window: PSDL_Window; flags: LongWord); cdecl; external SDLLibName;
6281
dc9c44f47e75 avoid linking compatible code from sdl library, let's provide our own
koda
parents: 6280
diff changeset
  1096
function  SDL_GetCurrentVideoDriver:Pchar; cdecl; external SDLLibName;
5486
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
  1097
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
  1098
function  SDL_GL_CreateContext(window: PSDL_Window): PSDL_GLContext; cdecl; external SDLLibName;
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
  1099
procedure SDL_GL_DeleteContext(context: PSDL_GLContext); cdecl; external SDLLibName;
9684
8113075dc7cc Fix SDL_GL_SwapWindow, engine renders graphics now
unc0rr
parents: 9679
diff changeset
  1100
procedure SDL_GL_SwapWindow(window: PSDL_Window); cdecl; external SDLLibName;
5505
a55aab592950 Ditch the renderer system in sdl1.3 and use the 'old fashioned' sdl/opengl context. This gives us more flexibility and less problem in receiving video events (expecially on mobile platform) as well as not having to care to reset the gl context every time sdl interferes.
koda
parents: 5486
diff changeset
  1101
function  SDL_GL_SetSwapInterval(interval: LongInt): LongInt; cdecl; external SDLLibName;
5177
b850b544addc remove unusued voices also for ios
koda
parents: 5103
diff changeset
  1102
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
  1103
procedure SDL_VideoQuit; cdecl; external SDLLibName;
4911
5d10bd725efe update libs and move the multiwindow handling from internal libsdl mods to proper apis usage
koda
parents: 4454
diff changeset
  1104
function  SDL_GetNumVideoDisplays: LongInt; cdecl; external SDLLibName;
5486
e75f7c3c6275 ios: this should prevent at least one of the crashes zorg spotted; also added some callbacks in SDLh; also polished project file (from -O2 to -Os)
koda
parents: 5187
diff changeset
  1105
procedure SDL_ShowWindow(window: PSDL_Window); cdecl; external SDLLibName;
2716
b9ca1bfca24f complete the replacement of init/free wrappers for every unit
koda
parents: 2714
diff changeset
  1106
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1107
function  SDL_SetRenderDrawColor(renderer: PSDL_Renderer; r,g,b,a: Byte): LongInt; cdecl; external SDLLibName;
5187
b01ab1ef01fb make sdl1.3 window creation code more readable
koda
parents: 5177
diff changeset
  1108
function  SDL_GetRenderer(window: PSDL_Window): PSDL_Renderer; cdecl; external SDLLibName;
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
  1109
function  SDL_RenderFillRect(renderer: PSDL_Renderer; rect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
  1110
function  SDL_RenderClear(renderer: PSDL_Renderer): LongInt; cdecl; external SDLLibName;
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
  1111
procedure SDL_RenderPresent(renderer: PSDL_Renderer); cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1112
function  SDL_RenderReadPixels(renderer: PSDL_Renderer; rect: PSDL_Rect; format: LongInt; pixels: Pointer; pitch: LongInt): LongInt; cdecl; external SDLLibName;
5187
b01ab1ef01fb make sdl1.3 window creation code more readable
koda
parents: 5177
diff changeset
  1113
function  SDL_RenderSetViewport(window: PSDL_Window; rect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
  1114
14808
9443dc6663ba Refactor mouse movement handling
Wuzzy <Wuzzy2@mail.ru>
parents: 14199
diff changeset
  1115
function  SDL_SetRelativeMouseMode(enabled: TSDL_bool): LongInt; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
  1116
function  SDL_GetRelativeMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1117
function  SDL_PixelFormatEnumToMasks(format: TSDL_ArrayByteOrder; bpp: PLongInt; Rmask, Gmask, Bmask, Amask: PLongInt): Boolean; cdecl; external SDLLibName;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
  1118
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
  1119
procedure SDL_WarpMouseInWindow(window: PSDL_Window; x, y: LongInt); cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1120
function  SDL_SetHint(name, value: PChar): Boolean; cdecl; external SDLLibName;
6281
dc9c44f47e75 avoid linking compatible code from sdl library, let's provide our own
koda
parents: 6280
diff changeset
  1121
procedure SDL_StartTextInput; cdecl; external SDLLibName;
9697
198c3ed28fe8 All I want is to receive some events...
unc0rr
parents: 9684
diff changeset
  1122
procedure SDL_StopTextInput; cdecl; external SDLLibName;
12846
e5c461729fe3 Fix chat input key being sometimes registered twice
alfadur
parents: 12831
diff changeset
  1123
procedure SDL_FlushEvent(eventType: LongWord); cdecl; external SDLLibName;
5724
3064ed85a5bd Changed SDL_PollEvent to SDL_PeepEvents
Xeli
parents: 5670
diff changeset
  1124
6974
2d3beb445d64 minor changes for more compatibilities with other compilers
koda
parents: 6972
diff changeset
  1125
function  SDL_PeepEvents(event: PSDL_Event; numevents: LongInt; action: TSDL_eventaction; minType, maxType: LongWord): LongInt; cdecl; external SDLLibName;
9317
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1126
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1127
function  SDL_AllocFormat(format: LongWord): PSDL_PixelFormat; cdecl; external SDLLibName;
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1128
procedure SDL_FreeFormat(pixelformat: PSDL_PixelFormat); cdecl; external SDLLibName;
2714
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
  1129
8865
dd4035ee0f12 use SDL_Threads everywhere
koda
parents: 8777
diff changeset
  1130
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
  1131
function  SDL_GetMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
11365
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
  1132
function  SDL_GetKeyName(key: TSDL_Keycode): PChar; cdecl; external SDLLibName;
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
  1133
function  SDL_GetScancodeName(key: TSDL_Scancode): PChar; cdecl; external SDLLibName;
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
  1134
function  SDL_GetKeyFromScancode(key: TSDL_Scancode): TSDL_Keycode; cdecl; external SDLLibName;
b8b208501475 reenable cursor movement etc.
sheepluva
parents: 11364
diff changeset
  1135
// SDL2 functions has some additional functions (not listed here) for keycode/scancode translation
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1136
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
  1137
procedure SDL_PumpEvents; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
  1138
function  SDL_PollEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
2590
e7e87e3c67db touch control completely revamped
koda
parents: 2586
diff changeset
  1139
function  SDL_WaitEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1140
procedure SDL_SetEventFilter(filter: TSDL_EventFilter); cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1141
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
  1142
function  SDL_ShowCursor(toggle: LongInt): LongInt; cdecl; external SDLLibName;
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
  1143
procedure SDL_WarpMouse(x, y: Word); inline;
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
  1144
11368
c481d087f653 cmake tweaks. make pas2c build with sdl2 (keycodes or something still missing)
sheepluva
parents: 11365
diff changeset
  1145
function  SDL_GetKeyboardState(numkeys: PLongInt): PByteArray; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1146
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1147
procedure SDL_WM_SetIcon(icon: PSDL_Surface; mask : Byte); cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1148
procedure SDL_WM_SetCaption(title: PChar; icon: PChar); cdecl; external SDLLibName;
2674
2fce032f2f95 lupdate + Palewolf's updated spanish translation + other patches of mine
koda
parents: 2671
diff changeset
  1149
function  SDL_WM_ToggleFullScreen(surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1150
8865
dd4035ee0f12 use SDL_Threads everywhere
koda
parents: 8777
diff changeset
  1151
9317
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1152
(* remember to mark the threaded functions as 'cdecl; export;'
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1153
   (or have fun debugging nil arguments) *)
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
  1154
{$IFDEF WINDOWS}
11533
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1155
// SDL uses wrapper in windows
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1156
function  SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer; bt: pfnSDL_CurrentBeginThread; et: pfnSDL_CurrentEndThread): PSDL_Thread; cdecl; external SDLLibName;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1157
function  SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl; overload;
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1158
{$ELSE}
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
  1159
function  SDL_CreateThread(fn: Pointer; name: PChar; data: Pointer): PSDL_Thread; cdecl; external SDLLibName;
11533
3189bf281000 Fix SDL_CreateThread in windows
unC0Rr
parents: 11518
diff changeset
  1160
{$ENDIF}
6330
1bde8940e1bb merge fix
Xeli
parents: 6328
diff changeset
  1161
procedure SDL_WaitThread(thread: PSDL_Thread; status: PLongInt); cdecl; external SDLLibName;
8865
dd4035ee0f12 use SDL_Threads everywhere
koda
parents: 8777
diff changeset
  1162
procedure SDL_KillThread(thread: PSDL_Thread); cdecl; external SDLLibName;
dd4035ee0f12 use SDL_Threads everywhere
koda
parents: 8777
diff changeset
  1163
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
  1164
function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
  1165
procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
11360
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
  1166
function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName;
7a7611adf715 drop support for SDL 1.2
sheepluva
parents: 9697
diff changeset
  1167
function  SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName;
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
  1168
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
  1169
function  SDL_GL_SetAttribute(attr: TSDL_GLattr; value: LongInt): LongInt; cdecl; external SDLLibName;
7016
8b34f46e10c1 HAPPY 7000th COMMIT HEDGEWARS
koda
parents: 6990
diff changeset
  1170
procedure SDL_GL_SwapBuffers; cdecl; external SDLLibName;
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
  1171
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1172
procedure SDL_LockAudio; cdecl; external SDLLibName;
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1173
procedure SDL_UnlockAudio; cdecl; external SDLLibName;
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1174
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1175
function  SDL_NumJoysticks: LongInt; cdecl; external SDLLibName;
13490
4faebbf9c44f Fix hwengine crash when using >1 controllers
Wuzzy <Wuzzy2@mail.ru>
parents: 12846
diff changeset
  1176
function  SDL_JoystickNameForIndex(idx: LongInt): PChar; cdecl; external SDLLibName;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1177
function  SDL_JoystickOpen(idx: LongInt): PSDL_Joystick; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1178
function  SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1179
function  SDL_JoystickIndex(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1180
function  SDL_JoystickNumAxes(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1181
function  SDL_JoystickNumBalls(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1182
function  SDL_JoystickNumHats(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1183
function  SDL_JoystickNumButtons(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
  1184
procedure SDL_JoystickUpdate; cdecl; external SDLLibName;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1185
function  SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1186
function  SDL_JoystickGetAxis(joy: PSDL_Joystick; axis: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1187
function  SDL_JoystickGetBall(joy: PSDL_Joystick; ball: LongInt; dx: PInteger; dy: PInteger): Word; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1188
function  SDL_JoystickGetHat(joy: PSDL_Joystick; hat: LongInt): Byte; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1189
function  SDL_JoystickGetButton(joy: PSDL_Joystick; button: LongInt): Byte; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
  1190
procedure SDL_JoystickClose(joy: PSDL_Joystick); cdecl; external SDLLibName;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
  1191
14199
3c36a4e66c82 make engine windows checks work for 64bit builds
alfadur
parents: 13568
diff changeset
  1192
{$IFDEF WINDOWS}
3153
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
  1193
function SDL_putenv(const text: PChar): LongInt; cdecl; external SDLLibName;
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
  1194
function SDL_getenv(const text: PChar): PChar; cdecl; external SDLLibName;
5565
1a326ba319c9 smaller code cleanup
koda
parents: 5505
diff changeset
  1195
{$ENDIF}
3153
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
  1196
7167
0b3b306f129a Android: added a callback to java to determine dpi/dip how much we should scale the ui
Xeli
parents: 7049
diff changeset
  1197
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
  1198
(*  SDL_ttf  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1199
function  TTF_Init: LongInt; cdecl; external SDL_TTFLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1200
procedure TTF_Quit; cdecl; external SDL_TTFLibName;
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
  1201
6286
835392304f81 and while we are giving SDLh.pas all this love, let's fix the signature of one SDL_ttf calls
koda
parents: 6285
diff changeset
  1202
function  TTF_SizeUTF8(font: PTTF_Font; const text: PChar; w, h: PLongInt): LongInt; cdecl; external SDL_TTFLibName;
2665
50b4e544c163 complete transition of longword->sdl_color for TTF bindings
koda
parents: 2664
diff changeset
  1203
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
  1204
function  TTF_RenderUTF8_Solid(font: PTTF_Font; const text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_TTFLibName;
2665
50b4e544c163 complete transition of longword->sdl_color for TTF bindings
koda
parents: 2664
diff changeset
  1205
function  TTF_RenderUTF8_Blended(font: PTTF_Font; const text: PChar; fg: TSDL_Color): PSDL_Surface; cdecl; external SDL_TTFLibName;
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
  1206
function  TTF_RenderUTF8_Shaded(font: PTTF_Font; const text: PChar; fg, bg: TSDL_Color): PSDL_Surface; cdecl; external SDL_TTFLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1207
8028
dc30104660d3 Engine loads fine with basic config
unc0rr
parents: 8025
diff changeset
  1208
function  TTF_OpenFontRW(src: PSDL_RWops; freesrc: LongBool; size: LongInt): PTTF_Font; cdecl; external SDL_TTFLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1209
procedure TTF_SetFontStyle(font: PTTF_Font; style: LongInt); cdecl; external SDL_TTFLibName;
10640
efa069762cb2 clean up fonts
sheepluva
parents: 10108
diff changeset
  1210
procedure TTF_CloseFont(font: PTTF_Font); cdecl; external SDL_TTFLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1211
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1212
(*  SDL_mixer  *)
11392
f4e19cd88747 cmake: Drop image and mixer init and quit check
koda
parents: 11375
diff changeset
  1213
function  Mix_Init(flags: LongInt): LongInt; cdecl; external SDL_MixerLibName;
f4e19cd88747 cmake: Drop image and mixer init and quit check
koda
parents: 11375
diff changeset
  1214
procedure Mix_Quit; cdecl; external SDL_MixerLibName;
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
  1215
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1216
function  Mix_OpenAudio(frequency: LongInt; format: Word; channels: LongInt; chunksize: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1217
procedure Mix_CloseAudio; cdecl; external SDL_MixerLibName;
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1218
function  Mix_QuerySpec(frequency: PLongInt; format: PWord; channels: PLongInt): LongInt; cdecl; external SDL_MixerLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1219
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1220
function  Mix_Volume(channel: LongInt; volume: LongInt): LongInt; cdecl; external SDL_MixerLibName;
2665
50b4e544c163 complete transition of longword->sdl_color for TTF bindings
koda
parents: 2664
diff changeset
  1221
function  Mix_SetDistance(channel: LongInt; distance: Byte): LongInt; cdecl; external SDL_MixerLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1222
function  Mix_VolumeMusic(volume: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1223
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1224
function  Mix_AllocateChannels(numchans: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1225
procedure Mix_FreeChunk(chunk: PMixChunk); cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1226
procedure Mix_FreeMusic(music: PMixMusic); cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1227
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1228
function  Mix_LoadWAV_RW(src: PSDL_RWops; freesrc: LongInt): PMixChunk; cdecl; external SDL_MixerLibName;
8046
4d3415927d2c Use (undocumented) Mix_LoadMUS_RW to load music
unc0rr
parents: 8028
diff changeset
  1229
function  Mix_LoadMUS_RW(src: PSDL_RWops): PMixMusic; cdecl; external SDL_MixerLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1230
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1231
function  Mix_Playing(channel: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1232
function  Mix_PlayingMusic: LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1233
function  Mix_FadeInMusic(music: PMixMusic; loops: LongInt; ms: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1234
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1235
function  Mix_PlayChannelTimed(channel: LongInt; chunk: PMixChunk; loops: LongInt; ticks: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1236
function  Mix_PlayMusic(music: PMixMusic; loops: LongInt): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1237
function  Mix_PausedMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1238
function  Mix_PauseMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1239
function  Mix_ResumeMusic(music: PMixMusic): LongInt; cdecl; external SDL_MixerLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1240
function  Mix_HaltChannel(channel: LongInt): LongInt; cdecl; external SDL_MixerLibName;
6362
ceacd1b61833 modify ReleaseSound so that it performs a partial release of unused sounds, useful for responding to memory warnings
koda
parents: 6329
diff changeset
  1241
function  Mix_HaltMusic: LongInt; cdecl; external SDL_MixerLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1242
4956
48e1f9a04c28 usound: added function for loops with fade in and out
koda
parents: 4933
diff changeset
  1243
function  Mix_FadeInChannelTimed(channel: LongInt; chunk: PMixChunk; loops: LongInt; fadems: LongInt; ticks: LongInt): LongInt; cdecl; external SDL_MixerLibName;
48e1f9a04c28 usound: added function for loops with fade in and out
koda
parents: 4933
diff changeset
  1244
function  Mix_FadeOutChannel(channel: LongInt; fadems: LongInt): LongInt; cdecl; external SDL_MixerLibName;
48e1f9a04c28 usound: added function for loops with fade in and out
koda
parents: 4933
diff changeset
  1245
9333
972fa9ecd587 sdl2 update and typos
koda
parents: 9319
diff changeset
  1246
procedure Mix_SetPostMix( mix_func: TPostMix; arg: Pointer); cdecl; external SDL_MixerLibName;
7180
53ffc8853008 here it is
Stepan777 <stepik-777@mail.ru>
parents: 7167
diff changeset
  1247
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1248
(*  SDL_image  *)
11392
f4e19cd88747 cmake: Drop image and mixer init and quit check
koda
parents: 11375
diff changeset
  1249
function  IMG_Init(flags: LongInt): LongInt; cdecl; external SDL_ImageLibName;
f4e19cd88747 cmake: Drop image and mixer init and quit check
koda
parents: 11375
diff changeset
  1250
procedure IMG_Quit; cdecl; external SDL_ImageLibName;
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
  1251
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1252
function  IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
8022
10b3b93c1f56 - Add physfsrwops library
unc0rr
parents: 7565
diff changeset
  1253
function  IMG_Load_RW(rwop: PSDL_RWops; freesrc: LongBool): PSDL_Surface; cdecl; external SDL_ImageLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1254
function  IMG_LoadPNG_RW(rwop: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
8022
10b3b93c1f56 - Add physfsrwops library
unc0rr
parents: 7565
diff changeset
  1255
function  IMG_LoadTyped_RW(rwop: PSDL_RWops; freesrc: LongBool; type_: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
15314
fe705efbfc52 remove direct libpng dependency on windows
alfadur
parents: 14831
diff changeset
  1256
function IMG_SavePNG(surface: PSDL_Surface; const _file: PChar): LongInt; cdecl; external SDL_ImageLibName;
2592
d86618629e20 fix missing land on ppc
koda
parents: 2591
diff changeset
  1257
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1258
(*  SDL_net  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1259
function  SDLNet_Init: LongInt; cdecl; external SDL_NetLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1260
procedure SDLNet_Quit; cdecl; external SDL_NetLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1261
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1262
function  SDLNet_AllocSocketSet(maxsockets: LongInt): PSDLNet_SocketSet; cdecl; external SDL_NetLibName;
2671
7e0f88013fe8 smaller patches, one missing Sky-lowres, IMG_Init and Mix_Init (might require newer libraries), updates to SDL bindings, code cleanup, new compile flags
koda
parents: 2669
diff changeset
  1263
function  SDLNet_ResolveHost(var address: TIPaddress; host: PChar; port: Word): LongInt; cdecl; external SDL_NetLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1264
function  SDLNet_TCP_Accept(server: PTCPsocket): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1265
function  SDLNet_TCP_Open(var ip: TIPaddress): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1266
function  SDLNet_TCP_Send(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1267
function  SDLNet_TCP_Recv(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1268
procedure SDLNet_TCP_Close(sock: PTCPsocket); cdecl; external SDL_NetLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1269
procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1270
function  SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
  1271
function  SDLNet_CheckSockets(_set: PSDLNet_SocketSet; timeout: LongInt): LongInt; cdecl; external SDL_NetLibName;
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
  1272
11363
9006e158a81f use SDL2 to paste clipboard contents
sheepluva
parents: 11362
diff changeset
  1273
// SDL 2 clipboard functions
9006e158a81f use SDL2 to paste clipboard contents
sheepluva
parents: 11362
diff changeset
  1274
function SDL_HasClipboardText(): Boolean; cdecl; external SDLLibName;
11364
b0df3f2fcafc use SDL2 to copy to clipboard
sheepluva
parents: 11363
diff changeset
  1275
// returns nil if memory for clipboard contents copy couldn't be allocated
11363
9006e158a81f use SDL2 to paste clipboard contents
sheepluva
parents: 11362
diff changeset
  1276
function SDL_GetClipboardText(): PChar; cdecl; external SDLLibName;
11364
b0df3f2fcafc use SDL2 to copy to clipboard
sheepluva
parents: 11363
diff changeset
  1277
// returns 0 on success or negative error number on failure
b0df3f2fcafc use SDL2 to copy to clipboard
sheepluva
parents: 11363
diff changeset
  1278
function SDL_SetClipboardText(const text: PChar): LongInt; cdecl; external SDLLibName;
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
  1279
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1280
procedure SDLNet_Write16(value: Word; buf: Pointer);
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1281
procedure SDLNet_Write32(value: LongWord; buf: Pointer);
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1282
function  SDLNet_Read16(buf: Pointer): Word;
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1283
function  SDLNet_Read32(buf: Pointer): LongWord;
3663
8c28abf427f5 reduce the number of keywords used and switch to BMP format for screenshots
koda
parents: 3598
diff changeset
  1284
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1285
implementation
9317
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1286
uses uStore;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
  1287
9317
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1288
// for sdl1.2 we directly call SDL_WarpMouse()
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1289
// for sdl2 we provide a SDL_WarpMouse() which calls the right SDL_WarpMouseInWindow() function
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1290
// this has the advantage of reducing 'uses' and 'ifdef' statements
a04c30940d2d use SDL2 as ifdef symbol because we're not really sdl1.3 compatible, change the compatibility layer, drop unused code, add some documentation
koda
parents: 9311
diff changeset
  1291
// (SDLwindow is a private member of uStore module)
7049
35d762458d66 minor changes for warnings and a variables scope
koda
parents: 7035
diff changeset
  1292
procedure SDL_WarpMouse(x, y: Word); inline;
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
  1293
begin
7049
35d762458d66 minor changes for warnings and a variables scope
koda
parents: 7035
diff changeset
  1294
    WarpMouse(x, y);
5046
fc6639d56799 this brings compatibility up with SDL HEAD (5504), but maybe breaks compatibility with sdl 1.2 so please test! still has problems with keyboard input and rendered ttf textures
koda
parents: 5041
diff changeset
  1295
end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1296
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1297
function SDL_MustLock(Surface: PSDL_Surface): Boolean;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1298
begin
6072
e3dc802965d6 a little code cleanup
koda
parents: 6021
diff changeset
  1299
    SDL_MustLock:=
e3dc802965d6 a little code cleanup
koda
parents: 6021
diff changeset
  1300
        ((surface^.flags and SDL_RLEACCEL) <> 0)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1301
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
  1302
6284
f571ba93d9db fix signedness of sdl bindings
koda
parents: 6283
diff changeset
  1303
procedure SDLNet_Write16(value: Word; buf: Pointer);
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
  1304
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1305
    PByteArray(buf)^[1]:= value;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
  1306
    PByteArray(buf)^[0]:= value shr 8
459 <