LZScene

Форк
0
/
sdl2.inc 
548 строк · 11.2 Кб
1
{*******************************************************************************
2

3
  SDL2.pas        v1.0  29/07/2013 first version for DelphiXE
4
                  v1.1  27/08/2013 add MACOS compability
5

6
  Simple DirectMedia Layer
7
  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
8

9
  Pascal-Header-Conversion SDL from the JEDI-Team written by Domenique Louis and others.
10
  Pascal-Header-Conversion SDL2 from the Copyright (C) 2012/13 Tim Blume aka End.
11

12
  convert SDL/SDL2 to SDL2 for DelphiXE by Kotai 2013  www.remakesonline.com
13

14
  The initial developer of this Pascal code was :
15
  Dominqiue Louis <Dominique@SavageSoftware.com.au>
16

17

18
*******************************************************************************}
19

20

21
{$define Debug}           { uncomment for debugging }
22
{$define no_smpeg}
23

24

25

26
{$IFNDEF FPC}
27
  {$IFDEF Debug}
28
    {$F+,D+,Q-,L+,R+,I-,S+,Y+,A+}
29
  {$ELSE}
30
    {$F+,Q-,R-,S-,I-,A+}
31
  {$ENDIF}
32
{$ELSE}  {FPC}
33
  //{$M+}
34
{$ENDIF} {FPC}
35

36

37
{$IFDEF LINUX}
38
{$DEFINE UNIX}
39
{$ENDIF}
40

41

42
{$IFDEF ver70}
43
   {$IFDEF Windows}
44
     {$DEFINE Win16}
45
   {$ENDIF Windows}
46
   {$IFDEF MSDOS}
47
     {$DEFINE NO_EXPORTS}
48
   {$ENDIF MSDOS}
49
   {$IFDEF DPMI}
50
     {$DEFINE BP_DPMI}
51
   {$ENDIF}
52
   {$DEFINE OS_16_BIT}
53
   {$DEFINE __OS_DOS__}
54
{$ENDIF ver70}
55

56

57
{$IFDEF ver80}
58
   {$DEFINE Delphi}      {Delphi 1.x}
59
   {$DEFINE Delphi16}
60
   {$DEFINE Win16}
61
   {$DEFINE OS_16_BIT}
62
   {$DEFINE __OS_DOS__}
63
{$ENDIF ver80}
64

65

66
{$IFDEF ver90}
67
   {$DEFINE Delphi}      {Delphi 2.x}
68
   {$DEFINE WIN32}
69
   {$DEFINE WINDOWS}
70
{$ENDIF ver90}
71

72

73
{$IFDEF ver100}
74
   {$DEFINE Delphi}      {Delphi 3.x}
75
   {$DEFINE WIN32}
76
   {$DEFINE WINDOWS}
77
{$ENDIF ver100}
78

79

80
{$IFDEF ver93}
81
   {$DEFINE Delphi}      {C++ Builder 1.x}
82
   {$DEFINE WINDOWS}
83
{$ENDIF ver93}
84

85

86
{$IFDEF ver110}
87
   {$DEFINE Delphi}      {C++ Builder 3.x}
88
   {$DEFINE WINDOWS}
89
{$ENDIF ver110}
90

91

92
{$IFDEF ver120}
93
   {$DEFINE Delphi}      {Delphi 4.x}
94
   {$DEFINE Delphi4UP}
95
   {$DEFINE Has_Int64}
96
   {$DEFINE WINDOWS}
97
{$ENDIF ver120}
98

99

100
{$IFDEF ver130}
101
   {$DEFINE Delphi}      {Delphi / C++ Builder 5.x}
102
   {$DEFINE Delphi4UP}
103
   {$DEFINE Delphi5UP}
104
   {$DEFINE Has_Int64}
105
   {$DEFINE WINDOWS}
106
{$ENDIF ver130}
107

108

109
{$IFDEF ver140}
110
   {$DEFINE Delphi}      {Delphi / C++ Builder 6.x}
111
   {$DEFINE Delphi4UP}
112
   {$DEFINE Delphi5UP}
113
   {$DEFINE Delphi6UP}
