hedgewars/SDLh.pas
author nemo
Mon, 20 Jun 2011 09:32:31 -0400
changeset 5267 e9ae019e9bb4
parent 5187 b01ab1ef01fb
child 5286 22c1f4833a86
child 5486 e75f7c3c6275
permissions -rw-r--r--
move smoothing into separate function, adjust call order
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
4976
088d40d8aba2 Happy 2011 :)
koda
parents: 4956
diff changeset
     3
 * Copyright (c) 2004-2011 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
57c2ef19f719 Relicense to GPL
unc0rr
parents: 174
diff changeset
    16
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
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}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    28
  {$DEFINE UNIX}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    29
{$ENDIF}
3385
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    30
{$IFDEF DARWIN}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    31
  {$DEFINE UNIX}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    32
{$ENDIF}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    33
{$IFDEF HAIKU}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    34
  {$DEFINE UNIX}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    35
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    36
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    37
{$IFDEF UNIX}
1903
64e56f19d6d6 Patch by koda
unc0rr
parents: 1880
diff changeset
    38
  {$IFNDEF DARWIN}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    39
    {$linklib c}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    40
  {$ENDIF}
3385
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    41
  {$IFDEF HAIKU}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    42
    {$linklib root}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    43
  {$ELSE}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    44
    {$linklib pthread}
