hedgewars/SDLh.pas
author nemo
Sun, 24 Jan 2010 16:46:06 +0000
changeset 2712 8f4527c9137c
parent 2701 3a8560c00f78
child 2714 c85ffe57d971
permissions -rw-r--r--
Minor tweak, try to make long flavour text last longer, move the hurt self messages to unused messages group, so they don't get wiped by crate an instant later.
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}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    30
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    31
{$IFDEF UNIX}
1903
64e56f19d6d6 Patch by koda
unc0rr
parents: 1880
diff changeset
    32
  {$IFNDEF DARWIN}
1556
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    33
    {$linklib c}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    34
  {$ENDIF}
3369f016b79d Patch for engine to successfully build on Mac OS X by Michael Schindler
unc0rr
parents: 1225
diff changeset
    35
  {$linklib pthread}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    36
{$ENDIF}
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    37
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    38
{$IFDEF FPC}
2601
21ed7cec1fa2 fix iphone build
koda
parents: 2600
diff changeset
    39
  {$PACKRECORDS C}
2606
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2601
diff changeset
    40
{$ELSE}
ed687a8d081f updated build files for macosx and optimization system
koda
parents: 2601
diff changeset
    41
  {$DEFINE cdecl attribute(cdecl)}
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
    42
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
    43
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    44
{$IFDEF DARWIN}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    45
  {$IFNDEF IPHONEOS}
2698
90585aba87ad objc/pascal finally working
koda
parents: 2697
diff changeset
    46
    {$PASCALMAINNAME SDL_main}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    47
    {$linkframework Cocoa}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    48
    {$linkframework SDL}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    49
    {$linkframework SDL_net}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    50
    {$linkframework SDL_image}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    51
    {$linkframework SDL_ttf}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    52
    {$linkframework SDL_mixer}
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    53
  {$ENDIF}
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    54
{$ENDIF}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
    55
1819
17dac76954d1 Patch by koda to better support Mac OS X
unc0rr
parents: 1712
diff changeset
    56
1997
cd66434351cf koda's patch
unc0rr
parents: 1947
diff changeset
    57
(*  SDL  *)
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    58
const
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    59
{$IFDEF WIN32}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    60
	SDLLibName = 'SDL.dll';
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    61
	SDL_TTFLibName = 'SDL_ttf.dll';
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    62
	SDL_MixerLibName = 'SDL_mixer.dll';
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    63
	SDL_ImageLibName = 'SDL_image.dll';
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    64
	SDL_NetLibName = 'SDL_net.dll';
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    65
{$ELSE}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    66
  {$IFDEF DARWIN}
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    67
	SDLLibName = 'SDL';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    68
	SDL_TTFLibName = 'SDL_ttf';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    69
	SDL_MixerLibName = 'SDL_mixer';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    70
	SDL_ImageLibName = 'SDL_image';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    71
	SDL_NetLibName = 'SDL_net';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    72
  {$ELSE}
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    73
	SDLLibName = 'libSDL.so';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    74
	SDL_TTFLibName = 'libSDL_ttf.so';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    75
	SDL_MixerLibName = 'libSDL_mixer.so';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    76
	SDL_ImageLibName = 'libSDL_image.so';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    77
	SDL_NetLibName = 'libSDL_net.so';
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
    78
  {$ENDIF}
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
    79
{$ENDIF}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    80
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    81
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    82
/////////////////////  CONSTANT DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    83
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
    84
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
    85
	SDL_SWSURFACE     = $00000000;
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
    86
	SDL_HWSURFACE     = $00000001;
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
    87
	SDL_SRCALPHA      = $00010000;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    88
	
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    89
	SDL_INIT_TIMER    = $00000001;
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
    90
	SDL_INIT_AUDIO    = $00000010;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    91
	SDL_INIT_VIDEO    = $00000020;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
    92
	SDL_INIT_JOYSTICK = $00000200;
2633
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    93
{$IFDEF SDL13}
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    94
	SDL_INIT_HAPTIC   = $00001000;
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    95
{$ELSE}
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    96
	SDL_INIT_CDROM	  = $00000100;
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    97
{$ENDIF}
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    98
	SDL_INIT_NOPARACHUTE = $00100000;
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
    99
	SDL_INIT_EVENTTHREAD = $01000000;
9eb131794a6e trailing mods from previous commit
koda
parents: 2630
diff changeset
   100
	SDL_INIT_EVERYTHING  = $0000FFFF;
2240
7ce9e6b7be3b -Removal of older WAV files, now useless thanks to OpenAL
koda
parents: 2200
diff changeset
   101
2601
21ed7cec1fa2 fix iphone build
koda
parents: 2600
diff changeset
   102
	SDL_APPINPUTFOCUS    = 2;