114
   {$DEFINE Has_Int64}
115
   {$DEFINE HAS_TYPES}
116
{$ENDIF ver140}
117

118

119
{$IFDEF ver150}
120
   {$DEFINE Delphi}      {Delphi 7.x}
121
   {$DEFINE Delphi4UP}
122
   {$DEFINE Delphi5UP}
123
   {$DEFINE Delphi6UP}
124
   {$DEFINE Delphi7UP}
125
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
126
   {$DEFINE Has_Int64}
127
   {$DEFINE Has_UInt64}
128
   {$DEFINE Has_Native}
129
   {$DEFINE HAS_TYPES}
130
{$ENDIF ver150}
131

132

133
{$IFDEF ver160}
134
   {$DEFINE Delphi}      {Delphi 8.x}
135
   {$DEFINE Delphi4UP}
136
   {$DEFINE Delphi5UP}
137
   {$DEFINE Delphi6UP}
138
   {$DEFINE Delphi7UP}
139
   {$DEFINE Delphi8UP}
140
   {$DEFINE Has_Int64}
141
   {$DEFINE Has_UInt64}
142
   {$DEFINE Has_Native}
143
   {$DEFINE HAS_TYPES}
144
{$ENDIF ver160}
145

146

147
{$IFDEF ver170}
148
   {$DEFINE Delphi}      {Delphi / C++ Builder 2005}
149
   {$DEFINE Delphi4UP}
150
   {$DEFINE Delphi5UP}
151
   {$DEFINE Delphi6UP}
152
   {$DEFINE Delphi7UP}
153
   {$DEFINE Delphi8UP}
154
   {$DEFINE Delphi9UP}
155
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
156
   {$DEFINE Has_Int64}
157
   {$DEFINE Has_UInt64}
158
   {$DEFINE Has_Native}
159
   {$DEFINE HAS_TYPES}
160
{$ENDIF ver170}
161

162

163
{$IFDEF ver180}
164
   {$DEFINE Delphi}      {Delphi / C++ Builder 2006 / 2007}
165
   {$DEFINE Delphi4UP}
166
   {$DEFINE Delphi5UP}
167
   {$DEFINE Delphi6UP}
168
   {$DEFINE Delphi7UP}
169
   {$DEFINE Delphi8UP}
170
   {$DEFINE Delphi9UP}
171
   {$DEFINE Delphi10UP}
172
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
173
   {$DEFINE Has_Int64}
174
   {$DEFINE Has_UInt64}
175
   {$DEFINE Has_Native}
176
   {$DEFINE HAS_TYPES}
177
{$ENDIF ver180}
178

179

180
{$IFDEF ver185}
181
   {$DEFINE Delphi}      {Delphi / C++ Builder 2007}
182
   {$DEFINE Delphi4UP}
183
   {$DEFINE Delphi5UP}
184
   {$DEFINE Delphi6UP}
185
   {$DEFINE Delphi7UP}
186
   {$DEFINE Delphi8UP}
187
   {$DEFINE Delphi9UP}
188
   {$DEFINE Delphi10UP}
189
   {$DEFINE Delphi11UP}
190
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
191
   {$DEFINE Has_Int64}
192
   {$DEFINE Has_UInt64}
193
   {$DEFINE Has_Native}
194
   {$DEFINE HAS_TYPES}
195
{$ENDIF ver185}
196

197

198
{$IFDEF ver190}
199
   {$DEFINE Delphi}      {Delphi / C++ Builder 2007 }
200
   {$DEFINE Delphi4UP}
201
   {$DEFINE Delphi5UP}
202
   {$DEFINE Delphi6UP}
203
   {$DEFINE Delphi7UP}
204
   {$DEFINE Delphi8UP}
205
   {$DEFINE Delphi9UP}
206
   {$DEFINE Delphi10UP}
207
   {$DEFINE Delphi11UP}
208
   {$DEFINE Delphi12UP}
209
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
210
   {$DEFINE Has_Int64}
211
   {$DEFINE Has_UInt64}
212
   {$DEFINE Has_Native}
213
   {$DEFINE HAS_TYPES}
