Img32.inc 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // While "storage" is still technically experimental,
  2. // it does allow file system storage of layered objects etc
  3. // Comment out the following preprocessor define if you do wish to
  4. // use storage (eg to compile the experimental 'CtrlDemo' in Examples).
  5. {$DEFINE NO_STORAGE}
  6. // default rotation direction is clockwise with positive angles
  7. {.$DEFINE CLOCKWISE_ROTATION_WITH_NEGATIVE_ANGLES}
  8. // Image downsampling occurs when images are reduced in size, and the default downsampling
  9. // function is 'BoxDownSampling'. When downsampling, this function generally produces much
  10. // clearer images than general purpose resamplers (which are much better at upsampling,
  11. // and doing other affine transformations). However, if for some reason you do wish to use
  12. // a general purpose resampler while downsampling, then comment out (ie disable) this define.
  13. {$DEFINE USE_DOWNSAMPLER_AUTOMATICALLY}
  14. // The SimplifyPath and SimplifyPaths functions have changed. Specifically the last
  15. // parameter has changed from IsOpenPath to IsClosedPath, though the default has also
  16. // changed from false to true which should minimise any inconvenience. This change was
  17. // made to remove an inconsistency with other functions that all contain an IsClosedPath
  18. // parameter. However, if this change is going to create havoc for some reason, then
  19. // the following (somewhat temporary) define can be enabled.
  20. {.$DEFINE USE_OLD_SIMPLIFYPATHS}
  21. //USING_VCL_LCL - using either Delphi Visual Component Library or Lazarus Component Library
  22. //is required if using the TImage32Panel component
  23. //and adds a few extra library features (eg copying to and from TBitmap objects)
  24. {$IF DEFINED(FPC)}
  25. {$MACRO ON}
  26. {$DEFINE USING_LCL}
  27. {.$DEFINE USING_VCL_LCL}
  28. {$DEFINE COMPILERVERSION:= 17}
  29. {$ELSEIF declared(FireMonkeyVersion) OR DEFINED(FRAMEWORK_FMX)}
  30. {$DEFINE USING_FMX}
  31. {$ELSE}
  32. {$DEFINE USING_VCL}
  33. {$DEFINE USING_VCL_LCL}
  34. {$IFEND}
  35. {$IFDEF FPC}
  36. {$MODE DELPHI}
  37. {$DEFINE ABSTRACT_CLASSES}
  38. {$DEFINE RECORD_METHODS}
  39. {$DEFINE PBYTE}
  40. {$DEFINE NEWPOSFUNC}
  41. {$DEFINE SUPPORTS_POINTERMATH}
  42. {$DEFINE CLASS_STATIC}
  43. {.$DEFINE UITYPES}
  44. {$DEFINE NESTED_TYPES}
  45. {$IFNDEF DEBUG}
  46. {$DEFINE INLINE}
  47. {$DEFINE INLINE_COMPATIBLE}
  48. {$ENDIF}
  49. {$DEFINE DELPHI_PNG}
  50. {$IFDEF WINDOWS}
  51. {$DEFINE MSWINDOWS}
  52. {$ENDIF}
  53. {$ELSE}
  54. {$IF COMPILERVERSION < 15}
  55. Your version of Delphi is not supported (Image32 requires Delphi version 7 or above)
  56. {$IFEND}
  57. {$IF COMPILERVERSION < 23}
  58. {$DEFINE CPUX86} // CPUX86 was added in Delphi XE2 (added Win64 compiler)
  59. {$IFEND}
  60. {$IF COMPILERVERSION >= 17} //Delphi 2005
  61. {$IFNDEF DEBUG}
  62. {$DEFINE INLINE} //added inlining
  63. {$ENDIF}
  64. {$DEFINE NESTED_TYPES} //added nested types & nested constants
  65. {$IF COMPILERVERSION >= 18} //Delphi 2006
  66. {$DEFINE ABSTRACT_CLASSES} //added abstract classes
  67. {$DEFINE REPORTMEMORYLEAKS} //added ReportMemoryLeaksOnShutdown
  68. {$WARN SYMBOL_PLATFORM OFF}
  69. {$DEFINE SETSIZE} //added TBitmap.SetSize
  70. {$IF COMPILERVERSION >= 18.5} //Delphi 2007
  71. {$DEFINE RECORD_METHODS} //added records with methods
  72. {$DEFINE DELPHI_PNG} //added PNG support
  73. {$DEFINE DELPHI_GIF} //added GIF support
  74. {$DEFINE MAINFORMONTASKBAR} //added TApplication.MainFormOnTaskbar
  75. {$if CompilerVersion >= 20} //Delphi 2009
  76. {$DEFINE PBYTE} //added PByte
  77. {$DEFINE CHARINSET} //added CharInSet function
  78. {$DEFINE EXIT_PARAM} //added Exit(value)
  79. {$DEFINE ALPHAFORMAT} //added TBitmap.AlphaFormat property
  80. {$DEFINE SUPPORTS_POINTERMATH} //added {$POINTERMATH ON/OFF}
  81. {$DEFINE CLASS_STATIC} //added class static methods
  82. {$IF COMPILERVERSION >= 21} //Delphi 2010
  83. {$IFNDEF DEBUG}
  84. {$DEFINE INLINE_COMPATIBLE} //avoid compiler bug with INLINE in Delphi 2005-2009 ("incompatible type")
  85. {$ENDIF}
  86. {$DEFINE GESTURES} //added screen gesture support
  87. {$IF COMPILERVERSION >= 23} //DelphiXE2
  88. {$DEFINE USES_NAMESPACES}
  89. {$DEFINE FORMATSETTINGS}
  90. {$DEFINE TROUNDINGMODE}
  91. {$DEFINE UITYPES} //added UITypes unit
  92. {$DEFINE XPLAT_GENERICS} //cross-platform generics support
  93. {$DEFINE STYLESERVICES} //added StyleServices unit
  94. {$IF COMPILERVERSION >= 24} //DelphiXE3
  95. {$LEGACYIFEND ON}
  96. {$DEFINE NEWPOSFUNC}
  97. {$DEFINE ZEROBASEDSTR}
  98. {$IF COMPILERVERSION >= 25} //DelphiXE4
  99. {$LEGACYIFEND ON} //avoids compiler warning
  100. {$IFEND}
  101. {$IFEND}
  102. {$IFEND}
  103. {$IFEND}
  104. {$IFEND}
  105. {$IFEND}
  106. {$IFEND}
  107. {$IFEND}
  108. {$ENDIF}
  109. {$IFOPT Q+}
  110. {$DEFINE OVERFLOWCHECKS_ENABLED}
  111. {$ENDIF}
  112. {$IFOPT R+}
  113. {$DEFINE RANGECHECKS_ENABLED}
  114. {$ENDIF}