lazarus/lcl/interfaces/gtk2/gtk2defines.inc

103 lines
2.5 KiB
PHP

{%MainUnit gtk2proc.pp}{%MainUnit gtkint.pp}
{ $Id$ }
{******************************************************************************
Centralized includefile for some common gtk defines
******************************************************************************}
// TODO: Test on all platforms
{$IFNDEF DisableAsyncProcess}
{$IFDEF Linux}
{$IFDEF CPUI386}
{off $DEFINE UseAsyncProcess}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{off $DEFINE GDK_ERROR_TRAP_FLUSH}
{$DEFINE REPORT_GDK_ERRORS}
{off $DEFINE VerboseAccelerator}
{off $define VerboseModifiermap}
{$define HideKeyTableWarnings}
{off $DEFINE VerboseTimer}
{off $DEFINE VerboseMouseBugfix}
{off $DEFINE RaiseExceptionOnNilPointers}
{off $Define DisableCriticalSections}
{off $Define Disable_GC_SysColors}
{$define RawimageConsistencyChecks}
(*
keep track of keystates instead of using OS
This is the old mode and might be removed
*)
{$DEFINE Use_KeyStateList}
(*
Since some platforms (Darwin) can have X but also have a native gtk
implementation, the following defines are used
HasX -> X can be used for accessing functions not implented in gtk/gdk
(this does not mean that gdkx functions can be used)
HasGdk2X -> gdk2x can be used (gdk2x is defined for fpc 2.1+)
UseX -> Use the X version of gtk instead of a native version
*)
{off $define UseX}
{$ifdef Unix}
// on darwin we try to use native gtk
{$ifdef Darwin}
{$ifdef UseX} // it can be overridden
{$info Compiling with gtk2 for X}
{$define HasX}
{$else}
{$IFDEF VerboseGtkToDos}{$note On darwin the native gtk2 widgetset is used. }{$ENDIF}
{$IFDEF VerboseGtkToDos}{$note If you want to use gtk2 for X, define UseX }{$ENDIF}
{$endif}
{$else}
{$define HasX}
{$endif}
{$if defined(HasX)}
{$define HasGdk2X}
{$endif}
{$else}
{$define GTK_2_10}
{$define USE_GTK_MAIN_OLD_ITERATION} // in other case it hangs
{$endif}
{$ifdef HasX}
(*
GTK or GNOME has problems reporting ssAlt and ssAltGr when different
keyboardlayouts are used. With UseOwnShiftState we keep track of the shiftate
ourself
*)
{$ifndef DisableUseOwnShiftState}
{$define UseOwnShiftState}
{$endif}
{$endif}
// see http://bugs.freepascal.org/view.php?id=12145.
// Turn it off if something happens.
{$DEFINE EnabledGtkThreading}
{$define GTK_2_8}
// See http://bugs.freepascal.org/view.php?id=18966
{$define Gtk2CallMouseDownBeforeContext}
{$IF FPC_FULLVERSION>=20701}
{$OPTIMIZATION NOREMOVEEMPTYPROCS}
{$ENDIF}