214
{$ENDIF ver190}
215

216

217
{$IFDEF ver200}
218
   {$DEFINE Delphi}      {Delphi / C++ Builder 2009 }
219
   {$DEFINE Delphi4UP}
220
   {$DEFINE Delphi5UP}
221
   {$DEFINE Delphi6UP}
222
   {$DEFINE Delphi7UP}
223
   {$DEFINE Delphi8UP}
224
   {$DEFINE Delphi9UP}
225
   {$DEFINE Delphi10UP}
226
   {$DEFINE Delphi11UP}
227
   {$DEFINE Delphi12UP}
228
   {$DEFINE Delphi13UP}
229
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
230
   {$DEFINE Has_Int64}
231
   {$DEFINE Has_UInt64}
232
   {$DEFINE Has_Native}
233
   {$DEFINE HAS_TYPES}
234
{$ENDIF ver200}
235

236

237
{$IFDEF ver210}
238
   {$DEFINE Delphi}      {Delphi / C++ Builder 2010}
239
   {$DEFINE Delphi4UP}
240
   {$DEFINE Delphi5UP}
241
   {$DEFINE Delphi6UP}
242
   {$DEFINE Delphi7UP}
243
   {$DEFINE Delphi8UP}
244
   {$DEFINE Delphi9UP}
245
   {$DEFINE Delphi10UP}
246
   {$DEFINE Delphi11UP}
247
   {$DEFINE Delphi12UP}
248
   {$DEFINE Delphi13UP}
249
   {$DEFINE Delphi14UP}
250
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
251
   {$DEFINE Has_Int64}
252
   {$DEFINE Has_UInt64}
253
   {$DEFINE Has_Native}
254
   {$DEFINE HAS_TYPES}
255
{$ENDIF ver210}
256

257

258
{$IFDEF ver220}
259
   {$DEFINE Delphi}      {Delphi / C++ Builder XE}
260
   {$DEFINE Delphi4UP}
261
   {$DEFINE Delphi5UP}
262
   {$DEFINE Delphi6UP}
263
   {$DEFINE Delphi7UP}
264
   {$DEFINE Delphi8UP}
265
   {$DEFINE Delphi9UP}
266
   {$DEFINE Delphi10UP}
267
   {$DEFINE Delphi11UP}
268
   {$DEFINE Delphi12UP}
269
   {$DEFINE Delphi13UP}
270
   {$DEFINE Delphi14UP}
271
   {$DEFINE Delphi15UP}
272
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
273
   {$DEFINE Has_Int64}
274
   {$DEFINE Has_UInt64}
275
   {$DEFINE Has_Native}
276
   {$DEFINE HAS_TYPES}
277
{$ENDIF ver220}
278

279

280
{$IFDEF ver230}
281
   {$DEFINE Delphi}      {Delphi / C++ Builder XE2}
282
   {$DEFINE Delphi4UP}
283
   {$DEFINE Delphi5UP}
284
   {$DEFINE Delphi6UP}
285
   {$DEFINE Delphi7UP}
286
   {$DEFINE Delphi8UP}
287
   {$DEFINE Delphi9UP}
288
   {$DEFINE Delphi10UP}
289
   {$DEFINE Delphi11UP}
290
   {$DEFINE Delphi12UP}
291
   {$DEFINE Delphi13UP}
292
   {$DEFINE Delphi14UP}
293
   {$DEFINE Delphi15UP}
294
   {$DEFINE Delphi16UP}
295
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
296
   {$DEFINE Has_Int64}
297
   {$DEFINE Has_UInt64}
298
   {$DEFINE Has_Native}
299
   {$DEFINE HAS_TYPES}
300
{$ENDIF ver230}
301

302

303
{$IFDEF ver240}
304
   {$DEFINE Delphi}      {Delphi / C++ Builder XE3}
305
   {$DEFINE Delphi4UP}
306
   {$DEFINE Delphi5UP}
307
   {$DEFINE Delphi6UP}
308
   {$DEFINE Delphi7UP}
309
   {$DEFINE Delphi8UP}
310
   {$DEFINE Delphi9UP}
