hedgewars/SDLh.pas
author sheepluva
Mon, 17 May 2010 09:45:46 +0000
changeset 3472 b1832a3761e6
parent 3463 23c50be687a9
child 3598 a8aa06bae895
permissions -rw-r--r--
portal-link-bugfix: make sure deleted portals don't reset links other than those to themselves
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
883
07a568ba44e0 Update copyright info in source files headers
unc0rr
parents: 780
diff changeset
     3
 * Copyright (c) 2004-2008 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
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    96
    SDL_SWSURFACE     = $00000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    97
    SDL_HWSURFACE     = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    98
    SDL_SRCALPHA      = $00010000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
    99
    
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   100
    SDL_INIT_TIMER    = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   101
    SDL_INIT_AUDIO    = $00000010;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   102
    SDL_INIT_VIDEO    = $00000020;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   103
    SDL_INIT_JOYSTICK = $00000200;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   104
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   105
    SDL_INIT_HAPTIC   = $00001000;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   106
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   107
    SDL_INIT_CDROM    = $00000100;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   108
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   109
    SDL_INIT_NOPARACHUTE = $00100000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   110
    SDL_INIT_EVENTTHREAD = $01000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   111
    SDL_INIT_EVERYTHING  = $0000FFFF;
2240
7ce9e6b7be3b -Removal of older WAV files, now useless thanks to OpenAL
koda
parents: 2200
diff changeset
   112
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   113
    SDL_APPINPUTFOCUS    = 2;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   114
    SDL_BUTTON_WHEELUP   = 4;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   115
    SDL_BUTTON_WHEELDOWN = 5;
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   116
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   117
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   118
{*begin SDL_Event binding*}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   119
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   120
{$IFDEF SDL13}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   121
    SDL_FIRSTEVENT = 0;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   122
    SDL_QUITEV = $100;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   123
    SDL_WINDOWEVENT = $200;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   124
    SDL_SYSWMEVENT = $201;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   125
    SDL_KEYDOWN = $300;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   126
    SDL_KEYUP = $301;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   127
    SDL_TEXTEDITING = $302;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   128
    SDL_TEXTINPUT = $303;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   129
    SDL_MOUSEMOTION  = $400;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   130
    SDL_MOUSEBUTTONDOWN = $401;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   131
    SDL_MOUSEBUTTONUP = $402;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   132
    SDL_MOUSEWHEEL = $403;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   133
    SDL_PROXIMITYIN = $500;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   134
    SDL_PROXIMITYOUT = $501;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   135
    SDL_JOYAXISMOTION = $600;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   136
    SDL_JOYBALLMOTION = $601;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   137
    SDL_JOYHATMOTION = $602;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   138
    SDL_JOYBUTTONDOWN = $603;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   139
    SDL_JOYBUTTONUP = $604;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   140
    SDL_USEREVENT = $8000;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   141
    SDL_LASTEVENT = $FFFF;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   142
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   143
    SDL_NOEVENT = 0;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   144
    SDL_ACTIVEEVENT = 1;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   145
    SDL_KEYDOWN = 2;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   146
    SDL_KEYUP = 3;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   147
    SDL_MOUSEMOTION  = 4;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   148
    SDL_MOUSEBUTTONDOWN = 5;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   149
    SDL_MOUSEBUTTONUP   = 6;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   150
    SDL_JOYAXISMOTION = 7;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   151
    SDL_JOYBALLMOTION = 8;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   152
    SDL_JOYHATMOTION = 9;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   153
    SDL_JOYBUTTONDOWN = 10;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   154
    SDL_JOYBUTTONUP = 11;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   155
    SDL_QUITEV = 12;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   156
    SDL_VIDEORESIZE = 16; // TODO: outdated? no longer in SDL 1.3?
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   157
{$ENDIF}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   158
{*end SDL_Event binding*}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   159
        
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   160
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   161
    SDL_ASYNCBLIT   = $08000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   162
    SDL_ANYFORMAT   = $10000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   163
    SDL_HWPALETTE   = $00200000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   164
    SDL_DOUBLEBUF   = $00400000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   165
    SDL_FULLSCREEN  = $00800000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   166
    SDL_HWACCEL     = $08000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   167
    SDL_SRCCOLORKEY = $00020000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   168
    SDL_RLEACCEL    = $08000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   169
    SDL_NOFRAME     = $02000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   170
    SDL_OPENGL      = $04000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   171
    SDL_RESIZABLE   = $01000000;
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   172
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   173
    SDL_ASYNCBLIT   = $00000004;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   174
    SDL_ANYFORMAT   = $00100000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   175
    SDL_HWPALETTE   = $20000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   176
    SDL_DOUBLEBUF   = $40000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   177
    SDL_FULLSCREEN  = $80000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   178
    SDL_HWACCEL     = $00000100;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   179
    SDL_SRCCOLORKEY = $00001000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   180
    SDL_RLEACCEL    = $00004000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   181
    SDL_NOFRAME     = $00000020;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   182
    SDL_OPENGL      = $00000002;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   183
    SDL_RESIZABLE   = $00000010;
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   184
{$ENDIF}
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   185
2567
02ff5f9510b5 WE HAVE TOUCH INPUT
koda
parents: 2525
diff changeset
   186
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   187
{$IFDEF ENDIAN_LITTLE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   188
    RMask = $000000FF;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   189
    GMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   190
    BMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   191
    AMask = $FF000000;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   192
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   193
    RMask = $FF000000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   194
    GMask = $00FF0000;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   195
    BMask = $0000FF00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   196
    AMask = $000000FF;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   197
{$ENDIF}
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
   198
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   199
{$IFDEF SDL13}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   200
    // SDL_WindowFlags (enum)
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   201
    SDL_WINDOW_FULLSCREEN = $00000001;         //*< fullscreen window, implies borderless */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   202
    SDL_WINDOW_OPENGL = $00000002;             //*< window usable with OpenGL context */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   203
    SDL_WINDOW_SHOWN = $00000004;              //*< window is visible */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   204
    SDL_WINDOW_BORDERLESS = $00000008;         //*< no window decoration */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   205
    SDL_WINDOW_RESIZABLE = $00000010;          //*< window can be resized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   206
    SDL_WINDOW_MINIMIZED = $00000020;          //*< window is minimized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   207
    SDL_WINDOW_MAXIMIZED = $00000040;          //*< window is maximized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   208
    SDL_WINDOW_INPUT_GRABBED = $00000100;      //*< window has grabbed input focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   209
    SDL_WINDOW_INPUT_FOCUS = $00000200;        //*< window has input focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   210
    SDL_WINDOW_MOUSE_FOCUS = $00000400;        //*< window has mouse focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   211
    SDL_WINDOW_FOREIGN = $00000800;            //*< window not created by SDL */
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   212
    
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   213
    // SDL_WindowEventID (enum)
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   214
    SDL_WINDOWEVENT_NONE = 0;            //*< Never used
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   215
    SDL_WINDOWEVENT_SHOWN = 1;           //*< Window has been shown
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   216
    SDL_WINDOWEVENT_HIDDEN = 2;          //*< Window has been hidden
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   217
    SDL_WINDOWEVENT_EXPOSED = 3;         //*< Window has been exposed and should be redrawn 
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   218
    SDL_WINDOWEVENT_MOVED = 4;           //*< Window has been moved to data1, data2
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   219
    SDL_WINDOWEVENT_RESIZED = 5;         //*< Window size changed to data1xdata2
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   220
    SDL_WINDOWEVENT_MINIMIZED = 6;       //*< Window has been minimized
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   221
    SDL_WINDOWEVENT_MAXIMIZED = 7;       //*< Window has been maximized
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   222
    SDL_WINDOWEVENT_RESTORED = 8;        //*< Window has been restored to normal size and position
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   223
    SDL_WINDOWEVENT_ENTER = 9;           //*< Window has gained mouse focus
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   224
    SDL_WINDOWEVENT_LEAVE = 10;          //*< Window has lost mouse focus
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   225
    SDL_WINDOWEVENT_FOCUS_GAINED = 11;   //*< Window has gained keyboard focus
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   226
    SDL_WINDOWEVENT_FOCUS_LOST = 12;     //*< Window has lost keyboard focus
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   227
    SDL_WINDOWEVENT_CLOSE = 13;          //*< The window manager requests that the window be closed */
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   228
{$ENDIF}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   229
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   230
    {* SDL_mixer *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   231
    MIX_MAX_VOLUME = 128;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   232
    MIX_INIT_FLAC = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   233
    MIX_INIT_MOD  = $00000002;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   234
    MIX_INIT_MP3  = $00000004;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   235
    MIX_INIT_OGG  = $00000008;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   236
    
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   237
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   238
    TTF_STYLE_NORMAL = 0;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   239
    TTF_STYLE_BOLD   = 1;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   240
    TTF_STYLE_ITALIC = 2;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   241
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   242
    {* SDL Joystick *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   243
    SDL_HAT_CENTERED  = $00;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   244
    SDL_HAT_UP        = $01;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   245
    SDL_HAT_RIGHT     = $02;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   246
    SDL_HAT_DOWN      = $04;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   247
    SDL_HAT_LEFT      = $08;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   248
    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
   249
    SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   250
    SDL_HAT_LEFTUP    = SDL_HAT_LEFT or SDL_HAT_UP;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   251
    SDL_HAT_LEFTDOWN  = SDL_HAT_LEFT or SDL_HAT_DOWN;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   252
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   253
    {* SDL_image *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   254
    IMG_INIT_JPG = $00000001;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   255
    IMG_INIT_PNG = $00000002;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   256
    IMG_INIT_TIF = $00000004;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   257
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   258
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   259
///////////////////////  TYPE DEFINITIONS ///////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   260
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   261
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   262
type 
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   263
    PSDL_Rect = ^TSDL_Rect;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   264
    TSDL_Rect = record
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   265
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   266
        x, y, w, h: LongInt;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   267
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   268
        x, y: SmallInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   269
        w, h: Word;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   270
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   271
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   272
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   273
    TPoint = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   274
        X: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   275
        Y: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   276
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   277
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   278
    PSDL_PixelFormat = ^TSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   279
    TSDL_PixelFormat = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   280
        palette: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   281
        BitsPerPixel : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   282
        BytesPerPixel: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   283
        Rloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   284
        Gloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   285
        Bloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   286
        Aloss : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   287
        Rshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   288
        Gshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   289
        Bshift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   290
        Ashift: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   291
        RMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   292
        GMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   293
        BMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   294
        AMask : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   295
        colorkey: Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   296
        alpha : Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   297
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   298
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   299
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   300
    PSDL_Surface = ^TSDL_Surface;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   301
    TSDL_Surface = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   302
        flags : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   303
        format: PSDL_PixelFormat;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   304
        w, h  : LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   305
        pitch : Word;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   306
        pixels: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   307
        offset: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   308
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   309
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   310
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   311
    PSDL_Color = ^TSDL_Color;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   312
    TSDL_Color = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   313
        case byte of
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   314
            0: (    r: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   315
                g: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   316
                b: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   317
                unused: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   318
               );
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   319
            1: (    value: Longword);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   320
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   321
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   322
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   323
    PSDL_RWops = ^TSDL_RWops;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   324
    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
   325
    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
   326
    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
   327
    TClose = function( context: PSDL_RWops ): LongInt; cdecl;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   328
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   329
    TStdio = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   330
        autoclose: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   331
        fp: pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   332
        end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   333
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   334
    TMem = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   335
        base: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   336
        here: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   337
        stop: PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   338
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   339
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   340
    TUnknown = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   341
        data1: Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   342
        end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   343
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   344
    TSDL_RWops = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   345
        seek: TSeek;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   346
        read: TRead;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   347
        write: TWrite;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   348
        close: TClose;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   349
        type_: Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   350
        case Byte of
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   351
            0: (stdio: TStdio);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   352
            1: (mem: TMem);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   353
            2: (unknown: TUnknown);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   354
            end;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   355
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   356
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   357
{* SDL_Event type definition *}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   358
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   359
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   360
    PSDL_Window = pointer;  
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   361
    PSDL_Texture = pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   362
    
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   363
    TSDL_WindowEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   364
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   365
        windowID: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   366
        event: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   367
        padding1, padding2, padding3: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   368
        data1, data2: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   369
        end;
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   370
        
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   371
    TSDL_KeySym = record
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   372
        scancode,
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   373
        sym,
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   374
        modifier,
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   375
        unicode: LongInt;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   376
        end;
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   377
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   378
// implement SDL_TextEditingEvent + SDL_TextInputEvent for sdl13
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   379
{$ELSE}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   380
    TSDL_KeySym = record
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   381
        scancode: Byte;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   382
        sym: Longword;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   383
        modifier: Longword;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   384
        unicode: Word;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   385
        end;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   386
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   387
    // these two are present in sdl1.3 but only for backward compatibility
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   388
    // 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
   389
    TSDL_ActiveEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   390
        type_: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   391
        gain: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   392
        state: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   393
        end;
2714
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
   394
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   395
    TSDL_ResizeEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   396
        type_: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   397
        w, h: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   398
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   399
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   400
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   401
    TSDL_MouseMotionEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   402
        which: byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   403
        state: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   404
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   405
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   406
        windowID: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   407
        padding1, padding2: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   408
        x, y, z, xrel, yrel : LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   409
        pressure, pressure_max, pressure_min,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   410
        rotation, tilt, cursor: LongInt; 
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   411
{$ELSE}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   412
        type_: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   413
        x, y, xrel, yrel : word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   414
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   415
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   416
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   417
    TSDL_KeyboardEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   418
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   419
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   420
        windowID: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   421
        padding1, padding2: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   422
{$ELSE}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   423
        type_: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   424
{$ENDIF}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   425
        which: byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   426
        state: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   427
        keysym: TSDL_KeySym;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   428
        end;
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   429
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   430
    TSDL_MouseButtonEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   431
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   432
        _type: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   433
        windowID: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   434
        x, y: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   435
        padding1: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   436
{$ELSE}
3389
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   437
        _type,
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   438
        which,
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   439
        button,
9b97b9240c22 fix zoom
koda
parents: 3385
diff changeset
   440
        state: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   441
        x, y: word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   442
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   443
        end;
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   444
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   445
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   446
    TSDL_MouseWheelEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   447
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   448
        windowID: LongInt;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   449
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   450
        x, y: LongInt;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   451
        padding1, padding2, padding3: byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   452
        end;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   453
        
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   454
    // implement SDL_ProximityEvent
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   455
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   456
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   457
    TSDL_JoyAxisEvent = record
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   458
{$IFDEF SDL13}
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   459
        type_: LongInt;
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   460
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   461
        type_: Byte;
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   462
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   463
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   464
        axis: Byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   465
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   466
        value: LongInt;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   467
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   468
        value: word;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   469
{$ENDIF}    
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   470
        end;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   471
            
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   472
    TSDL_JoyBallEvent = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   473
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   474
        ball: Byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   475
{$IFDEF SDL13}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   476
        type_: LongInt;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   477
        xrel, yrel: LongInt;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   478
{$ELSE}
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   479
        type_: Byte;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   480
        xrel, yrel: word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   481
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   482
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   483
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   484
    TSDL_JoyHatEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   485
{$IFDEF SDL13}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   486
        type_: LongInt;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   487
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   488
        type_: Byte;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   489
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   490
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   491
        hat: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   492
        value: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   493
        end;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   494
    
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   495
    TSDL_JoyButtonEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   496
{$IFDEF SDL13}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   497
        type_: LongInt;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   498
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   499
        type_: Byte;
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   500
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   501
        which: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   502
        button: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   503
        state: Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   504
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   505
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   506
    TSDL_QuitEvent = record
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   507
{$IFDEF SDL13}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   508
        type_: LongInt;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   509
{$ELSE}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   510
        type_: Byte;
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   511
{$ENDIF}
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   512
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   513
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   514
    PSDL_Event = ^TSDL_Event;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   515
    TSDL_Event = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   516
{$IFDEF SDL13}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   517
        case LongInt of
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   518
            SDL_FIRSTEVENT: (type_: LongInt);
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   519
            SDL_QUITEV: (quit: TSDL_QuitEvent);
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   520
            SDL_WINDOWEVENT: (wevent: TSDL_WindowEvent);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   521
            SDL_KEYDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   522
            SDL_KEYUP: (key: TSDL_KeyboardEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   523
            SDL_TEXTEDITING,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   524
            SDL_TEXTINPUT: (txtin: byte);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   525
            SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   526
            SDL_MOUSEBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   527
            SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   528
            SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   529
            SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   530
            SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   531
            SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   532
            SDL_JOYBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   533
            SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   534
{$ELSE}
3463
23c50be687a9 update sdl functions to latest revision
koda
parents: 3405
diff changeset
   535
        case Byte of
3349
5571592f10a8 update ifrontend to latest ammostore protocol
koda
parents: 3341
diff changeset
   536
            SDL_NOEVENT: (type_: byte);
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   537
            SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   538
            SDL_KEYDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   539
            SDL_KEYUP: (key: TSDL_KeyboardEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   540
            SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   541
            SDL_MOUSEBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   542
            SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   543
            SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   544
            SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   545
            SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   546
            SDL_JOYBUTTONDOWN,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   547
            SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   548
            SDL_QUITEV: (quit: TSDL_QuitEvent);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   549
            //SDL_SYSWMEVENT,SDL_EVENT_RESERVEDA,SDL_EVENT_RESERVEDB
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   550
            //SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   551
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   552
        end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   553
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   554
    PByteArray = ^TByteArray;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   555
    TByteArray = array[0..65535] of Byte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   556
    PLongWordArray = ^TLongWordArray;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   557
    TLongWordArray = array[0..16383] of LongWord;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   558
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   559
    PSDL_Thread = Pointer;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   560
    PSDL_mutex = Pointer;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   561
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   562
    TSDL_GLattr = (
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   563
        SDL_GL_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   564
        SDL_GL_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   565
        SDL_GL_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   566
        SDL_GL_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   567
        SDL_GL_BUFFER_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   568
        SDL_GL_DOUBLEBUFFER,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   569
        SDL_GL_DEPTH_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   570
        SDL_GL_STENCIL_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   571
        SDL_GL_ACCUM_RED_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   572
        SDL_GL_ACCUM_GREEN_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   573
        SDL_GL_ACCUM_BLUE_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   574
        SDL_GL_ACCUM_ALPHA_SIZE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   575
        SDL_GL_STEREO,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   576
        SDL_GL_MULTISAMPLEBUFFERS,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   577
        SDL_GL_MULTISAMPLESAMPLES,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   578
        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
   579
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   580
        SDL_GL_RETAINED_BACKING,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   581
        SDL_GL_CONTEXT_MAJOR_VERSION,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   582
        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
   583
{$ELSE}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   584
        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
   585
{$ENDIF}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   586
        );
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   587
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   588
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   589
    TSDL_ArrayByteOrder = (  // array component order, low byte -> high byte 
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   590
        SDL_ARRAYORDER_NONE,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   591
        SDL_ARRAYORDER_RGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   592
        SDL_ARRAYORDER_RGBA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   593
        SDL_ARRAYORDER_ARGB,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   594
        SDL_ARRAYORDER_BGR,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   595
        SDL_ARRAYORDER_BGRA,
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   596
        SDL_ARRAYORDER_ABGR
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   597
        );
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   598
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   599
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   600
// Joystick/Controller support
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   601
    PSDL_Joystick = ^TSDL_Joystick;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   602
    TSDL_Joystick = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   603
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   604
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   605
    {* SDL_TTF *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   606
    PTTF_Font = ^TTTF_font;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   607
    TTTF_Font = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   608
            end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   609
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   610
    {* SDL_mixer *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   611
    PMixChunk = ^TMixChunk;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   612
    TMixChunk = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   613
        allocated: Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   614
        abuf     : PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   615
        alen     : Longword;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   616
        volume   : PByte;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   617
        end;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   618
    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
   619
    TMix_Fading = (MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   620
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   621
    TMidiSong = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   622
               samples : LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   623
               events  : pointer;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   624
               end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   625
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   626
    TMusicUnion = record
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   627
        case Byte of
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   628
             0: ( midi : TMidiSong );
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   629
             1: ( ogg  : pointer);
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   630
             end;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   631
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   632
    PMixMusic = ^TMixMusic;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   633
    TMixMusic = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   634
                 end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   635
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   636
    {* SDL_net *}
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   637
    TIPAddress = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   638
                  host: Longword;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   639
                  port: Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   640
                  end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   641
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   642
    PTCPSocket = ^TTCPSocket;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   643
    TTCPSocket = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   644
                  ready: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   645
                  channel: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   646
                  remoteAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   647
                  localAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   648
                  sflag: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   649
                  end;
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   650
    PSDLNet_SocketSet = ^TSDLNet_SocketSet;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   651
    TSDLNet_SocketSet = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   652
                         numsockets,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   653
                         maxsockets: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   654
                         sockets: PTCPSocket;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   655
                         end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   656
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   657
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   658
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   659
/////////////////////  FUNCTION DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   660
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   661
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   662
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   663
{* SDL *}
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   664
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
   665
function  SDL_InitSubSystem(flags: LongWord): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   666
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
   667
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   668
function  SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   669
procedure SDL_EnableUNICODE(enable: LongInt); cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   670
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   671
procedure SDL_Delay(msec: Longword); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   672
function  SDL_GetTicks: Longword; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   673
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   674
function  SDL_MustLock(Surface: PSDL_Surface): Boolean;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   675
function  SDL_LockSurface(Surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   676
procedure SDL_UnlockSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   677
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   678
function  SDL_GetError: PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   679
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   680
function  SDL_SetVideoMode(width, height, bpp: LongInt; flags: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   681
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
   682
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
   683
procedure SDL_FreeSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   684
function  SDL_SetColorKey(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
2017
7845c77c8d31 nemo's great patch:
unc0rr
parents: 1997
diff changeset
   685
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
   686
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
   687
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   688
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
   689
function  SDL_FillRect(dst: PSDL_Surface; dstrect: PSDL_Rect; color: Longword): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   690
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
   691
function  SDL_Flip(Screen: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   692
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   693
procedure SDL_GetRGB(pixel: Longword; fmt: PSDL_PixelFormat; r, g, b: PByte); cdecl; external SDLLibName;
3341
3de60a5986e9 Engine:
smxx
parents: 3153
diff changeset
   694
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
   695
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
   696
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
   697
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   698
function  SDL_DisplayFormat(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
35
9367f246fb5f - New rope
unc0rr
parents: 11
diff changeset
   699
function  SDL_DisplayFormatAlpha(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   700
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   701
function  SDL_RWFromFile(filename, mode: PChar): PSDL_RWops; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   702
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
   703
2152
a2811690da1b Patch by koda:
unc0rr
parents: 2017
diff changeset
   704
{$IFDEF SDL13}
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   705
function  SDL_CreateWindow(title: PChar; x,y,w,h, flags: LongInt): PSDL_Window; cdecl; external SDLLibName;      
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   706
function  SDL_CreateRenderer(window: PSDL_Window; index, flags: LongInt): LongInt; cdecl; external SDLLibName;   
2716
b9ca1bfca24f complete the replacement of init/free wrappers for every unit
koda
parents: 2714
diff changeset
   707
function  SDL_SetRenderDrawColor(r,g,b,a: byte): LongInt; cdecl; external SDLLibName;
b9ca1bfca24f complete the replacement of init/free wrappers for every unit
koda
parents: 2714
diff changeset
   708
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   709
function  SDL_RenderFill(rect: PSDL_Rect): LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   710
function  SDL_RenderFillRect(rect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   711
function  SDL_RenderClear: LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   712
procedure SDL_RenderPresent; cdecl; external SDLLibName;
2699
249adefa9c1c replace initialization/finalization statements with custom init functions
koda
parents: 2698
diff changeset
   713
procedure SDL_VideoQuit; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   714
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   715
function  SDL_SelectMouse(index: LongInt): LongInt; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   716
function  SDL_GetRelativeMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
2579
e5e4ebf528b5 more updates on touch input/control
koda
parents: 2575
diff changeset
   717
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
   718
function  SDL_PixelFormatEnumToMasks(format: TSDL_ArrayByteOrder; bpp: PLongInt; Rmask, Gmask, Bmask, Amask: PLongInt): 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
   719
{$ENDIF}
2714
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
   720
c85ffe57d971 update iphone frontend to the new (silly) sdl api, code cleanups for other sections
koda
parents: 2701
diff changeset
   721
function  SDL_GetKeyState(numkeys: PLongInt): PByteArray; cdecl; external SDLLibName {$IFDEF SDL13} name 'SDL_GetKeyboardState'{$ENDIF};
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   722
function  SDL_GetMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   723
function  SDL_GetKeyName(key: Longword): PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   724
procedure SDL_WarpMouse(x, y: Word); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   725
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   726
procedure SDL_PumpEvents; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   727
function  SDL_PollEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
2590
e7e87e3c67db touch control completely revamped
koda
parents: 2586
diff changeset
   728
function  SDL_WaitEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   729
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   730
function  SDL_ShowCursor(toggle: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   731
2800
f286d91157b8 Engine:
smxx
parents: 2716
diff changeset
   732
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
   733
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
   734
function  SDL_WM_ToggleFullScreen(surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   735
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   736
function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   737
procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   738
function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   739
function  SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   740
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   741
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
   742
procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   743
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   744
function  SDL_NumJoysticks: LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   745
function  SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   746
function  SDL_JoystickOpen(idx: LongInt): PSDL_Joystick; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   747
function  SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   748
function  SDL_JoystickIndex(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   749
function  SDL_JoystickNumAxes(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   750
function  SDL_JoystickNumBalls(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   751
function  SDL_JoystickNumHats(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   752
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
   753
procedure SDL_JoystickUpdate; cdecl; external SDLLibName;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   754
function  SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   755
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
   756
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
   757
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
   758
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
   759
procedure SDL_JoystickClose(joy: PSDL_Joystick); cdecl; external SDLLibName;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   760
3153
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   761
function SDL_putenv(const text: PChar): LongInt; cdecl; external SDLLibName;
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   762
function SDL_getenv(const text: PChar): PChar; cdecl; external SDLLibName;
adfe8a91658f Engine:
smxx
parents: 2948
diff changeset
   763
3405
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   764
{* OpenGL *}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   765
{$IFDEF DARWIN}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   766
function CGLGetCurrentContext(): Pointer; cdecl; external 'OpenGL';
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   767
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
   768
{$ENDIF}
8fdb08497bf1 js' patch that restores Vsync on snow leopard
koda
parents: 3389
diff changeset
   769
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   770
(*  SDL_TTF  *)
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   771
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
   772
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
   773
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   774
function  TTF_SizeUTF8(font: PTTF_Font; const text: PChar; var w, h: LongInt): LongInt; cdecl; external SDL_TTFLibName;
2665
50b4e544c163 complete transition of longword->sdl_color for TTF bindings
koda
parents: 2664
diff changeset
   775
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   776
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
   777
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
   778
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
   779
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   780
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
   781
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
   782
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   783
(*  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
   784
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
   785
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
   786
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   787
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
   788
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
   789
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   790
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
   791
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
   792
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
   793
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   794
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
   795
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
   796
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
   797
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   798
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
   799
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
   800
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   801
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
   802
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
   803
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
   804
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   805
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
   806
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
   807
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
   808
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
   809
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
   810
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
   811
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   812
(*  SDL_image  *)
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   813
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
   814
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
   815
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   816
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
   817
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
   818
function  IMG_LoadPNG_RW(rwop: PSDL_RWops): PSDL_Surface; cdecl; external SDL_ImageLibName;
2701
3a8560c00f78 settings tab has now a very nice iphone-like interface
koda
parents: 2699
diff changeset
   819
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
   820
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   821
(*  SDL_net  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   822
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
   823
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
   824
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   825
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
   826
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
   827
function  SDLNet_TCP_Accept(server: PTCPsocket): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   828
function  SDLNet_TCP_Open(var ip: TIPaddress): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   829
function  SDLNet_TCP_Send(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   830
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
   831
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
   832
procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   833
function  SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   834
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
   835
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   836
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   837
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
   838
procedure SDLNet_Write32(value: LongWord; buf: pointer);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   839
function  SDLNet_Read16(buf: pointer): Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   840
function  SDLNet_Read32(buf: pointer): LongWord;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   841
implementation
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   842
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   843
function SDL_MustLock(Surface: PSDL_Surface): Boolean;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   844
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   845
    SDL_MustLock:= ( surface^.offset <> 0 ) or (( surface^.flags and (SDL_HWSURFACE or SDL_ASYNCBLIT or SDL_RLEACCEL)) <> 0)
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   846
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   847
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   848
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
   849
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   850
    PByteArray(buf)^[1]:= value;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   851
    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
   852
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   853
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   854
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
   855
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   856
    PByteArray(buf)^[3]:= value;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   857
    PByteArray(buf)^[2]:= value shr  8;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   858
    PByteArray(buf)^[1]:= value shr 16;
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   859
    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
   860
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   861
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   862
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
   863
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   864
    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
   865
                 (PByteArray(buf)^[0] shl 8)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   866
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   867
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   868
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
   869
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   870
    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
   871
                  (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
   872
                  (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
   873
                  (PByteArray(buf)^[0] shl 24)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   874
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   875
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   876
{$IFDEF SDL13}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   877
function SDL_RenderFill(rect: PSDL_Rect): LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   878
var res: LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   879
begin
2948
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   880
    if (rect <> nil) then res:= SDL_RenderFillRect(rect)
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   881
    else res:= SDL_RenderClear();
3f21a9dc93d0 Replace tabs with spaces using 'expand -t 4' command
unc0rr
parents: 2800
diff changeset
   882
    exit(res);
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   883
end;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   884
{$ENDIF}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   885
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   886
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
   887