123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- { GTK - The GIMP Toolkit
- Copyright (C) 2005 Mattias Gaertner, Olaf Leidinger
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
- }
- unit gtk2; // keep unit name lowercase for kylix
- {$define GTK2_2}
- { Smartlinking has problems on powerpc-linux because of commandline length, disable
- it for now }
- {$ifdef powerpc}
- {$ifdef linux}
- {$smartlink off}
- {$endif}
- {$endif}
- {$H+}
- {$IFDEF FPC}
- {$mode objfpc}
- {$ENDIF}
- {$IFDEF VER140}
- {$DEFINE KYLIX}
- {$ENDIF}
- {$IFDEF GTK2_2}
- {$DEFINE HasGTK2_0}
- {$DEFINE HasGTK2_2}
- {$ENDIF}
- {$IFDEF GTK2_4}
- {$DEFINE HasGTK2_0}
- {$DEFINE HasGTK2_2}
- {$DEFINE HasGTK2_4}
- {$ENDIF}
- {$IFDEF GTK2_6}
- {$DEFINE HasGTK2_0}
- {$DEFINE HasGTK2_2}
- {$DEFINE HasGTK2_4}
- {$DEFINE HasGTK2_6}
- {$ENDIF}
- interface
- uses
- glib2, atk, pango, gdk2pixbuf, gdk2;
- const
- // OS dependent defines
- {$ifdef win32}
- {$DEFINE GTK_WINDOWING_WIN32}
- gtklib = 'libgtk-win32-2.0-0.dll';
- {$IFDEF FPC}
- {$smartlink on}
- {$ENDIF}
- {$else}
- {$IFDEF KYLIX}
- gtklib = 'libgtk-x11-2.0.so';
- {$ELSE}
- {$ifdef darwin}
- gtklib = 'gtk-x11-2.0';
- {$linklib gtk-x11-2.0}
- {$linklib gdk-x11-2.0}
- {$linklib pango-1.0.0}
- {$linklib glib-2.0.0}
- {$linklib gobject-2.0.0}
- {$linklib gdk_pixbuf-2.0.0}
- {$linklib atk-1.0.0}
- {$else}
- {$ifdef UseCustomLibs}
- gtklib = '';
- {$else}
- gtklib = 'libgtk-x11-2.0.so';
- {$endif}
- {$endif}
- {$ENDIF}
- {$endif}
- {$IFDEF KYLIX}
- Type
- PPPchar = PPPgchar;
- {$ENDIF}
- {$IFNDEF KYLIX}
- {$PACKRECORDS C}
- {$ELSE}
- {$ALIGN 4}
- {$WEAKPACKAGEUNIT}
- {$WARNINGS OFF}
- {$ENDIF}
- const
- GTK_MAX_COMPOSE_LEN = 7;
- type
- {$DEFINE read_forward_definitions}
- {$include gtkincludes.inc}
- {$UNDEF read_forward_definitions}
- {$DEFINE read_interface_types}
- {$include gtkincludes.inc}
- {$UNDEF read_interface_types}
- {$DEFINE read_interface_rest}
- {$include gtkincludes.inc}
- {$UNDEF read_interface_rest}
- implementation
- {$IFDEF FPC}
- { There is a bug in the compiler. If an external variable is not used, it will
- create code, that can be relocated by the linker.
- So, use them in this hidden dummy procedure.
- }
- procedure CheckUnusedVariable; [Public];
- begin
- if (gtk_major_version<>0) then ;
- if (gtk_minor_version<>0) then ;
- if (gtk_micro_version<>0) then ;
- if (gtk_binary_age<>0) then ;
- if (gtk_interface_age<>0) then ;
- if (ord(gtk_text_attr_appearance_type)<>0) then ;
- end;
- {$ENDIF}
- // call implementation parts of header files
- {$DEFINE read_implementation}
- {$include gtkincludes.inc}
- {$UNDEF read_implementation}
- end.
|