mirror of
https://github.com/Laex/Delphi-OpenCV.git
synced 2024-11-15 15:55:53 +01:00
0922664aa2
Signed-off-by: Laentir Valetov <laex@bk.ru>
529 lines
16 KiB
PHP
529 lines
16 KiB
PHP
{
|
|
$Id: jedi-sdl.inc,v 1.15 2007/05/29 21:30:48 savage Exp $
|
|
}
|
|
{******************************************************************************}
|
|
{ }
|
|
{ Borland Delphi SDL - Simple DirectMedia Layer }
|
|
{ Global Conditional Definitions for JEDI-SDL cross-compilation }
|
|
{ }
|
|
{ }
|
|
{ The initial developer of this Pascal code was : }
|
|
{ Prof. Abimbola Olowofoyeku <http://www.bigfoot.com/~African_Chief/> }
|
|
{ }
|
|
{ Portions created by Prof. Abimbola Olowofoyeku are }
|
|
{ Copyright (C) 2000 - 2100 Prof. Abimbola Olowofoyeku. }
|
|
{ }
|
|
{ }
|
|
{ Contributor(s) }
|
|
{ -------------- }
|
|
{ Prof. Abimbola Olowofoyeku <http://www.bigfoot.com/~African_Chief/> }
|
|
{ Dominqiue Louis <Dominique@SavageSoftware.com.au> }
|
|
{ }
|
|
{ Obtained through: }
|
|
{ Joint Endeavour of Delphi Innovators ( Project JEDI ) }
|
|
{ }
|
|
{ You may retrieve the latest version of this file at the Project }
|
|
{ JEDI home page, located at http://delphi-jedi.org }
|
|
{ }
|
|
{ The contents of this file are used with permission, subject to }
|
|
{ the Mozilla Public License Version 1.1 (the "License"); you may }
|
|
{ not use this file except in compliance with the License. You may }
|
|
{ obtain a copy of the License at }
|
|
{ http://www.mozilla.org/MPL/MPL-1.1.html }
|
|
{ }
|
|
{ Software distributed under the License is distributed on an }
|
|
{ "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or }
|
|
{ implied. See the License for the specific language governing }
|
|
{ rights and limitations under the License. }
|
|
{ }
|
|
{ Description }
|
|
{ ----------- }
|
|
{ This code has been copied from... }
|
|
{ Global Conditional Definitions for Chief's UNZIP package }
|
|
{ By Prof. Abimbola Olowofoyeku (The African Chief) }
|
|
{ http://www.bigfoot.com/~African_Chief/ }
|
|
{ }
|
|
{ }
|
|
{ Requires }
|
|
{ -------- }
|
|
{ The SDL Runtime libraris on Win32 : SDL.dll on Linux : libSDL.so }
|
|
{ They are available from... }
|
|
{ http://www.libsdl.org . }
|
|
{ }
|
|
{ Programming Notes }
|
|
{ ----------------- }
|
|
{ }
|
|
{ }
|
|
{ }
|
|
{ }
|
|
{ Revision History }
|
|
{ ---------------- }
|
|
{ 2003-04-03 DL - Initial addition }
|
|
{ }
|
|
{ 2003-04-07 DL - Added Macro ON derective for FPC and OpenGL and removed }
|
|
{ WEAKPACKAGE derective. WEAKPACKAGE should be set when }
|
|
{ appropriate. }
|
|
{ }
|
|
{ 2003-04-23 - DL : under instruction from Alexey Barkovoy I have added }
|
|
{ better TMT Pascal support and under instruction }
|
|
{ from Prof. Abimbola Olowofoyeku (The African Chief) }
|
|
{ I have added better Gnu Pascal support }
|
|
{ }
|
|
{ 2004-01-19 - DL : Under instruction from Marco van de Voort, I have added }
|
|
{ Better FPC support for FreeBSD. }
|
|
{ }
|
|
(*
|
|
$Log: jedi-sdl.inc,v $
|
|
Revision 1.15 2007/05/29 21:30:48 savage
|
|
Changes as suggested by Almindor for 64bit compatibility.
|
|
|
|
Revision 1.14 2007/05/20 20:29:11 savage
|
|
Initial Changes to Handle 64 Bits
|
|
|
|
Revision 1.13 2007/01/21 15:51:45 savage
|
|
Added Delphi 2006 support
|
|
|
|
Revision 1.12 2006/11/19 18:41:01 savage
|
|
removed THREADING ON flag as it is no longer needed in latest versions of FPC.
|
|
|
|
Revision 1.11 2006/01/04 00:52:41 drellis
|
|
Updated to include defined for ENDIAN values, SDL_BYTEORDER should now be correctly defined depending onthe platform. Code taken from sdl_mixer
|
|
|
|
Revision 1.10 2005/05/22 18:42:31 savage
|
|
Changes as suggested by Michalis Kamburelis. Thanks again.
|
|
|
|
Revision 1.9 2004/12/23 23:42:17 savage
|
|
Applied Patches supplied by Michalis Kamburelis ( THANKS! ), for greater FreePascal compatability.
|
|
|
|
Revision 1.8 2004/10/20 22:43:04 savage
|
|
Ensure that UNSAFE type warning are off in D9 as well
|
|
|
|
Revision 1.7 2004/04/05 09:59:51 savage
|
|
Changes for FreePacal as suggested by Marco
|
|
|
|
Revision 1.6 2004/03/31 22:18:15 savage
|
|
Small comment for turning off warning under GnuPascal
|
|
|
|
Revision 1.5 2004/03/30 22:41:02 savage
|
|
Added extra commenting due to previous compiler directive
|
|
|
|
Revision 1.4 2004/03/30 22:08:33 savage
|
|
Added Kylix Define
|
|
|
|
Revision 1.3 2004/03/30 21:34:40 savage
|
|
{$H+} needed for FPC compatiblity
|
|
|
|
Revision 1.2 2004/02/14 00:23:39 savage
|
|
As UNIX is defined in jedi-sdl.inc this will be used to check linux compatability as well. Units have been changed to reflect this change.
|
|
|
|
*)
|
|
{******************************************************************************}
|
|
|
|
{.$define Debug} { uncomment for debugging }
|
|
|
|
{$IFNDEF FPC}
|
|
{$IFDEF __GPC__}
|
|
{$I-}
|
|
{$W-} // turn off GPC warnings
|
|
{$X+}
|
|
{$ELSE} {__GPC__}
|
|
{$IFDEF Debug}
|
|
{$F+,D+,Q-,L+,R+,I-,S+,Y+,A+}
|
|
{$ELSE}
|
|
{$F+,Q-,R-,S-,I-,A+}
|
|
{$ENDIF}
|
|
{$ENDIF} {__GPC__}
|
|
{$ELSE} {FPC}
|
|
//{$M+}
|
|
{$ENDIF} {FPC}
|
|
|
|
{$IFDEF LINUX}
|
|
{$DEFINE UNIX}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF ver70}
|
|
{$IFDEF Windows}
|
|
{$DEFINE Win16}
|
|
{$ENDIF Windows}
|
|
{$IFDEF MSDOS}
|
|
{$DEFINE NO_EXPORTS}
|
|
{$ENDIF MSDOS}
|
|
{$IFDEF DPMI}
|
|
{$DEFINE BP_DPMI}
|
|
{$ENDIF}
|
|
{$DEFINE OS_16_BIT}
|
|
{$DEFINE __OS_DOS__}
|
|
{$ENDIF ver70}
|
|
|
|
{$IFDEF ver80}
|
|
{$DEFINE Delphi} {Delphi 1.x}
|
|
{$DEFINE Delphi16}
|
|
{$DEFINE Win16}
|
|
{$DEFINE OS_16_BIT}
|
|
{$DEFINE __OS_DOS__}
|
|
{$ENDIF ver80}
|
|
|
|
{$IFDEF ver90}
|
|
{$DEFINE Delphi} {Delphi 2.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE WIN32}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver90}
|
|
|
|
{$IFDEF ver100}
|
|
{$DEFINE Delphi} {Delphi 3.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE WIN32}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver100}
|
|
|
|
{$IFDEF ver93}
|
|
{$DEFINE Delphi} {C++ Builder 1.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver93}
|
|
|
|
{$IFDEF ver110}
|
|
{$DEFINE Delphi} {C++ Builder 3.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver110}
|
|
|
|
{$IFDEF ver120}
|
|
{$DEFINE Delphi} {Delphi 4.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver120}
|
|
|
|
{$IFDEF ver130}
|
|
{$DEFINE Delphi} {Delphi 5.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE WINDOWS}
|
|
{$ENDIF ver130}
|
|
|
|
{$IFDEF ver140}
|
|
{$DEFINE Delphi} {Delphi 6.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver140}
|
|
|
|
{$IFDEF ver150}
|
|
{$DEFINE Delphi} {Delphi 7.x}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver150}
|
|
|
|
{$IFDEF ver160}
|
|
{$DEFINE Delphi} {Delphi 8}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver160}
|
|
|
|
{$IFDEF ver170}
|
|
{$DEFINE Delphi} {Delphi 2005}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver170}
|
|
|
|
{$IFDEF ver180}
|
|
{$DEFINE Delphi} {Delphi 2006}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver180}
|
|
|
|
{$IFDEF ver185}
|
|
{$DEFINE Delphi} {Delphi 2007}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF ver180}
|
|
|
|
{$IFDEF VER230} { Delphi XE2 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER230}
|
|
|
|
{$IFDEF VER240} { Delphi XE3 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER240}
|
|
|
|
{$IFDEF VER250} { Delphi XE4 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER250}
|
|
|
|
{$IFDEF VER260} { Delphi XE5 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER260}
|
|
|
|
{$IFDEF VER270} { Delphi XE6 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER270}
|
|
|
|
{$IFDEF VER280} { Delphi XE7 }
|
|
{$DEFINE Delphi}
|
|
{$DEFINE Delphi32}
|
|
{$DEFINE Delphi4UP}
|
|
{$DEFINE Delphi5UP}
|
|
{$DEFINE Delphi6UP}
|
|
{$DEFINE Delphi7UP}
|
|
{$DEFINE Delphi8UP}
|
|
{$DEFINE Delphi9UP}
|
|
{$DEFINE Delphi10UP}
|
|
{$WARN UNSAFE_TYPE OFF} {Disable warning for unsafe types in Delphi 7}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF VER270}
|
|
|
|
{$IFDEF UNIX}
|
|
{$ifdef VER140} // Kylix 1 & 2
|
|
{$DEFINE KYLIX}
|
|
{$DEFINE KYLIX1UP}
|
|
{$DEFINE KYLIX2UP}
|
|
{$DEFINE HAS_TYPES}
|
|
{$endif}
|
|
|
|
{$ifdef VER150} // Kylix 3
|
|
{$DEFINE KYLIX}
|
|
{$DEFINE KYLIX1UP}
|
|
{$DEFINE KYLIX2UP}
|
|
{$DEFINE KYLIX3UP}
|
|
{$DEFINE HAS_TYPES}
|
|
{$endif}
|
|
{$ENDIF UNIX}
|
|
|
|
{$IFDEF VirtualPascal} { Virtual Pascal 2.x }
|
|
{$DEFINE Delphi} { Use Delphi Syntax }
|
|
{$DEFINE VP2}
|
|
{&Delphi+}
|
|
{$ENDIF VirtualPascal}
|
|
|
|
{$IFDEF Delphi}
|
|
{$DEFINE Windows}
|
|
{$DEFINE USE_STDCALL}
|
|
//{$ALIGN ON}
|
|
{$ENDIF Delphi}
|
|
|
|
{$IFDEF FPC}
|
|
{$MODE Delphi} { use Delphi compatibility mode }
|
|
{$H+}
|
|
{$PACKRECORDS C} // Added for record
|
|
{$MACRO ON} // Added For OpenGL
|
|
{$DEFINE Delphi}
|
|
{$DEFINE UseAT}
|
|
{$UNDEF USE_STDCALL}
|
|
{$DEFINE OS_BigMem}
|
|
{$DEFINE NO_EXPORTS}
|
|
{$DEFINE Has_Int64}
|
|
{$DEFINE NOCRT}
|
|
{$IFDEF UNIX}
|
|
{$DEFINE fpc_unix}
|
|
{$ELSE}
|
|
{$DEFINE __OS_DOS__}
|
|
{$ENDIF}
|
|
{$IFDEF WIN32}
|
|
{$DEFINE UseWin}
|
|
{$ENDIF}
|
|
{$DEFINE HAS_TYPES}
|
|
{$ENDIF FPC}
|
|
|
|
{$IFDEF Win16}
|
|
{$K+} {smart callbacks}
|
|
{$ENDIF Win16}
|
|
|
|
{$IFDEF OS2}
|
|
{$UNDEF Windows}
|
|
{$DEFINE UseWin}
|
|
{$DEFINE OS_BigMem}
|
|
{$ENDIF OS2}
|
|
|
|
{$IFDEF __GPC__}
|
|
{$UNDEF UseWin}
|
|
{$UNDEF USE_STDCALL}
|
|
{$DEFINE OS_BigMem}
|
|
{$DEFINE NO_EXPORTS}
|
|
{$DEFINE NOCRT}
|
|
{$DEFINE cdecl attribute(cdecl)}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF __TMT__}
|
|
{$DEFINE OS_BigMem}
|
|
{$DEFINE NO_EXPORTS}
|
|
{$DEFINE __OS_DOS__}
|
|
{$DEFINE UseAT}
|
|
{$IFNDEF MSDOS}
|
|
{$DEFINE USE_STDCALL}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF __WIN32__}
|
|
{$DEFINE Win32}
|
|
{$DEFINE UseWin}
|
|
{$DEFINE NOCRT}
|
|
{$DEFINE Win32}
|
|
{$IFNDEF __CON__}
|
|
{$DEFINE Windows}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
{$A+} // Word alignment data
|
|
{$OA+} // Objects and structures align
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Win32}
|
|
{$DEFINE OS_BigMem}
|
|
{$ELSE Win32}
|
|
{$IFDEF ver70}
|
|
{$DEFINE assembler}
|
|
{$ENDIF} { use 16-bit assembler! }
|
|
{$ENDIF Win32}
|
|
|
|
{ ************************** dos/dos-like platforms **************}
|
|
{$IFDEF Windows}
|
|
{$DEFINE __OS_DOS__}
|
|
{$DEFINE UseWin}
|
|
{$DEFINE MSWINDOWS}
|
|
{$ENDIF Delphi}
|
|
|
|
{$IFDEF OS2}
|
|
{$DEFINE __OS_DOS__}
|
|
{$DEFINE Can_Use_DLL}
|
|
{$ENDIF Delphi}
|
|
|
|
{$IFDEF UseWin}
|
|
{$DEFINE Can_Use_DLL}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF Win16}
|
|
{$DEFINE Can_Use_DLL}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF BP_DPMI}
|
|
{$DEFINE Can_Use_DLL}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF USE_STDCALL}
|
|
{$IFNDEF __TMT__}
|
|
{$DEFINE BY_NAME}
|
|
{$ENDIF}
|
|
{$ENDIF}
|
|
|
|
{$IFNDEF ver70}
|
|
{$UNDEF assembler}
|
|
{$ENDIF}
|
|
|
|
{*************** define LITTLE ENDIAN platforms ********************}
|
|
|
|
|
|
{$IFDEF Delphi}
|
|
{$DEFINE IA32}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF KYLIX}
|
|
{$DEFINE IA32}
|
|
{$ENDIF}
|
|
|
|
{$IFDEF FPC}
|
|
{$IFDEF FPC_LITTLE_ENDIAN}
|
|
{$DEFINE IA32}
|
|
{$ENDIF}
|
|
{$ENDIF}
|