ImagingOptions.inc
资源名称:CAST2SDK.rar [点击查看]
上传用户:yj_qiu
上传日期:2022-08-08
资源大小:23636k
文件大小:6k
源码类别:
游戏引擎
开发平台:
Delphi
- { $Id: ImagingOptions.inc 154 2008-12-27 15:41:09Z galfar $ }
- {
- User Options
- Following defines and options can be changed by user.
- }
- { Source options. }
- {$DEFINE USE_INLINE} // use function inlining for some functions
- // works in Free Pascal and Delphi 9+
- {$DEFINE USE_ASM} // if defined, assembler versions of some
- // functions will be used (only for x86)
- {.$DEFINE DEBUG} // if defined, debug info, range/IO/overflow
- // checking, stack frames, assertions, and
- // other debugging options will be turned on
- { File format support linking options.
- Define formats which you don't want to be registred automatically.
- Default: all formats are registered, no symbols defined.}
- {$DEFINE DONT_LINK_JPEG} // link support for Jpeg images
- {$DEFINE DONT_LINK_PNG} // link support for PNG images
- {$DEFINE DONT_LINK_TARGA} // link support for Targa images
- {.$DEFINE DONT_LINK_BITMAP} // link support for Windows Bitmap images
- {$DEFINE DONT_LINK_DDS} // link support for DDS images
- {$DEFINE DONT_LINK_GIF} // link support for GIF images
- {$DEFINE DONT_LINK_MNG} // link support for MNG images
- {$DEFINE DONT_LINK_JNG} // link support for JNG images
- {$DEFINE DONT_LINK_PNM} // link support for PortableMap images (PBM, PGM, PPM, PAM, PFM)
- {.$DEFINE DONT_LINK_EXTRAS} // link support for file formats defined in
- // Extras package. Exactly which formats will be
- // registered depends on settings in
- // ImagingExtras.pas unit.
- {.$DEFINE DONT_LINK_JPEG2000} // link support for JPEG2000 images
- {$DEFINE DONT_LINK_TIFF} // link support for TIFF images
- {$DEFINE DONT_LINK_PSD} // link support for PSD images
- {$DEFINE DONT_LINK_PCX} // link support for PCX images
- {$DEFINE DONT_LINK_XPM} // link support for XPM images
- {$DEFINE DONT_LINK_ELDER} // link support for Elder Imagery images
- { Component set used in ImagignComponents.pas unit. You usually don't need
- to be concerned with this - proper component library is selected automatically
- according to your compiler. }
- {.$DEFINE COMPONENT_SET_VCL} // use Delphi VCL
- { $DEFINE COMPONENT_SET_LCL} // use Lazarus LCL (set automatically when compiling with FPC)
- {
- Auto Options
- Following options and defines are set automatically and some
- are required for Imaging to compile successfully. Do not change
- anything here if you don't know what you are doing.
- }
- { Compiler options }
- {$ALIGN ON} // Field alignment: 8 Bytes (in D6+)
- {$BOOLEVAL OFF} // Boolean eval: off
- {$EXTENDEDSYNTAX ON} // Extended syntax: on
- {$LONGSTRINGS ON} // string = AnsiString: on
- {$MINENUMSIZE 4} // Min enum size: 4 B
- {$TYPEDADDRESS OFF} // Typed pointers: off
- {$WRITEABLECONST OFF} // Writeable constants: off
- {$IFNDEF FPC}
- {$DEFINE DCC} // if not using FPC then DCC compiler is used (Delphi/Kylix)
- // others are not supported
- {$ENDIF}
- {$IFDEF DCC}
- {$IFDEF LINUX}
- {$DEFINE KYLIX} // using Kylix
- {$ENDIF}
- {$ENDIF}
- {$IFDEF DCC}
- {$IFNDEF KYLIX}
- {$DEFINE DELPHI} // using Delphi
- {$ENDIF}
- {$ENDIF}
- {$IF (Defined(DCC) and (CompilerVersion >= 18.5))}
- {$IFDEF RELEASE}
- {$UNDEF DEBUG} // If we are using Delphi 2007+ where you can set
- // DEBUG/RELEASE mode in project options and RELEASE
- // is currently set we undef DEBUG mode
- {$ENDIF}
- {$IFEND}
- {$IFDEF DEBUG}
- {$ASSERTIONS ON}
- {$DEBUGINFO ON}
- {$RANGECHECKS ON}
- {$IOCHECKS ON}
- {$OVERFLOWCHECKS ON}
- {$IFDEF DCC}
- {$OPTIMIZATION OFF}
- {$STACKFRAMES ON}
- {$LOCALSYMBOLS ON}
- {$DEFINE MEMCHECK}
- {$ENDIF}
- {$IFDEF FPC}
- {$S+}
- {$CHECKPOINTER ON}
- {$ENDIF}
- {$ELSE}
- {$ASSERTIONS OFF}
- {$DEBUGINFO OFF}
- {$RANGECHECKS OFF}
- {$IOCHECKS OFF}
- {$OVERFLOWCHECKS OFF}
- {$IFDEF DCC}
- {$OPTIMIZATION ON}
- {$STACKFRAMES OFF}
- {$LOCALSYMBOLS OFF}
- {$ENDIF}
- {$IFDEF FPC}
- {$S-}
- {$ENDIF}
- {$ENDIF}
- { Compiler capabilities }
- // Define if compiler supports inlining of functions and procedures
- // Note that FPC inline support crashed in older versions (1.9.8)
- {$IF (Defined(DCC) and (CompilerVersion >= 17)) or (Defined(FPC) and Defined(CPU86))}
- {$DEFINE HAS_INLINE}
- {$IFEND}
- // Define if compiler supports advanced records with methods
- {$IF (Defined(DCC) and (CompilerVersion >= 18)) }
- {$DEFINE HAS_ADVANCED_RECORDS}
- {$IFEND}
- // Define if compiler supports operator overloading
- // (unfortunately Delphi and FPC operator overloaing is not compatible)
- {$IF (Defined(DCC) and (CompilerVersion >= 18)) or Defined(FPC)}
- {$DEFINE HAS_OPERATOR_OVERLOADING}
- {$IFEND}
- { Imaging options check}
- {$IFNDEF HAS_INLINE}
- {$UNDEF USE_INLINE}
- {$ENDIF}
- {$IFDEF FPC}
- {$IFNDEF CPU86}
- {$UNDEF USE_ASM}
- {$ENDIF}
- {$ENDIF}
- {$IFDEF FPC}
- {$DEFINE COMPONENT_SET_LCL}
- {$UNDEF COMPONENT_SET_VCL}
- {$ENDIF}
- {$IFDEF DELPHI}
- {$UNDEF COMPONENT_SET_LCL}
- {$DEFINE COMPONENT_SET_VCL}
- {$ENDIF}
- { Platform options }
- {$IFDEF WIN32}
- {$DEFINE MSWINDOWS}
- {$ENDIF}
- {$IFDEF DPMI}
- {$DEFINE MSDOS}
- {$ENDIF}
- {$IFDEF LINUX}
- {$DEFINE UNIX}
- {$ENDIF}
- { More compiler options }
- {$IFDEF FPC} // Free Pascal options - some options set above (like min enum size)
- // are reset to defaults by setting {$MODE} so they are
- // redeclared here
- {$MODE DELPHI} // compatible with delphi
- {$GOTO ON} // alow goto
- {$PACKRECORDS 8} // same as ALING 8 for Delphi
- {$PACKENUM 4} // Min enum size: 4 B
- {$CALLING REGISTER} // default calling convention is register
- {$IFDEF CPU86}
- {$ASMMODE INTEL} // intel assembler mode
- {$ENDIF}
- {$ENDIF}
- {$IFDEF HAS_INLINE}
- {$INLINE ON} // turns inlining on for compilers that support it
- {$ENDIF}