361bd29293f4 add automatic rotation in ipad (landscape only)
koda
parents: 3354
diff changeset
    45
  {$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    46
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    47
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    48
{$IFDEF FPC}
2601
21ed7cec1fa2 fix iphone build
koda
parents: 2600
diff changeset
    49
  {$PACKRECORDS C}
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2601
diff changeset
    50
{$ELSE}
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2601
diff changeset
    51
  {$DEFINE cdecl attribute(cdecl)}
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    52
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    53
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    54
{$IFDEF DARWIN}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    55
  {$IFNDEF IPHONEOS}
2698
90585aba87ad objc/pascal finally working
koda
parents: 2697
diff changeset
    56
    {$PASCALMAINNAME SDL_main}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    57
    {$linkframework Cocoa}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    58
    {$linkframework SDL}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    59
    {$linkframework SDL_net}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    60
    {$linkframework SDL_image}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    61
    {$linkframework SDL_ttf}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    62
    {$linkframework SDL_mixer}
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
    63
    {$linkframework OpenGL}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    64
  {$ENDIF}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    65
{$ENDIF}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    66
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    67
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
    68
(*  SDL  *)
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    69
const
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    70
{$IFDEF WIN32}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    71
    SDLLibName = 'SDL.dll';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    72
    SDL_TTFLibName = 'SDL_ttf.dll';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    73
    SDL_MixerLibName = 'SDL_mixer.dll';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    74
    SDL_ImageLibName = 'SDL_image.dll';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    75
    SDL_NetLibName = 'SDL_net.dll';
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    76
{$ELSE}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    77
  {$IFDEF DARWIN}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    78
    SDLLibName = 'SDL';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    79
    SDL_TTFLibName = 'SDL_ttf';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    80
    SDL_MixerLibName = 'SDL_mixer';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    81
    SDL_ImageLibName = 'SDL_image';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    82
    SDL_NetLibName = 'SDL_net';
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    83
  {$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    84
    SDLLibName = 'libSDL.so';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    85
    SDL_TTFLibName = 'libSDL_ttf.so';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    86
    SDL_MixerLibName = 'libSDL_mixer.so';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    87
    SDL_ImageLibName = 'libSDL_image.so';
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    88
    SDL_NetLibName = 'libSDL_net.so';
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    89
  {$ENDIF}
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    90
{$ENDIF}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    91
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    92
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    93
/////////////////////  CONSTANT DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    94
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    95
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
    96
    // SDL_Init() flags
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
    97
    SDL_INIT_TIMER       = $00000001;
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
    98
    SDL_INIT_AUDIO       = $00000010;
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
    99
    SDL_INIT_VIDEO       = $00000020;
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
   100
    SDL_INIT_JOYSTICK    = $00000200;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   101
{$IFDEF SDL13}
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
   102
    SDL_INIT_HAPTIC      = $00001000;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   103
{$ELSE}
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
   104
    SDL_INIT_CDROM       = $00000100;
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
   105
    SDL_INIT_EVENTTHREAD = $01000000;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   106
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   107
    SDL_INIT_NOPARACHUTE = $00100000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   108
    SDL_INIT_EVERYTHING  = $0000FFFF;
2240
7ce9e6b7be3b -Removal of older WAV files, now useless thanks to OpenAL
koda
parents: 2200
diff changeset
   109
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
   110
    SDL_APPINPUTFOCUS    = $02;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   111
    SDL_BUTTON_WHEELUP   = 4;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   112
    SDL_BUTTON_WHEELDOWN = 5;
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   113
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   114
{$IFDEF SDL13}
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   115
    // SDL_Event types
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
   116
    SDL_FIRSTEVENT        = 0;
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
   117
    SDL_QUITEV            = $100;
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
   118
    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
   119
    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
   120
    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
   121
    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
   122
    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
   123
    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
   124
    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
   125
    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
   126
    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
   127
    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
   128
    SDL_INPUTMOTION       = $500;
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
   129
    SDL_INPUTBUTTONDOWN   = $501;
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
   130
    SDL_INPUTBUTTONUP     = $502;
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_INPUTWHEEL        = $503;
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_INPUTPROXIMITYIN  = $504;
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_INPUTPROXIMITYOUT = $505;
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_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
   135
    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
   136
    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
   137
    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
   138
    SDL_JOYBUTTONUP       = $604;
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
    //TODO: implement otheer event types
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_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
   141
    SDL_LASTEVENT         = $FFFF;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   142
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   143
    // SDL_Surface flags
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   144
    SDL_SWSURFACE   = $00000000;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   145
    SDL_PREALLOC    = $00000001;  //*< Surface uses preallocated memory */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   146
    SDL_RLEACCEL    = $00000002;  //*< Surface is RLE encoded */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   147
    SDL_DONTFREE    = $00000004;  //*< Surface is referenced internally */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   148
    SDL_SRCALPHA    = $00010000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   149
    SDL_SRCCOLORKEY = $00020000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   150
    SDL_ANYFORMAT   = $00100000;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   151
    SDL_HWPALETTE   = $00200000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   152
    SDL_DOUBLEBUF   = $00400000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   153
    SDL_FULLSCREEN  = $00800000;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   154
    SDL_RESIZABLE   = $01000000;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   155
    SDL_NOFRAME     = $02000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   156
    SDL_OPENGL      = $04000000;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   157
    SDL_HWSURFACE   = $08000001;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   158
    SDL_ASYNCBLIT   = $08000000;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   159
    SDL_RLEACCELOK  = $08000000;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   160
    SDL_HWACCEL     = $08000000;  //*< Not used */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   161
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_Renderer flags
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_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
   164
    SDL_RENDERER_ACCELERATED  = $00000002;     //*< The renderer uses hardware acceleration */
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
   165
    SDL_RENDERER_PRESENTVSYNC = $00000004;
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
   166
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   167
    // SDL_WindowFlags (enum)
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   168
    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
   169
    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
   170
    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
   171
    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
   172
    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
   173
    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
   174
    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
   175
    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
   176
    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
   177
    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
   178
    SDL_WINDOW_MOUSE_FOCUS   = $00000400;      //*< window has mouse focus */
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   179
    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
   180
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   181
    SDL_WINDOWPOS_CENTERED_MASK = $2FFF0000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   182
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   183
    // SDL_WindowEventID (enum)
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   184
    SDL_WINDOWEVENT_NONE         = 0;    //*< Never used
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   185
    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
   186
    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
   187
    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
   188
    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
   189
    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
   190
    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
   191
    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
   192
    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
   193
    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
   194
    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
   195
    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
   196
    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
   197
    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
   198
    SDL_WINDOWEVENT_CLOSE        = 14;   //*< The window manager requests that the window be closed */
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   199
{$ELSE}
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   200
    // SDL_Event types
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   201
    SDL_NOEVENT         = 0;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   202
    SDL_ACTIVEEVENT     = 1;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   203
    SDL_KEYDOWN         = 2;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   204
    SDL_KEYUP           = 3;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   205
    SDL_MOUSEMOTION     = 4;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   206
    SDL_MOUSEBUTTONDOWN = 5;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   207
    SDL_MOUSEBUTTONUP   = 6;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   208
    SDL_JOYAXISMOTION   = 7;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   209
    SDL_JOYBALLMOTION   = 8;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   210
    SDL_JOYHATMOTION    = 9;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   211
    SDL_JOYBUTTONDOWN   = 10;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   212
    SDL_JOYBUTTONUP     = 11;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   213
    SDL_QUITEV          = 12;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   214
    SDL_VIDEORESIZE     = 16; // TODO: outdated? no longer in SDL 1.3?
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   215
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   216
    // SDL_Surface flags
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   217
    SDL_SWSURFACE   = $00000000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   218
    SDL_HWSURFACE   = $00000001;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   219
    SDL_OPENGL      = $00000002;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   220
    SDL_ASYNCBLIT   = $00000004;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   221
    SDL_RESIZABLE   = $00000010;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   222
    SDL_NOFRAME     = $00000020;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   223
    SDL_HWACCEL     = $00000100;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   224
    SDL_SRCCOLORKEY = $00001000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   225
    SDL_RLEACCEL    = $00004000;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   226
    SDL_SRCALPHA    = $00010000;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   227
    SDL_ANYFORMAT   = $00100000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   228
    SDL_HWPALETTE   = $20000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   229
    SDL_DOUBLEBUF   = $40000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   230
    SDL_FULLSCREEN  = $80000000;
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   231
{$ENDIF}
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   232
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   233
{$IFDEF ENDIAN_LITTLE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   234
    RMask = $000000FF;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   235
    GMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   236
    BMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   237
    AMask = $FF000000;
5041
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   238
    RShift = 0;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   239
    GShift = 8;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   240
    BShift = 16;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   241
    AShift = 24;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   242
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   243
    RMask = $FF000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   244
    GMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   245
    BMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   246
    AMask = $000000FF;
5041
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   247
    RShift = 24;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   248
    GShift = 16;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   249
    BShift = 8;
3dc6ad20cbfe Fix endianness
nemo
parents: 5018
diff changeset
   250
    AShift = 0;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   251
{$ENDIF}
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
   252
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   253
    {* SDL_mixer *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   254
    MIX_MAX_VOLUME = 128;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   255
    MIX_INIT_FLAC  = $00000001;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   256
    MIX_INIT_MOD   = $00000002;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   257
    MIX_INIT_MP3   = $00000004;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   258
    MIX_INIT_OGG   = $00000008;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   259
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   260
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   261
    TTF_STYLE_NORMAL = 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   262
    TTF_STYLE_BOLD   = 1;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   263
    TTF_STYLE_ITALIC = 2;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   264
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   265
    {* SDL Joystick *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   266
    SDL_HAT_CENTERED  = $00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   267
    SDL_HAT_UP        = $01;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   268
    SDL_HAT_RIGHT     = $02;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   269
    SDL_HAT_DOWN      = $04;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   270
    SDL_HAT_LEFT      = $08;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   271
    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
   272
    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
   273
    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
   274
    SDL_HAT_LEFTDOWN  = SDL_HAT_LEFT  or SDL_HAT_DOWN;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   275
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   276
    {* SDL_image *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   277
    IMG_INIT_JPG = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   278
    IMG_INIT_PNG = $00000002;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   279
    IMG_INIT_TIF = $00000004;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   280
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   281
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   282
///////////////////////  TYPE DEFINITIONS ///////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   283
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   284
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   285
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
   286
{$IFDEF SDL13}
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
   287
    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
   288
    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
   289
    PSDL_Texture  = 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
   290
{$ENDIF}
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
   291
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   292
    PSDL_Rect = ^TSDL_Rect;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   293
    TSDL_Rect = record
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   294
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   295
        x, y, w, h: LongInt;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   296
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   297
        x, y: SmallInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   298
        w, h: Word;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   299
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   300
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   301
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   302
    TPoint = record
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
   303
        X, Y: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   304
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   305
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   306
    PSDL_PixelFormat = ^TSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   307
    TSDL_PixelFormat = record
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   308
{$IFDEF SDL13}
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   309
        format: 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
   310
        palette: Pointer;   // actually it is a PSDL_Palette
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
   311
        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
   312
        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
   313
        padding: array[0..1] of 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
   314
        RMask : Longword;
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
   315
        GMask : Longword;
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
   316
        BMask : Longword;
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
   317
        AMask : Longword;
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
   318
        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
   319
        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
   320
        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
   321
        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
   322
        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
   323
        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
   324
        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
   325
        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
   326
        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
   327
        next: PSDL_PixelFormat;
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
   328
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   329
        palette: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   330
        BitsPerPixel : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   331
        BytesPerPixel: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   332
        Rloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   333
        Gloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   334
        Bloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   335
        Aloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   336
        Rshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   337
        Gshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   338
        Bshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   339
        Ashift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   340
        RMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   341
        GMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   342
        BMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   343
        AMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   344
        colorkey: Longword;
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   345
        alpha: Byte;
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   346
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   347
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   348
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   349
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   350
    PSDL_Surface = ^TSDL_Surface;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   351
    TSDL_Surface = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   352
        flags : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   353
        format: PSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   354
        w, h  : LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   355
        pitch : Word;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   356
        pixels: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   357
        offset: 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
   358
{$IFDEF SDL13}
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
   359
        userdata: 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
   360
        locked: 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
   361
        lock_data: 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
   362
        clip_rect: TSDL_Rect;
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
   363
        map: 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
   364
        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
   365
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   366
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   367
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   368
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   369
    PSDL_Color = ^TSDL_Color;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   370
    TSDL_Color = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   371
        case byte of
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
   372
            0: ( r: 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
   373
                 g: 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
   374
                 b: 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
   375
                 unused: 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
   376
            1: ( value: Longword; );
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   377
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   378
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   379
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   380
    PSDL_RWops = ^TSDL_RWops;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   381
    TSeek  = function( context: PSDL_RWops; offset: LongInt; whence: LongInt ): LongInt; cdecl;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   382
    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
   383
    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
   384
    TClose = function( context: PSDL_RWops ): LongInt; cdecl;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   385
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   386
    TStdio = record
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
   387
        autoclose: {$IFDEF SDL13}boolean{$ELSE}LongInt{$ENDIF};
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   388
        fp: pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   389
        end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   390
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   391
    TMem = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   392
        base: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   393
        here: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   394
        stop: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   395
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   396
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   397
    TUnknown = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   398
        data1: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   399
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   400
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   401
    TSDL_RWops = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   402
        seek: TSeek;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   403
        read: TRead;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   404
        write: TWrite;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   405
        close: TClose;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   406
        type_: Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   407
        case Byte of
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   408
            0: (stdio: TStdio);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   409
            1: (mem: TMem);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   410
            2: (unknown: TUnknown);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   411
            end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   412
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   413
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   414
{* SDL_Event type definition *}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   415
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   416
{$IFDEF SDL13}
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
   417
    TSDL_KeySym = record
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
   418
        scancode: 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
   419
        sym: 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
   420
        modifier: Smallint;
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
   421
        unicode: 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
   422
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   423
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   424
    TSDL_WindowEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   425
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   426
        windowID: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   427
        event: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   428
        padding1, padding2, padding3: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   429
        data1, data2: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   430
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   431
{$ELSE}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   432
    TSDL_KeySym = record
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   433
        scancode: Byte;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   434
        sym: Longword;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   435
        modifier: Longword;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   436
        unicode: Word;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   437
        end;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   438
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   439
    // these two are present in sdl1.3 but only for backward compatibility
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   440
    // and in 1.3 type_ is LongInt, not byte
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   441
    TSDL_ActiveEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   442
        type_: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   443
        gain: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   444
        state: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   445
        end;
2714
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
   446
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   447
    TSDL_ResizeEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   448
        type_: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   449
        w, h: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   450
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   451
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   452
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
   453
    TSDL_KeyboardEvent = record
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
   454
{$IFDEF SDL13}
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
   455
        type_: 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
   456
        windowID: 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
   457
        state, repeat_, padding2, padding3: 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
   458
{$ELSE}
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
   459
        type_: 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
   460
        which: 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
   461
        state: 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
   462
{$ENDIF}
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
   463
        keysym: TSDL_KeySym;
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
   464
        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
   465
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
   466
//TODO: implement SDL_TextEditingEvent + SDL_TextInputEvent for sdl13
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
   467
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
   468
    // this structure is wrong but the correct version makes the game hang
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   469
    TSDL_MouseMotionEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   470
        which: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   471
        state: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   472
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   473
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   474
        windowID: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   475
        padding1, padding2: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   476
        x, y, z, xrel, yrel : LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   477
        pressure, pressure_max, pressure_min,
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   478
        rotation, tilt, cursor: LongInt;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   479
{$ELSE}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   480
        type_: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   481
        x, y, xrel, yrel : word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   482
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   483
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   484
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
   485
    TSDL_MouseButtonEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   486
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   487
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   488
        windowID: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   489
        x, y: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   490
        padding1: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   491
{$ELSE}
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
   492
        type_,
3389
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   493
        which,
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   494
        button,
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   495
        state: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   496
        x, y: word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   497
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   498
        end;
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   499
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   500
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   501
    TSDL_MouseWheelEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   502
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   503
        windowID: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   504
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   505
        x, y: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   506
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   507
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
   508
//TODO: implement SDL_ProximityEvent
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   509
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   510
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   511
    TSDL_JoyAxisEvent = record
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
   512
        type_: {$IFDEF SDL13}LongInt{$ELSE}Byte{$ENDIF};
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   513
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   514
        axis: Byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   515
{$IFDEF SDL13}
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
   516
        padding1, padding2: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   517
        value: LongInt;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   518
{$ELSE}
3748
daea2650a5aa Fixed gamepad/joystick axes using SDL 1.2
zuloo
parents: 3701
diff changeset
   519
        value: Smallint;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   520
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   521
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   522
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   523
    TSDL_JoyBallEvent = record
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
   524
        type_: {$IFDEF SDL13}LongInt{$ELSE}Byte{$ENDIF};
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   525
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   526
        ball: Byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   527
{$IFDEF SDL13}
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
   528
        padding1, padding2: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   529
        xrel, yrel: LongInt;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   530
{$ELSE}
3748
daea2650a5aa Fixed gamepad/joystick axes using SDL 1.2
zuloo
parents: 3701
diff changeset
   531
        xrel, yrel: Smallint;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   532
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   533
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   534
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   535
    TSDL_JoyHatEvent = record
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
   536
        type_: {$IFDEF SDL13}LongInt{$ELSE}Byte{$ENDIF};
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   537
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   538
        hat: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   539
        value: 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
   540
{$IFDEF SDL13}
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
   541
        padding1: 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
   542
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   543
        end;
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   544
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   545
    TSDL_JoyButtonEvent = record
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
   546
        type_: {$IFDEF SDL13}LongInt{$ELSE}Byte{$ENDIF};
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   547
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   548
        button: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   549
        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
   550
{$IFDEF SDL13}
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
   551
        padding1: 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
   552
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   553
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   554
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
   555
//TODO: implement SDL_TouchButtonEvent, SDL_MultiGestureEvent, SDL_DollarGestureEvent
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
   556
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   557
    TSDL_QuitEvent = record
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
   558
        type_: {$IFDEF SDL13}LongInt{$ELSE}Byte{$ENDIF};
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   559
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   560
4454
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   561
    TSDL_UserEvent = record
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   562
{$IFDEF SDL13}
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   563
        type_: LongInt;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   564
        windowID: LongInt;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   565
{$ELSE}
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   566
        type_: Byte;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   567
{$ENDIF}
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   568
        code: LongInt;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   569
        data1, data2: Pointer;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   570
        end;
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   571
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   572
    PSDL_Event = ^TSDL_Event;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   573
    TSDL_Event = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   574
{$IFDEF SDL13}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   575
        case LongInt of
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   576
            SDL_FIRSTEVENT: (type_: LongInt);
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   577
            SDL_WINDOWEVENT: (window: TSDL_WindowEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   578
            SDL_KEYDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   579
            SDL_KEYUP: (key: TSDL_KeyboardEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   580
            SDL_TEXTEDITING,
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   581
            SDL_TEXTINPUT: (edit: byte);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   582
            SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   583
            SDL_MOUSEBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   584
            SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   585
            SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   586
            SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   587
            SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   588
            SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   589
            SDL_JOYBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   590
            SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
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
   591
            SDL_QUITEV: (quit: TSDL_QuitEvent);
4454
42bfc1a70968 more retina support and multitasking support
koda
parents: 4380
diff changeset
   592
            SDL_USEREVENT: (user: TSDL_UserEvent);
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
   593
            //TODO: implement other events
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   594
{$ELSE}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   595
        case Byte of
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   596
            SDL_NOEVENT: (type_: byte);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   597
            SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   598
            SDL_KEYDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   599
            SDL_KEYUP: (key: TSDL_KeyboardEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   600
            SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   601
            SDL_MOUSEBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   602
            SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   603
            SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   604
            SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   605
            SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   606
            SDL_JOYBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   607
            SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   608
            SDL_QUITEV: (quit: TSDL_QuitEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   609
            //SDL_SYSWMEVENT,SDL_EVENT_RESERVEDA,SDL_EVENT_RESERVEDB
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   610
            //SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   611
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   612
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   613
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   614
    PByteArray = ^TByteArray;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   615
    TByteArray = array[0..65535] of Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   616
    PLongWordArray = ^TLongWordArray;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   617
    TLongWordArray = array[0..16383] of LongWord;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   618
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   619
    PSDL_Thread = Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   620
    PSDL_mutex = Pointer;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   621
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   622
    TSDL_GLattr = (
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   623
        SDL_GL_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   624
        SDL_GL_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   625
        SDL_GL_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   626
        SDL_GL_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   627
        SDL_GL_BUFFER_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   628
        SDL_GL_DOUBLEBUFFER,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   629
        SDL_GL_DEPTH_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   630
        SDL_GL_STENCIL_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   631
        SDL_GL_ACCUM_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   632
        SDL_GL_ACCUM_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   633
        SDL_GL_ACCUM_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   634
        SDL_GL_ACCUM_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   635
        SDL_GL_STEREO,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   636
        SDL_GL_MULTISAMPLEBUFFERS,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   637
        SDL_GL_MULTISAMPLESAMPLES,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   638
        SDL_GL_ACCELERATED_VISUAL,
2617
ef0d93cd61b2 add option for vsync -- good results on mac and linux, should be harmless on others (please test)
koda
parents: 2606
diff changeset
   639
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   640
        SDL_GL_RETAINED_BACKING,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   641
        SDL_GL_CONTEXT_MAJOR_VERSION,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   642
        SDL_GL_CONTEXT_MINOR_VERSION
2617
ef0d93cd61b2 add option for vsync -- good results on mac and linux, should be harmless on others (please test)
koda
parents: 2606
diff changeset
   643
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   644
        SDL_GL_SWAP_CONTROL
2617
ef0d93cd61b2 add option for vsync -- good results on mac and linux, should be harmless on others (please test)
koda
parents: 2606
diff changeset
   645
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   646
        );
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   647
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   648
{$IFDEF SDL13}
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   649
    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
   650
        SDL_ARRAYORDER_NONE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   651
        SDL_ARRAYORDER_RGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   652
        SDL_ARRAYORDER_RGBA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   653
        SDL_ARRAYORDER_ARGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   654
        SDL_ARRAYORDER_BGR,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   655
        SDL_ARRAYORDER_BGRA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   656
        SDL_ARRAYORDER_ABGR
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   657
        );
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   658
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   659
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   660
// Joystick/Controller support
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   661
    PSDL_Joystick = ^TSDL_Joystick;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   662
    TSDL_Joystick = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   663
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   664
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   665
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   666
    PTTF_Font = ^TTTF_font;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   667
    TTTF_Font = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   668
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   669
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   670
    {* SDL_mixer *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   671
    PMixChunk = ^TMixChunk;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   672
    TMixChunk = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   673
        allocated: Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   674
        abuf     : PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   675
        alen     : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   676
        volume   : PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   677
        end;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   678
    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
   679
    TMix_Fading = (MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   680
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   681
    TMidiSong = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   682
               samples : LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   683
               events  : pointer;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   684
               end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   685
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   686
    TMusicUnion = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   687
        case Byte of
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   688
             0: ( midi : TMidiSong );
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   689
             1: ( ogg  : pointer);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   690
             end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   691
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   692
    PMixMusic = ^TMixMusic;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   693
    TMixMusic = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   694
                 end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   695
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   696
    {* SDL_net *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   697
    TIPAddress = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   698
                  host: Longword;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   699
                  port: Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   700
                  end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   701
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   702
    PTCPSocket = ^TTCPSocket;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   703
    TTCPSocket = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   704
                  ready: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   705
                  channel: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   706
                  remoteAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   707
                  localAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   708
                  sflag: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   709
                  end;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   710
    PSDLNet_SocketSet = ^TSDLNet_SocketSet;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   711
    TSDLNet_SocketSet = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   712
                         numsockets,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   713
                         maxsockets: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   714
                         sockets: PTCPSocket;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   715
                         end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   716
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   717
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   718
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   719
/////////////////////  FUNCTION DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   720
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   721
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   722
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   723
{* SDL *}
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   724
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
   725
function  SDL_InitSubSystem(flags: LongWord): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   726
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
   727
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   728
function  SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName;
5103
7beb0311b7f1 fix windows compilation
koda
parents: 5099
diff changeset
   729
function  SDL_EnableUNICODE(enable: LongInt): LongInt; cdecl; external SDLLibName;
7beb0311b7f1 fix windows compilation
koda
parents: 5099
diff changeset
   730
function  SDL_EnableKeyRepeat(delay_, interval: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   731
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   732
procedure SDL_Delay(msec: Longword); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   733
function  SDL_GetTicks: Longword; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   734
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   735
function  SDL_MustLock(Surface: PSDL_Surface): Boolean;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   736
function  SDL_LockSurface(Surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   737
procedure SDL_UnlockSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   738
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   739
function  SDL_GetError: PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   740
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   741
function  SDL_SetVideoMode(width, height, bpp: LongInt; flags: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   742
function  SDL_CreateRGBSurface(flags: Longword; Width, Height, Depth: LongInt; RMask, GMask, BMask, AMask: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   743
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
   744
procedure SDL_FreeSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   745
function  SDL_SetColorKey(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
2017
7845c77c8d31 nemo's great patch:
unc0rr
parents: 1997
diff changeset
   746
function  SDL_SetAlpha(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   747
function  SDL_ConvertSurface(src: PSDL_Surface; fmt: PSDL_PixelFormat; flags: LongInt): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   748
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   749
function  SDL_UpperBlit(src: PSDL_Surface; srcrect: PSDL_Rect; dst: PSDL_Surface; dstrect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   750
function  SDL_FillRect(dst: PSDL_Surface; dstrect: PSDL_Rect; color: Longword): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   751
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
   752
function  SDL_Flip(Screen: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   753
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   754
procedure SDL_GetRGB(pixel: Longword; fmt: PSDL_PixelFormat; r, g, b: PByte); cdecl; external SDLLibName;
3341
3de60a5986e9 Engine:
smxx
parents: 3153
diff changeset
   755
procedure SDL_GetRGBA(pixel: Longword; fmt: PSDL_PixelFormat; r, g, b, a: PByte); cdecl; external SDLLibName;
107
b08ce0293a51 - Many type fixes
unc0rr
parents: 106
diff changeset
   756
function  SDL_MapRGB(format: PSDL_PixelFormat; r, g, b: Byte): Longword; cdecl; external SDLLibName;
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
   757
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
   758
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   759
function  SDL_DisplayFormat(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
35
9367f246fb5f - New rope
unc0rr
parents: 11
diff changeset
   760
function  SDL_DisplayFormatAlpha(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   761
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   762
function  SDL_RWFromFile(filename, mode: PChar): PSDL_RWops; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   763
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
   764
2152
a2811690da1b Patch by koda:
unc0rr
parents: 2017
diff changeset
   765
{$IFDEF SDL13}
3697
d5b30d6373fc remove trailing spaces from end of line
koda
parents: 3668
diff changeset
   766
function  SDL_CreateWindow(title: PChar; x,y,w,h, flags: LongInt): PSDL_Window; cdecl; external SDLLibName;
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
   767
function  SDL_CreateRenderer(window: PSDL_Window; index, flags: LongInt): PSDL_Renderer; cdecl; external SDLLibName;
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
   768
function  SDL_DestroyRenderer(renderer: PSDL_Renderer): LongInt; cdecl; external SDLLibName;
3598
a8aa06bae895 tiy new overlay graphics
koda
parents: 3463
diff changeset
   769
function  SDL_DestroyWindow(window: PSDL_Window): LongInt; cdecl; external SDLLibName;
5177
b850b544addc remove unusued voices also for ios
koda
parents: 5103
diff changeset
   770
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
   771
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
   772
function  SDL_GetNumVideoDisplays: LongInt; cdecl; external SDLLibName;
2716
b9ca1bfca24f complete the replacement of init/free wrappers for every unit
koda
parents: 2714
diff changeset
   773
4933
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
   774
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
   775
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
   776
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
   777
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
   778
procedure SDL_RenderPresent(renderer: PSDL_Renderer); cdecl; external SDLLibName;
86bd82d58a0b update sdl apis to use the new rendering functions
koda
parents: 4911
diff changeset
   779
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
   780
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
   781
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   782
function  SDL_SelectMouse(index: LongInt): LongInt; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   783
function  SDL_GetRelativeMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
2579
e5e4ebf528b5 more updates on touch input/control
koda
parents: 2575
diff changeset
   784
function  SDL_GetNumMice: LongInt; cdecl; external SDLLibName;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   785
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
   786
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
   787
procedure SDL_WarpMouseInWindow(window: PSDL_Window; x, y: LongInt); cdecl; external SDLLibName;
5177
b850b544addc remove unusued voices also for ios
koda
parents: 5103
diff changeset
   788
function  SDL_SetHint(name, value: PChar): boolean; 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
   789
{$ENDIF}
2714
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
   790
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   791
function  SDL_GetMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   792
function  SDL_GetKeyName(key: Longword): PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   793
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   794
procedure SDL_PumpEvents; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   795
function  SDL_PollEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
2590
e7e87e3c67db touch control completely revamped
koda
parents: 2586
diff changeset
   796
function  SDL_WaitEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   797
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   798
function  SDL_ShowCursor(toggle: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   799
2800
f286d91157b8 Engine:
smxx
parents: 2716
diff changeset
   800
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
   801
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
   802
function  SDL_WM_ToggleFullScreen(surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   803
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   804
function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   805
procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   806
function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   807
function  SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   808
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   809
function  SDL_GL_SetAttribute(attr: TSDL_GLattr; value: LongInt): LongInt; cdecl; external SDLLibName;
753
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   810
procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   811
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   812
function  SDL_NumJoysticks: LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   813
function  SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   814
function  SDL_JoystickOpen(idx: LongInt): PSDL_Joystick; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   815
function  SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   816
function  SDL_JoystickIndex(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   817
function  SDL_JoystickNumAxes(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   818
function  SDL_JoystickNumBalls(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   819
function  SDL_JoystickNumHats(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   820
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
   821
procedure SDL_JoystickUpdate; cdecl; external SDLLibName;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   822
function  SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   823
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
   824
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
   825
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
   826
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
   827
procedure SDL_JoystickClose(joy: PSDL_Joystick); cdecl; external SDLLibName;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   828
3153
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   829
function SDL_putenv(const text: PChar): LongInt; cdecl; external SDLLibName;
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   830
function SDL_getenv(const text: PChar): PChar; cdecl; external SDLLibName;
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   831
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   832
{* Compatibility between SDL-1.2 and SDL-1.3 *}
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   833
procedure SDL_WarpMouse(x, y: Word); {$IFNDEF SDL13}cdecl; external SDLLibName;{$ENDIF}
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   834
function  SDL_GetKeyState(numkeys: PLongInt): PByteArray; cdecl; external SDLLibName {$IFDEF SDL13} name 'SDL_GetKeyboardState'{$ENDIF};
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   835
function  SDL_AllocFormat(format: Longword): PSDL_PixelFormat; {$IFDEF SDL13}cdecl; external SDLLibName;{$ENDIF}
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   836
procedure SDL_FreeFormat(pixelformat: PSDL_PixelFormat); {$IFDEF SDL13}cdecl; external SDLLibName;{$ENDIF}
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   837
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   838
{* OpenGL *}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   839
{$IFDEF DARWIN}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   840
function CGLGetCurrentContext(): Pointer; cdecl; external 'OpenGL';
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   841
procedure CGLSetParameter(context: Pointer; option: LongInt; value: Pointer); cdecl; external 'OpenGL';
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   842
{$ENDIF}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   843
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   844
(*  SDL_ttf  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   845
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
   846
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
   847
4380
b78638b36b89 Introduce uRenderUtils
unC0Rr
parents: 3928
diff changeset
   848
function  TTF_SizeUTF8(font: PTTF_Font; const text: PChar; out w, h: LongInt): LongInt; cdecl; external SDL_TTFLibName;
2665
50b4e544c163 complete transition of longword->sdl_color for TTF bindings
koda
parents: 2664
diff changeset
   849
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   850
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
   851
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
   852
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
   853
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   854
function  TTF_OpenFont(const filename: PChar; 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
   855
procedure TTF_SetFontStyle(font: PTTF_Font; style: LongInt); cdecl; external SDL_TTFLibName;
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   856
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   857
(*  SDL_mixer  *)
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
   858
function  Mix_Init(flags: LongInt): LongInt; cdecl; external SDL_MixerLibName;
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
   859
procedure Mix_Quit; cdecl; external SDL_MixerLibName;
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
   860
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   861
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
   862
procedure Mix_CloseAudio; 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
   863
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   864
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
   865
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
   866
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
   867
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   868
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
   869
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
   870
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
   871
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   872
function  Mix_LoadWAV_RW(src: PSDL_RWops; freesrc: LongInt): 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
   873
function  Mix_LoadMUS(const filename: PChar): 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
   874
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   875
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
   876
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
   877
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
   878
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   879
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
   880
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
   881
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
   882
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
   883
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
   884
function  Mix_HaltChannel(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
   885
4956
48e1f9a04c28 usound: added function for loops with fade in and out
koda
parents: 4933
diff changeset
   886
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
   887
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
   888
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   889
(*  SDL_image  *)
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   890
function  IMG_Init(flags: LongInt): LongInt; 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
   891
procedure IMG_Quit; cdecl; external SDL_ImageLibName;
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
   892
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   893
function  IMG_Load(const _file: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
2701
3a8560c00f78 settings tab has now a very nice iphone-like interface
koda
parents: 2699
diff changeset
   894
function  IMG_Load_RW(rwop: PSDL_RWops; freesrc: LongInt): PSDL_Surface; cdecl; external SDL_ImageLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   895
function  IMG_LoadPNG_RW(rwop: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
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
   896
function  IMG_LoadTyped_RW(rwop: PSDL_RWops; freesrc: LongInt; type_: PChar): PSDL_Surface; cdecl; external SDL_ImageLibName;
2592
d86618629e20 fix missing land on ppc
koda
parents: 2591
diff changeset
   897
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   898
(*  SDL_net  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   899
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
   900
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
   901
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   902
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
   903
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
   904
function  SDLNet_TCP_Accept(server: PTCPsocket): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   905
function  SDLNet_TCP_Open(var ip: TIPaddress): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   906
function  SDLNet_TCP_Send(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   907
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
   908
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
   909
procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   910
function  SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   911
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
   912
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   913
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   914
procedure SDLNet_Write16(value: Word; buf: pointer);
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   915
procedure SDLNet_Write32(value: LongWord; buf: pointer);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   916
function  SDLNet_Read16(buf: pointer): Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   917
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
   918
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   919
implementation
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
   920
uses uVariables;
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
   921
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
   922
{$IFDEF SDL13}
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   923
// this needs to be reimplemented because in SDL_compat.c the window is the one created in the SDL_SetVideoMode
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   924
// compatible function, but we use SDL_CreateWindow, so the window would be NULL
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
   925
procedure SDL_WarpMouse(x, y: Word);
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
   926
begin
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
   927
    SDL_WarpMouseInWindow(SDLwindow, x, y);
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
   928
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
   929
{$ELSE}
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
   930
function SDL_AllocFormat(format: Longword): PSDL_PixelFormat;
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
   931
const conversionFormat: TSDL_PixelFormat = (
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
   932
        palette: nil; BitsPerPixel: 32; BytesPerPixel: 4;
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
   933
        Rloss: 0; Gloss: 0; Bloss: 0; Aloss: 0;
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
   934
        Rshift: RShift; Gshift: GShift; Bshift: BShift; Ashift: AShift;
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
   935
        RMask: RMask; GMask: GMask; BMask: BMask; AMask: AMask;
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
   936
        colorkey: 0; alpha: 255);
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
   937
begin
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
   938
    format:= format;
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
   939
    exit(@conversionFormat);
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
   940
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
   941
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   942
procedure SDL_FreeFormat(pixelformat: PSDL_PixelFormat);
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
   943
begin
5052
74a81c276d67 fix a couple of loose ends
koda
parents: 5050
diff changeset
   944
    pixelformat:= pixelformat;
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
   945
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
   946
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   947
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   948
function SDL_MustLock(Surface: PSDL_Surface): Boolean;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   949
begin
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   950
{$IFDEF SDL13}
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   951
    SDL_MustLock:= ((surface^.flags and SDL_RLEACCEL) <> 0)
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   952
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   953
    SDL_MustLock:= ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
5004
2efa6a414518 update some sdl-1.3 bindings (working up to rev 5296)
koda
parents: 4976
diff changeset
   954
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   955
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   956
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   957
procedure SDLNet_Write16(value: Word; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   958
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   959
    PByteArray(buf)^[1]:= value;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   960
    PByteArray(buf)^[0]:= value shr 8
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   961
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   962
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   963
procedure SDLNet_Write32(value: LongWord; buf: pointer);
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   964
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   965
    PByteArray(buf)^[3]:= value;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   966
    PByteArray(buf)^[2]:= value shr  8;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   967
    PByteArray(buf)^[1]:= value shr 16;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   968
    PByteArray(buf)^[0]:= value shr 24
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   969
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   970
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   971
function SDLNet_Read16(buf: pointer): Word;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   972
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   973
    SDLNet_Read16:= PByteArray(buf)^[1] or
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   974
                 (PByteArray(buf)^[0] shl 8)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   975
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   976
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   977
function SDLNet_Read32(buf: pointer): LongWord;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   978
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   979
    SDLNet_Read32:=  PByteArray(buf)^[3] or
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   980
                  (PByteArray(buf)^[2] shl  8) or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   981
                  (PByteArray(buf)^[1] shl 16) or
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   982
                  (PByteArray(buf)^[0] shl 24)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   983
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   984
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   985
end.
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   986