2667
d9201436c6cf binding typo
koda
parents: 2665
diff changeset
   103
	SDL_BUTTON_WHEELUP   = 4;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   104
	SDL_BUTTON_WHEELDOWN = 5;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   105
		
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   106
{*begin SDL_Event binding*}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   107
	SDL_NOEVENT = 0;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   108
	SDL_KEYDOWN = 2;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   109
	SDL_KEYUP = 3;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   110
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   111
        SDL_WINDOWEVENT = 1;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   112
        SDL_TEXTINPUT = 4;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   113
        SDL_TEXTEDITING = 5;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   114
	SDL_MOUSEMOTION  = 6;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   115
        SDL_MOUSEBUTTONDOWN = 7;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   116
	SDL_MOUSEBUTTONUP   = 8;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   117
        SDL_MOUSEWHEEL = 9;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   118
	SDL_JOYAXISMOTION = 10;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   119
	SDL_JOYBALLMOTION = 11;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   120
	SDL_JOYHATMOTION = 12;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   121
	SDL_JOYBUTTONDOWN = 13;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   122
	SDL_JOYBUTTONUP = 14;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   123
	SDL_QUITEV = 15;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   124
{$ELSE}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   125
        SDL_ACTIVEEVENT = 1;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   126
	SDL_MOUSEMOTION  = 4;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   127
       	SDL_MOUSEBUTTONDOWN = 5;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   128
	SDL_MOUSEBUTTONUP   = 6;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   129
	SDL_JOYAXISMOTION = 7;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   130
	SDL_JOYBALLMOTION = 8;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   131
	SDL_JOYHATMOTION = 9;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   132
	SDL_JOYBUTTONDOWN = 10;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   133
	SDL_JOYBUTTONUP = 11;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   134
	SDL_QUITEV = 12;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   135
	SDL_VIDEORESIZE = 16; // TODO: outdated? no longer in SDL 1.3?
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   136
{$ENDIF}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   137
{*end SDL_Event binding*}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   138
		
2241
7992f7ba388d completes removal of wav files, updates SDLh and adds DEBUGFILE to hwengine when compiled in Debug mode
koda
parents: 2240
diff changeset
   139
{$IFDEF SDL13}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   140
	SDL_ASYNCBLIT   = $08000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   141
	SDL_ANYFORMAT   = $10000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   142
	SDL_HWPALETTE   = $00200000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   143
	SDL_DOUBLEBUF   = $00400000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   144
	SDL_FULLSCREEN  = $00800000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   145
	SDL_HWACCEL     = $08000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   146
	SDL_SRCCOLORKEY = $00020000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   147
	SDL_RLEACCEL    = $08000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   148
	SDL_NOFRAME     = $02000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   149
	SDL_OPENGL      = $04000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   150
	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
   151
{$ELSE}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   152
	SDL_ASYNCBLIT   = $00000004;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   153
	SDL_ANYFORMAT   = $00100000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   154
	SDL_HWPALETTE   = $20000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   155
	SDL_DOUBLEBUF   = $40000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   156
	SDL_FULLSCREEN  = $80000000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   157
	SDL_HWACCEL     = $00000100;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   158
	SDL_SRCCOLORKEY = $00001000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   159
	SDL_RLEACCEL    = $00004000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   160
	SDL_NOFRAME     = $00000020;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   161
	SDL_OPENGL      = $00000002;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   162
	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
   163
{$ENDIF}
945
4ead9cde4e14 - Start chat implementation: chat strings are on the screen
unc0rr
parents: 883
diff changeset
   164