311
   {$DEFINE Delphi10UP}
312
   {$DEFINE Delphi11UP}
313
   {$DEFINE Delphi12UP}
314
   {$DEFINE Delphi13UP}
315
   {$DEFINE Delphi14UP}
316
   {$DEFINE Delphi15UP}
317
   {$DEFINE Delphi16UP}
318
   {$DEFINE Delphi17UP}
319
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
320
   {$DEFINE Has_Int64}
321
   {$DEFINE Has_UInt64}
322
   {$DEFINE Has_Native}
323
   {$DEFINE HAS_TYPES}
324
{$ENDIF ver240}
325

326

327
{$IFDEF ver250}
328
   {$DEFINE Delphi}      {Delphi / C++ Builder XE4}
329
   {$DEFINE Delphi4UP}
330
   {$DEFINE Delphi5UP}
331
   {$DEFINE Delphi6UP}
332
   {$DEFINE Delphi7UP}
333
   {$DEFINE Delphi8UP}
334
   {$DEFINE Delphi9UP}
335
   {$DEFINE Delphi10UP}
336
   {$DEFINE Delphi11UP}
337
   {$DEFINE Delphi12UP}
338
   {$DEFINE Delphi13UP}
339
   {$DEFINE Delphi14UP}
340
   {$DEFINE Delphi15UP}
341
   {$DEFINE Delphi16UP}
342
   {$DEFINE Delphi17UP}
343
   {$DEFINE Delphi18UP}
344
   {$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types}
345
   {$DEFINE Has_Int64}
346
   {$DEFINE Has_UInt64}
347
   {$DEFINE Has_Native}
348
   {$DEFINE HAS_TYPES}
349
{$ENDIF ver250}
350

351

352
{$IFDEF UNIX}
353
  {$ifdef VER140}    // Kylix 1 & 2
354
    {$DEFINE KYLIX}
355
    {$DEFINE KYLIX1UP}
356
    {$DEFINE KYLIX2UP}
357
    {$DEFINE HAS_TYPES}
358
  {$endif}
359

360

361
  {$ifdef VER150}   // Kylix 3
362
    {$DEFINE KYLIX}
363
    {$DEFINE KYLIX1UP}
364
    {$DEFINE KYLIX2UP}
365
    {$DEFINE KYLIX3UP}
366
    {$DEFINE HAS_TYPES}
367
  {$endif}
368
{$ENDIF UNIX}
369

370

371
{$IFDEF VirtualPascal} {  Virtual Pascal 2.x }
372
   {$DEFINE Delphi}    {  Use Delphi Syntax }
373
   {$DEFINE VP2}
374
   {&Delphi+}
375
{$ENDIF VirtualPascal}
376

377

378
{$IFDEF Delphi}
379
  {$IFDEF MSWINDOWS}
380
     {$DEFINE Windows}
381
  {$ENDIF MSWINDOWS}
382
  {$DEFINE USE_STDCALL}
383
  {$IFDEF WIN32}
384
    {$DEFINE DELPHI32}
385
  {$ELSE}
386
    {$IFDEF WIN64}
387
	  {$DEFINE DELPHI64}
388
	{$ELSE}
389
	  {$DEFINE DELPHI16}
390
	{$ENDIF}
391
  {$ENDIF}
392
  //{$ALIGN ON}
393
{$ENDIF Delphi}
394

395

396
{$IFDEF FPC}
397
  {$MODE Delphi}          { use Delphi compatibility mode }
398
  {$H+}
399
  {$PACKRECORDS C}        // Added for record
400
  {$MACRO ON}             // Added For OpenGL
401
  {$DEFINE Delphi}
402
  {$DEFINE UseAT}
403
  {$UNDEF USE_STDCALL}
404
  {$DEFINE OS_BigMem}
405
  {$DEFINE NO_EXPORTS}
406
  {$DEFINE Has_UInt64}
407
  {$DEFINE Has_Int64}
408
  {$DEFINE Has_Native}
409
  {$DEFINE NOCRT}
410
  {$IFDEF UNIX}
411
     {$DEFINE fpc_unix}