2567
02ff5f9510b5 WE HAVE TOUCH INPUT
koda
parents: 2525
diff changeset
   165
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   166
{$IFDEF ENDIAN_LITTLE}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   167
	RMask = $000000FF;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   168
	GMask = $0000FF00;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   169
	BMask = $00FF0000;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   170
	AMask = $FF000000;
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   171
{$ELSE}
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   172
	RMask = $FF000000;
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   173
	GMask = $00FF0000;
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   174
	BMask = $0000FF00;
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   175
	AMask = $000000FF;
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   176
{$ENDIF}
2575
d06e0e829828 update color management for new sdl_image on mac
koda
parents: 2567
diff changeset
   177
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   178
{$IFDEF SDL13}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   179
// SDL_WindowFlags (enum)
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   180
    SDL_WINDOW_FULLSCREEN = $00000001;         //*< fullscreen window, implies borderless */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   181
    SDL_WINDOW_OPENGL = $00000002;             //*< window usable with OpenGL context */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   182
    SDL_WINDOW_SHOWN = $00000004;              //*< window is visible */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   183
    SDL_WINDOW_BORDERLESS = $00000008;         //*< no window decoration */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   184
    SDL_WINDOW_RESIZABLE = $00000010;          //*< window can be resized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   185
    SDL_WINDOW_MINIMIZED = $00000020;          //*< window is minimized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   186
    SDL_WINDOW_MAXIMIZED = $00000040;          //*< window is maximized */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   187
    SDL_WINDOW_INPUT_GRABBED = $00000100;      //*< window has grabbed input focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   188
    SDL_WINDOW_INPUT_FOCUS = $00000200;        //*< window has input focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   189
    SDL_WINDOW_MOUSE_FOCUS = $00000400;        //*< window has mouse focus */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   190
    SDL_WINDOW_FOREIGN = $00000800;            //*< window not created by SDL */
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   191
{$ENDIF}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   192
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   193
	{* SDL_mixer *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   194
	MIX_MAX_VOLUME = 128;
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
   195
	MIX_INIT_FLAC = $00000001;
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
   196
	MIX_INIT_MOD  = $00000002;
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
   197
	MIX_INIT_MP3  = $00000004;
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
   198
	MIX_INIT_OGG  = $00000008;
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
   199
	
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   200
	{* SDL_TTF *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   201
	TTF_STYLE_NORMAL = 0;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   202
	TTF_STYLE_BOLD   = 1;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   203
	TTF_STYLE_ITALIC = 2;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   204
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   205
	{* SDL Joystick *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   206
	SDL_HAT_CENTERED  = $00;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   207
	SDL_HAT_UP        = $01;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   208
	SDL_HAT_RIGHT     = $02;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   209
	SDL_HAT_DOWN      = $04;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   210
	SDL_HAT_LEFT      = $08;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   211
	SDL_HAT_RIGHTUP   = SDL_HAT_RIGHT or SDL_HAT_UP;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   212
	SDL_HAT_RIGHTDOWN = SDL_HAT_RIGHT or SDL_HAT_DOWN;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   213
	SDL_HAT_LEFTUP    = SDL_HAT_LEFT or SDL_HAT_UP;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   214
	SDL_HAT_LEFTDOWN  = SDL_HAT_LEFT or SDL_HAT_DOWN;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   215
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   216
	{* SDL_image *}
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   217
	IMG_INIT_JPG = $00000001;
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   218
	IMG_INIT_PNG = $00000002;
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   219
	IMG_INIT_TIF = $00000004;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   220
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   221
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   222
///////////////////////  TYPE DEFINITIONS ///////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   223
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   224
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   225
type 
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   226
	PSDL_Rect = ^TSDL_Rect;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   227
	TSDL_Rect = record
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   228
{$IFDEF SDL13}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   229
		x, y, w, h: LongInt;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   230
{$ELSE}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   231
		x, y: SmallInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   232
		w, h: Word;
2390
57fb33ab04a4 converts some gl calls to gles
koda
parents: 2379
diff changeset
   233
{$ENDIF}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   234
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   235
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   236
	TPoint = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   237
		X: LongInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   238
		Y: LongInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   239
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   240
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   241
	PSDL_PixelFormat = ^TSDL_PixelFormat;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   242
	TSDL_PixelFormat = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   243
		palette: Pointer;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   244
		BitsPerPixel : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   245
		BytesPerPixel: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   246
		Rloss : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   247
		Gloss : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   248
		Bloss : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   249
		Aloss : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   250
		Rshift: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   251
		Gshift: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   252
		Bshift: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   253
		Ashift: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   254
		RMask : Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   255
		GMask : Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   256
		BMask : Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   257
		AMask : Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   258
		colorkey: Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   259
		alpha : Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   260
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   261
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   262
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   263
	PSDL_Surface = ^TSDL_Surface;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   264
	TSDL_Surface = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   265
		flags : Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   266
		format: PSDL_PixelFormat;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   267
		w, h  : LongInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   268
		pitch : Word;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   269
		pixels: Pointer;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   270
		offset: LongInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   271
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   272
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   273
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   274
	PSDL_Color = ^TSDL_Color;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   275
	TSDL_Color = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   276
		case byte of
2619
bc2786a00fb8 fix wrong ttf blending in ppc
koda
parents: 2618
diff changeset
   277
			0: (	r: Byte;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   278
				g: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   279
				b: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   280
				unused: Byte;
2619
bc2786a00fb8 fix wrong ttf blending in ppc
koda
parents: 2618
diff changeset
   281
			   );
bc2786a00fb8 fix wrong ttf blending in ppc
koda
parents: 2618
diff changeset
   282
			1: (	value: Longword);
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   283
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   284
2248
26e11cb27c61 real fix for iphone color (reverting previous commit)
koda
parents: 2242
diff changeset
   285
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   286
	PSDL_RWops = ^TSDL_RWops;
2599
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
   287
	TSeek  = function( context: PSDL_RWops; offset: LongInt; whence: LongInt ): LongInt; cdecl;
c7153d2348f3 move compiler directives to standard pascal
koda
parents: 2592
diff changeset
   288
	TRead  = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; maxnum : LongInt ): LongInt;  cdecl;
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   289
	TWrite = function( context: PSDL_RWops; Ptr: Pointer; size: LongInt; num: LongInt ): LongInt; cdecl;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   290
	TClose = function( context: PSDL_RWops ): LongInt; cdecl;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   291
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   292
	TStdio = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   293
		autoclose: LongInt;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   294
		fp: pointer;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   295
		end;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   296
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   297
	TMem = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   298
		base: PByte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   299
		here: PByte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   300
		stop: PByte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   301
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   302
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   303
	TUnknown = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   304
		data1: Pointer;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   305
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   306
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   307
	TSDL_RWops = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   308
		seek: TSeek;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   309
		read: TRead;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   310
		write: TWrite;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   311
		close: TClose;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   312
		type_: Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   313
		case Byte of
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   314
			0: (stdio: TStdio);
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   315
			1: (mem: TMem);
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   316
			2: (unknown: TUnknown);
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   317
			end;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   318
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   319
	TSDL_KeySym = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   320
		scancode: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   321
		sym: Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   322
		modifier: Longword;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   323
		unicode: Word;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   324
		end;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   325
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   326
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   327
{* SDL_Event type definition *}
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   328
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   329
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   330
	TSDL_WindowID = LongInt;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   331
	TSDL_TextureID = LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   332
	
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   333
	TSDL_WindowEvent = record
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   334
		type_: byte;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   335
		gain: byte;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   336
		state: byte;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   337
		windowID: TSDL_WindowID;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   338
		data1, data2: LongInt;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   339
		end;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   340
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   341
// implement SDL_TextEditingEvent + SDL_TextInputEvent for sdl13
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   342
{$ELSE}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   343
	TSDL_ActiveEvent = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   344
		type_: byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   345
		gain: byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   346
		state: byte;
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   347
		end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   348
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   349
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   350
	TSDL_MouseMotionEvent = record
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   351
		type_: byte;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   352
		which: byte;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   353
		state: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   354
{$IFDEF SDL13}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   355
		x, y, xrel, yrel : LongInt;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   356
		pressure, pressure_max, pressure_min,
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   357
		rotation, tilt, cursor: LongInt; 
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   358
{$ELSE}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   359
		x, y, xrel, yrel : word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   360
{$ENDIF}
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   361
		end;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   362
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   363
	TSDL_KeyboardEvent = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   364
		type_: Byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   365
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   366
		windowID: TSDL_WindowID;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   367
{$ENDIF}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   368
		which: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   369
		state: Byte;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   370
		keysym: TSDL_KeySym;
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   371
		end;
308
806c3b55500d Release mouse when keyboard focus lost
unc0rr
parents: 206
diff changeset
   372
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   373
	TSDL_MouseButtonEvent = record
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   374
		_type,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   375
		which,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   376
		button,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   377
		state: byte;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   378
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   379
		x, y: LongInt;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   380
{$ELSE}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   381
		x, y: word;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   382
{$ENDIF}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   383
		end;
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   384
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   385
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   386
	TSDL_MouseWheelEvent = record
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   387
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   388
		windowID: TSDL_WindowID;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   389
		which: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   390
		x, y: LongInt;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   391
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   392
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   393
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   394
	TSDL_JoyAxisEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   395
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   396
		which: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   397
		axis: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   398
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   399
		value: LongInt;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   400
{$ELSE}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   401
		value: word;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   402
{$ENDIF}	
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   403
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   404
			
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   405
	TSDL_JoyBallEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   406
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   407
		which: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   408
		ball: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   409
{$IFDEF SDL13}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   410
		xrel, yrel: LongInt;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   411
{$ELSE}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   412
		xrel, yrel: word;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   413
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   414
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   415
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   416
	TSDL_JoyHatEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   417
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   418
		which: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   419
		hat: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   420
		value: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   421
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   422
	
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   423
	TSDL_JoyButtonEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   424
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   425
		which: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   426
		button: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   427
		state: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   428
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   429
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   430
	TSDL_QuitEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   431
                type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   432
                end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   433
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   434
{$IFNDEF SDL13}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   435
	TSDL_ResizeEvent = record
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   436
		type_: Byte;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   437
		w, h: LongInt;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   438
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   439
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   440
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   441
	PSDL_Event = ^TSDL_Event;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   442
	TSDL_Event = record
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   443
		case Byte of
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   444
			SDL_NOEVENT: (type_: byte);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   445
{$IFDEF SDL13}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   446
			SDL_WINDOWEVENT: (active: TSDL_WindowEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   447
			SDL_KEYDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   448
			SDL_KEYUP: (key: TSDL_KeyboardEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   449
			SDL_TEXTEDITING,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   450
			SDL_TEXTINPUT: (txtin: byte);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   451
			SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   452
			SDL_MOUSEBUTTONDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   453
			SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   454
			SDL_MOUSEWHEEL: (wheel: TSDL_MouseWheelEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   455
			SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   456
			SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   457
			SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   458
			SDL_JOYBUTTONDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   459
			SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   460
			SDL_QUITEV: (quit: TSDL_QuitEvent);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   461
{$ELSE}
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   462
			SDL_ACTIVEEVENT: (active: TSDL_ActiveEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   463
			SDL_KEYDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   464
			SDL_KEYUP: (key: TSDL_KeyboardEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   465
			SDL_MOUSEMOTION: (motion: TSDL_MouseMotionEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   466
			SDL_MOUSEBUTTONDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   467
			SDL_MOUSEBUTTONUP: (button: TSDL_MouseButtonEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   468
			SDL_JOYAXISMOTION: (jaxis: TSDL_JoyAxisEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   469
			SDL_JOYHATMOTION: (jhat: TSDL_JoyHatEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   470
			SDL_JOYBALLMOTION: (jball: TSDL_JoyBallEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   471
			SDL_JOYBUTTONDOWN,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   472
			SDL_JOYBUTTONUP: (jbutton: TSDL_JoyButtonEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   473
			SDL_QUITEV: (quit: TSDL_QuitEvent);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   474
			//SDL_SYSWMEVENT,SDL_EVENT_RESERVEDA,SDL_EVENT_RESERVEDB
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   475
			//SDL_VIDEORESIZE: (resize: TSDL_ResizeEvent);
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   476
{$ENDIF}
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   477
		end;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   478
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   479
	PByteArray = ^TByteArray;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   480
	TByteArray = array[0..65535] of Byte;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   481
	PLongWordArray = ^TLongWordArray;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   482
	TLongWordArray = array[0..16383] of LongWord;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   483
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   484
	PSDL_Thread = Pointer;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   485
	PSDL_mutex = Pointer;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   486
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   487
	TSDL_GLattr = (
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   488
		SDL_GL_RED_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   489
		SDL_GL_GREEN_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   490
		SDL_GL_BLUE_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   491
		SDL_GL_ALPHA_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   492
		SDL_GL_BUFFER_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   493
		SDL_GL_DOUBLEBUFFER,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   494
		SDL_GL_DEPTH_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   495
		SDL_GL_STENCIL_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   496
		SDL_GL_ACCUM_RED_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   497
		SDL_GL_ACCUM_GREEN_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   498
		SDL_GL_ACCUM_BLUE_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   499
		SDL_GL_ACCUM_ALPHA_SIZE,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   500
		SDL_GL_STEREO,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   501
		SDL_GL_MULTISAMPLEBUFFERS,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   502
		SDL_GL_MULTISAMPLESAMPLES,
2618
23ee71bd049b JS patch to (really) activate Vsync
koda
parents: 2617
diff changeset
   503
		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
   504
{$IFDEF SDL13}
2379
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   505
		SDL_GL_RETAINED_BACKING,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   506
		SDL_GL_CONTEXT_MAJOR_VERSION,
d62b1f224982 - Implement zoom reset
unc0rr
parents: 2376
diff changeset
   507
		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
   508
{$ELSE}
2618
23ee71bd049b JS patch to (really) activate Vsync
koda
parents: 2617
diff changeset
   509
		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
   510
{$ENDIF}
2630
079ef82eac75 revamped file access and debug display
koda
parents: 2619
diff changeset
   511
		);
2376
ece7b87f1334 Strip trailing spaces
nemo
parents: 2254
diff changeset
   512
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   513
{$IFDEF SDL13}
2586
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   514
	TSDL_ArrayByteOrder = (  // array component order, low byte -> high byte 
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   515
		SDL_ARRAYORDER_NONE,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   516
		SDL_ARRAYORDER_RGB,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   517
		SDL_ARRAYORDER_RGBA,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   518
		SDL_ARRAYORDER_ARGB,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   519
		SDL_ARRAYORDER_BGR,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   520
		SDL_ARRAYORDER_BGRA,
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   521
		SDL_ARRAYORDER_ABGR
204e6b2885bc added little/big endian checks, added symbol for touch input, simplified iphoneos definitions
koda
parents: 2579
diff changeset
   522
		);
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   523
{$ENDIF}
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   524
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   525
// Joystick/Controller support
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   526
	PSDL_Joystick = ^TSDL_Joystick;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   527
	TSDL_Joystick = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   528
			end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   529
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   530
	{* SDL_TTF *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   531
	PTTF_Font = ^TTTF_font;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   532
	TTTF_Font = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   533
		    end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   534
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   535
	{* SDL_mixer *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   536
	PMixChunk = ^TMixChunk;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   537
	TMixChunk = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   538
		allocated: Longword;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   539
		abuf     : PByte;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   540
		alen     : Longword;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   541
		volume   : PByte;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   542
		end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   543
	TMusic = (MUS_CMD, MUS_WAV, MUS_MOD, MUS_MID, MUS_OGG, MUS_MP3);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   544
	TMix_Fading = (MIX_NO_FADING, MIX_FADING_OUT, MIX_FADING_IN);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   545
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   546
	TMidiSong = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   547
               samples : LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   548
               events  : pointer;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   549
               end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   550
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   551
	TMusicUnion = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   552
		case Byte of
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   553
		     0: ( midi : TMidiSong );
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   554
		     1: ( ogg  : pointer);
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   555
		     end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   556
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   557
	PMixMusic = ^TMixMusic;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   558
	TMixMusic = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   559
                 end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   560
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   561
	{* SDL_net *}
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   562
	TIPAddress = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   563
                  host: Longword;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   564
                  port: Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   565
                  end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   566
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   567
	PTCPSocket = ^TTCPSocket;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   568
	TTCPSocket = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   569
                  ready: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   570
                  channel: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   571
                  remoteAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   572
                  localAddress: TIPaddress;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   573
                  sflag: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   574
                  end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   575
	PSDLNet_SocketSet = ^TSDLNet_SocketSet;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   576
	TSDLNet_SocketSet = record
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   577
                         numsockets,
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   578
                         maxsockets: LongInt;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   579
                         sockets: PTCPSocket;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   580
                         end;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   581
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   582
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   583
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   584
/////////////////////  FUNCTION DEFINITIONS /////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   585
/////////////////////////////////////////////////////////////////
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   586
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   587
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   588
{* SDL *}
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   589
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
   590
function  SDL_InitSubSystem(flags: LongWord): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   591
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
   592
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   593
function  SDL_VideoDriverName(var namebuf; maxlen: LongInt): PChar; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   594
procedure SDL_EnableUNICODE(enable: LongInt); cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   595
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   596
procedure SDL_Delay(msec: Longword); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   597
function  SDL_GetTicks: Longword; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   598
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   599
function  SDL_MustLock(Surface: PSDL_Surface): Boolean;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   600
function  SDL_LockSurface(Surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   601
procedure SDL_UnlockSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   602
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   603
function  SDL_GetError: PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   604
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   605
function  SDL_SetVideoMode(width, height, bpp: LongInt; flags: Longword): PSDL_Surface; cdecl; external SDLLibName;
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   606
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
   607
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
   608
procedure SDL_FreeSurface(Surface: PSDL_Surface); cdecl; external SDLLibName;
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   609
function  SDL_SetColorKey(surface: PSDL_Surface; flag, key: Longword): LongInt; cdecl; external SDLLibName;
2017
7845c77c8d31 nemo's great patch:
unc0rr
parents: 1997
diff changeset
   610
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
   611
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
   612
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   613
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
   614
function  SDL_FillRect(dst: PSDL_Surface; dstrect: PSDL_Rect; color: Longword): LongInt; cdecl; external SDLLibName;
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   615
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
   616
function  SDL_Flip(Screen: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   617
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   618
procedure SDL_GetRGB(pixel: Longword; fmt: PSDL_PixelFormat; r, g, b: PByte); cdecl; external SDLLibName;
107
b08ce0293a51 - Many type fixes
unc0rr
parents: 106
diff changeset
   619
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
   620
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
   621
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   622
function  SDL_DisplayFormat(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
35
9367f246fb5f - New rope
unc0rr
parents: 11
diff changeset
   623
function  SDL_DisplayFormatAlpha(Surface: PSDL_Surface): PSDL_Surface; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   624
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   625
function  SDL_RWFromFile(filename, mode: PChar): PSDL_RWops; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   626
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
   627
2152
a2811690da1b Patch by koda:
unc0rr
parents: 2017
diff changeset
   628
{$IFDEF SDL13}
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   629
function  SDL_CreateWindow(title: PChar; x,y,w,h, flags: LongInt): TSDL_WindowID; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   630
function  SDL_CreateRenderer(windowID: TSDL_WindowID; index, flags: LongInt): LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   631
function  SDL_SetRenderDrawColor(r,g,b,a: byte): LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   632
function  SDL_RenderFill(rect: PSDL_Rect): LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   633
function  SDL_RenderFillRect(rect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   634
function  SDL_RenderClear: LongInt; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   635
procedure SDL_RenderPresent; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   636
function  SDL_RenderCopy(textureID: TSDL_TextureID; srcrect, dstrect: PSDL_Rect): LongInt; cdecl; external SDLLibName;
2699
249adefa9c1c replace initialization/finalization statements with custom init functions
koda
parents: 2698
diff changeset
   637
procedure SDL_VideoQuit; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   638
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   639
function  SDL_CreateTextureFromSurface(format: LongInt; surface: PSDL_Surface): TSDL_TextureID; cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   640
procedure SDL_DestroyTexture(textureID: TSDL_TextureID); cdecl; external SDLLibName;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   641
2152
a2811690da1b Patch by koda:
unc0rr
parents: 2017
diff changeset
   642
function  SDL_GetKeyboardState(numkeys: PLongInt): PByteArray; cdecl; external SDLLibName;
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   643
function  SDL_SelectMouse(index: LongInt): LongInt; cdecl; external SDLLibName;
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   644
function  SDL_GetRelativeMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
2579
e5e4ebf528b5 more updates on touch input/control
koda
parents: 2575
diff changeset
   645
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
   646
function  SDL_PixelFormatEnumToMasks(format: TSDL_ArrayByteOrder; bpp: PLongInt; Rmask, Gmask, Bmask, Amask: PLongInt): boolean; cdecl; external SDLLibName;
2152
a2811690da1b Patch by koda:
unc0rr
parents: 2017
diff changeset
   647
{$ELSE}
105
e7cb9bb4a9de - Fixed integer->longint
unc0rr
parents: 95
diff changeset
   648
function  SDL_GetKeyState(numkeys: PLongInt): PByteArray; 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
   649
{$ENDIF}
2242
2e8251933b71 initial support for touch input
koda
parents: 2241
diff changeset
   650
function  SDL_GetMouseState(x, y: PLongInt): Byte; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   651
function  SDL_GetKeyName(key: Longword): PChar; cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   652
procedure SDL_WarpMouse(x, y: Word); cdecl; external SDLLibName;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   653
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   654
procedure SDL_PumpEvents; cdecl; external SDLLibName;
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   655
function  SDL_PollEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
2590
e7e87e3c67db touch control completely revamped
koda
parents: 2586
diff changeset
   656
function  SDL_WaitEvent(event: PSDL_Event): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   657
432
b0f693024b50 Delphi mode off
unc0rr
parents: 377
diff changeset
   658
function  SDL_ShowCursor(toggle: LongInt): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   659
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   660
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
   661
function  SDL_WM_ToggleFullScreen(surface: PSDL_Surface): LongInt; cdecl; external SDLLibName;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   662
433
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   663
function  SDL_CreateMutex: PSDL_mutex; cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   664
procedure SDL_DestroyMutex(mutex: PSDL_mutex); cdecl; external SDLLibName;
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   665
function  SDL_LockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexP';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   666
function  SDL_UnlockMutex(mutex: PSDL_mutex): LongInt; cdecl; external SDLLibName name 'SDL_mutexV';
9f8f22094c0e AI thinks in separate thread
unc0rr
parents: 432
diff changeset
   667
2252
03fd99dff989 accessory stuff for iphone
koda
parents: 2251
diff changeset
   668
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
   669
procedure SDL_GL_SwapBuffers(); cdecl; external SDLLibName;
40fc0deb388f Start conversion to OpenGL rendering
unc0rr
parents: 500
diff changeset
   670
2254
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   671
{$IFDEF IPHONEOS}
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   672
function  SDL_iPhoneKeyboardShow(windowID: LongInt): LongInt; cdecl; external SDLLibName;
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   673
function  SDL_iPhoneKeyboardHide(windowID: LongInt): LongInt; cdecl; external SDLLibName;
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   674
function  SDL_iPhoneKeyboardIsShown(windowID: LongInt): boolean; cdecl; external SDLLibName;
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   675
function  SDL_iPhoneKeyboardToggle(windowID: LongInt): LongInt; cdecl; external SDLLibName;
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   676
{$ENDIF}
bb68e5a5be56 -fix bamboo theme (unsupported color profile)
koda
parents: 2253
diff changeset
   677
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   678
function  SDL_NumJoysticks: LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   679
function  SDL_JoystickName(idx: LongInt): PChar; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   680
function  SDL_JoystickOpen(idx: LongInt): PSDL_Joystick; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   681
function  SDL_JoystickOpened(idx: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   682
function  SDL_JoystickIndex(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   683
function  SDL_JoystickNumAxes(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   684
function  SDL_JoystickNumBalls(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   685
function  SDL_JoystickNumHats(joy: PSDL_Joystick): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   686
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
   687
procedure SDL_JoystickUpdate; cdecl; external SDLLibName;
2591
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   688
function  SDL_JoystickEventState(state: LongInt): LongInt; cdecl; external SDLLibName;
c6597b65caea other controls implementation + sdlh revisited (once again)
koda
parents: 2590
diff changeset
   689
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
   690
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
   691
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
   692
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
   693
procedure SDL_JoystickClose(joy: PSDL_Joystick); cdecl; external SDLLibName;
2428
6800f8aa0184 Huge Smaxx patch with some fixes by me:
unc0rr
parents: 2390
diff changeset
   694
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   695
(*  SDL_TTF  *)
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   696
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
   697
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
   698
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   699
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
   700
2664
949c189ba568 powerpc and gameserver compilation disabled temporarily
koda
parents: 2663
diff changeset
   701
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
   702
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
   703
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
   704
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   705
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
   706
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
   707
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   708
(*  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
   709
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
   710
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
   711
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   712
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
   713
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
   714
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   715
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
   716
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
   717
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
   718
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   719
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
   720
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
   721
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
   722
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   723
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
   724
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
   725
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   726
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
   727
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
   728
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
   729
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   730
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
   731
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
   732
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
   733
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
   734
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
   735
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
   736
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   737
(*  SDL_image  *)
2669
4eec706e86b0 introduction of IMG_Init
koda
parents: 2667
diff changeset
   738
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
   739
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
   740
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   741
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
   742
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
   743
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
   744
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
   745
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   746
(*  SDL_net  *)
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   747
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
   748
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
   749
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   750
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
   751
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
   752
function  SDLNet_TCP_Accept(server: PTCPsocket): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   753
function  SDLNet_TCP_Open(var ip: TIPaddress): PTCPSocket; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   754
function  SDLNet_TCP_Send(sock: PTCPsocket; data: Pointer; len: LongInt): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   755
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
   756
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
   757
procedure SDLNet_FreeSocketSet(_set: PSDLNet_SocketSet); cdecl; external SDL_NetLibName;
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   758
function  SDLNet_AddSocket(_set: PSDLNet_SocketSet; sock: PTCPSocket): LongInt; cdecl; external SDL_NetLibName;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   759
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
   760
2515
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   761
51d3f4b6293a revert audio to use SDL_mixer -- also frontend uses it, so it needs sdlmixer sources
koda
parents: 2477
diff changeset
   762
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
   763
procedure SDLNet_Write32(value: LongWord; buf: pointer);
2600
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   764
function  SDLNet_Read16(buf: pointer): Word;
7b21daf84933 revamped SDLh.pas
koda
parents: 2599
diff changeset
   765
function  SDLNet_Read32(buf: pointer): LongWord;
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   766
implementation
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   767
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   768
function SDL_MustLock(Surface: PSDL_Surface): Boolean;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   769
begin
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   770
	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
   771
end;
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   772
459
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   773
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
   774
begin
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   775
	PByteArray(buf)^[1]:= value;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   776
	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
   777
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   778
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   779
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
   780
begin
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   781
	PByteArray(buf)^[3]:= value;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   782
	PByteArray(buf)^[2]:= value shr  8;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   783
	PByteArray(buf)^[1]:= value shr 16;
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   784
	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
   785
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   786
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   787
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
   788
begin
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   789
	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
   790
                 (PByteArray(buf)^[0] shl 8)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   791
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   792
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   793
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
   794
begin
2663
d53918cd22bb random updates for 10.6 and iphone builds
koda
parents: 2633
diff changeset
   795
	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
   796
                  (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
   797
                  (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
   798
                  (PByteArray(buf)^[0] shl 24)
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   799
end;
95163c6efa69 Do not use SDL_Net's to/from network byte order conversion functions
unc0rr
parents: 433
diff changeset
   800
2697
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   801
{$IFDEF SDL13}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   802
function SDL_RenderFill(rect: PSDL_Rect): LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   803
var res: LongInt;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   804
begin
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   805
	if (rect <> nil) then res:= SDL_RenderFillRect(rect)
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   806
	else res:= SDL_RenderClear();
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   807
	exit(res);
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   808
end;
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   809
{$ENDIF}
75880595a9f1 code cleanup and opengles optimizations
koda
parents: 2690
diff changeset
   810
4
bcbd7adb4e4b - set svn:eol-style to native
unc0rr
parents: 1
diff changeset
   811
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
   812