412
  {$ELSE}
413
     {$DEFINE __OS_DOS__}
414
  {$ENDIF}
415
  {$IFDEF WIN32}
416
   {$DEFINE UseWin}
417
  {$ENDIF}
418
  {$DEFINE HAS_TYPES}
419
{$ENDIF FPC}
420

421

422
{$IFDEF Win16}
423
  {$K+}   {smart callbacks}
424
{$ENDIF Win16}
425

426

427
 {$IFDEF OS2}
428
    {$UNDEF Windows}
429
    {$DEFINE UseWin}
430
    {$DEFINE OS_BigMem}
431
 {$ENDIF OS2}
432

433

434
{$IFDEF __TMT__}
435
  {$DEFINE OS_BigMem}
436
  {$DEFINE NO_EXPORTS}
437
  {$DEFINE __OS_DOS__}
438
  {$DEFINE UseAT}
439
  {$IFNDEF MSDOS}
440
    {$DEFINE USE_STDCALL}
441
  {$ENDIF}
442

443

444
  {$IFDEF __WIN32__}
445
    {$DEFINE Win32}
446
    {$DEFINE UseWin}
447
    {$DEFINE NOCRT}
448
    {$DEFINE Win32}
449
    {$IFNDEF __CON__}
450
      {$DEFINE Windows}
451
    {$ENDIF}
452
  {$ENDIF}
453

454

455
  {$A+}  // Word alignment data
456
  {$OA+} // Objects and structures align
457
{$ENDIF}
458

459

460
{$IFDEF Win32}
461
  {$DEFINE OS_BigMem}
462
{$ELSE Win32}
463
  {$IFDEF ver70}
464
    {$DEFINE assembler}
465
  {$ENDIF} { use 16-bit assembler! }
466
{$ENDIF Win32}
467

468

469
{ ************************** dos/dos-like platforms **************}
470
{$IFDEF Windows}
471
   {$DEFINE __OS_DOS__}
472
   {$DEFINE UseWin}
473
//   {$DEFINE MSWINDOWS}
474
{$ENDIF Delphi}
475

476

477
{$IFDEF OS2}
478
   {$DEFINE __OS_DOS__}
479
   {$DEFINE Can_Use_DLL}
480
{$ENDIF Delphi}
481

482

483
{$IFDEF UseWin}
484
   {$DEFINE Can_Use_DLL}
485
{$ENDIF}
486

487

488
{$IFDEF Win16}
489
   {$DEFINE Can_Use_DLL}
490
{$ENDIF}
491

492

493
{$IFDEF BP_DPMI}
494
   {$DEFINE Can_Use_DLL}
495
{$ENDIF}
496

497

498
{$IFDEF USE_STDCALL}
499
   {$IFNDEF __TMT__}
500
     {$DEFINE BY_NAME}
501
   {$ENDIF}
502
{$ENDIF}
503

504

505
{$IFNDEF ver70}
506
  {$UNDEF assembler}
507
{$ENDIF}
508

509

510
{*************** define LITTLE ENDIAN platforms ********************}
511

512

513

514

515
{$IFDEF Delphi}
516
{$DEFINE IA32}
517
{$ENDIF}
518

519

520
{$IFDEF KYLIX}
521
{$DEFINE IA32}
522
{$ENDIF}
523

524

525
{$IFDEF FPC}
526
{$IFDEF FPC_LITTLE_ENDIAN}
527
{$DEFINE IA32}
528
{$ENDIF}
529
{$ENDIF}
530

531

532
{*************** define 16/32/64 Bit ********************}
533

534

535
{$IFDEF WINDOWS}
536
  {$IFDEF WIN16}
537
    {$DEFINE 16BIT}
538
  {$ENDIF}
539
  {$IFDEF WIN32}
540
    {$DEFINE 32BIT}
541
  {$ENDIF}
542
  {$IFDEF WIN64}
543
    {$DEFINE 64BIT}
544
  {$ENDIF}
545
  {$ELSE}
546
    //TODO!!
547
    {$DEFINE 32BIT}
548
  {$ENDIF}
549

550

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.