* bug #7784, moving of gtk2x11 from lazarus to fpc. (minus laz package)

git-svn-id: trunk@5357 -
This commit is contained in:
marco 2006-11-13 15:46:06 +00:00
parent 6d34a8a864
commit ddcb1616b6
19 changed files with 1883 additions and 86 deletions

15
.gitattributes vendored
View File

@ -3062,6 +3062,21 @@ packages/extra/gtk2/gtk+/gtk/gtkwindow.inc svneol=native#text/plain
packages/extra/gtk2/gtk+/gtk/paste.pas svneol=native#text/plain
packages/extra/gtk2/gtk+/gtk/xembed.inc svneol=native#text/plain
packages/extra/gtk2/gtk2forlazarus.lpk -text
packages/extra/gtk2/gtk2x11/gdk2x.pas svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdk2x11includes.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkdisplay-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkdrawable-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkinputprivate.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkpixmap-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkprivate-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkscreen-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkwindow-x11.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gdkx.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/gxid_proto.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/mwmutil.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/xsettings-client.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/include/xsettings-common.inc svneol=native#text/plain
packages/extra/gtk2/gtk2x11/scripts/gdkx11_h2pas.sh svneol=native#text/plain
packages/extra/gtk2/gtkglext/gdkglconfig.inc svneol=native#text/plain
packages/extra/gtk2/gtkglext/gdkglcontext.inc svneol=native#text/plain
packages/extra/gtk2/gtkglext/gdkgldefs.inc svneol=native#text/plain

View File

@ -1,5 +1,5 @@
#
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/10/13]
# Don't edit, this file is generated by FPCMake Version 2.0.0 [2006/11/13]
#
default: all
MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos sparc-linux sparc-netbsd sparc-solaris x86_64-linux x86_64-freebsd x86_64-win64 arm-linux arm-palmos arm-wince arm-gba powerpc64-linux
@ -356,127 +356,127 @@ ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_UNITS+=buildgtk2
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-win32)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-os2)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-beos)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-solaris)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-qnx)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-netware)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-darwin)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-emx)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-watcom)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-wince)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-atari)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),sparc-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),arm-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),arm-palmos)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),arm-wince)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),arm-gba)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
override TARGET_IMPLICITUNITS+=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
endif
ifeq ($(FULL_TARGET),i386-linux)
override TARGET_EXAMPLEDIRS+=examples
@ -604,127 +604,250 @@ endif
override INSTALL_BUILDUNIT=buildgtk2
override INSTALL_FPCPACKAGE=y
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),arm-gba)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
override COMPILER_INCLUDEDIR+=gtk2x11/include
endif
ifeq ($(FULL_TARGET),i386-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-go32v2)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-win32)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-os2)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-beos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-solaris)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-qnx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-netware)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-openbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-wdosx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-darwin)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-emx)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-watcom)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-netwlibc)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),i386-wince)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-amiga)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-atari)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-openbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),m68k-palmos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-amiga)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-macos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-darwin)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc-morphos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),sparc-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),sparc-netbsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),sparc-solaris)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),x86_64-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),x86_64-freebsd)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),x86_64-win64)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),arm-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),arm-palmos)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),arm-wince)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),arm-gba)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
ifeq ($(FULL_TARGET),powerpc64-linux)
override COMPILER_UNITDIR+=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
endif
override SHARED_BUILD=n
override SHARED_BUILD=n

View File

@ -12,10 +12,11 @@ libc=y
[target]
units=buildgtk2
exampledirs=examples
implicitunits=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext
implicitunits=glib2 atk pango gdk2pixbuf gdk2 gtk2 libglade2 gtkglext gdkglext gdk2x
[compiler]
unitdir=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext
unitdir=glib atk pango gtk+/gdk-pixbuf gtk+/gdk gtk+/gtk libglade gtkglext gtk2x11
includedir=gtk2x11/include
[install]
buildunit=buildgtk2

View File

@ -25,7 +25,7 @@ unit buildgtk2; // keep unit name lowercase for kylix
interface
uses
gtk2, libglade2,gdkglext,gtkglext;
gtk2, libglade2,gdkglext,gtkglext,gdk2x;
implementation

View File

@ -0,0 +1,64 @@
{
*****************************************************************************
* *
* See the file COPYING.modifiedLGPL, included in this distribution, *
* for details about the copyright. *
* *
* This program 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. *
* *
*****************************************************************************
Author: Mattias Gaertner
}
unit gdk2x;
{$IFDEF FPC}
{$mode objfpc}
{$ENDIF}
{$IFDEF VER140}
{$DEFINE KYLIX}
{$ENDIF}
interface
uses
Classes, SysUtils, Unix, BaseUnix, glib2, gdk2, XLib, X, XRender;
{$ifdef FREEBSD}
{$linklib pthread}
{$endif}
{$IFNDEF KYLIX}
{$PACKRECORDS C}
{$ELSE}
{$ALIGN 4}
{$WEAKPACKAGEUNIT}
{$WARNINGS OFF}
{$ENDIF}
{$DEFINE read_forward_definitions}
type
{$I include/gdk2x11includes.inc}
{$UNDEF read_forward_definitions}
{$DEFINE read_interface_rest}
{$I include/gdk2x11includes.inc}
{$UNDEF read_interface_rest}
implementation
{*****************************************************************************
* macro functions
*
*****************************************************************************}
// call implementation parts of header files
{$DEFINE read_implementation}
{$I include/gdk2x11includes.inc}
{$UNDEF read_implementation}
end.

View File

@ -0,0 +1,14 @@
{%MainUnit ../gdk2x.pas}
{$I xsettings-common.inc}
{$I xsettings-client.inc}
{$I gdkdisplay-x11.inc}
{$I gdkdrawable-x11.inc}
{$I gdkinputprivate.inc}
{$I gdkpixmap-x11.inc}
{$I gdkprivate-x11.inc}
{$I gdkscreen-x11.inc}
{$I gdkwindow-x11.inc}
{$I gdkx.inc}
{$I gxid_proto.inc}
{$I mwmutil.inc}

View File

@ -0,0 +1,121 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
{ Keyboard related information }
{ Whether we were able to turn on detectable-autorepeat using
XkbSetDetectableAutorepeat. If FALSE, we'll fall back
to checking the next event with XPending(). }
{ Information about current pointer and keyboard grabs held by this
client. If gdk_pointer_xgrab_window or gdk_keyboard_xgrab_window
window is NULL, then the other associated fields are ignored
}
{ drag and drop information }
{ data needed for MOTIF DnD }
{ Mapping to/from virtual atoms }
{ Session Management leader window see ICCCM }
{ list of filters for client messages }
{ X ID hashtable }
{ translation queue }
{ Input device }
{ input GdkDevice list }
{ input GdkWindow list }
{ information about network port and host for gxid daemon }
type
PGdkDisplayX11 = ^TGdkDisplayX11;
TGdkDisplayX11 = record
parent_instance : TGdkDisplay;
xdisplay : PDisplay;
default_screen : PGdkScreen;
screens : ^PGdkScreen;
grab_count : gint;
xkb_event_type : gint;
use_xkb : gboolean;
have_xkb_autorepeat : gboolean;
keymap : PGdkKeymap;
keymap_serial : guint;
use_xshm : gboolean;
have_shm_pixmaps : gboolean;
have_shape : gint;
pointer_xgrab_window : PGdkWindowObject;
pointer_xgrab_serial : gulong;
pointer_xgrab_owner_events : gboolean;
keyboard_xgrab_window : PGdkWindowObject;
keyboard_xgrab_serial : gulong;
keyboard_xgrab_owner_events : gboolean;
current_dest_drag : PGdkDragContext;
motif_drag_window : TWindow;
motif_drag_gdk_window : PGdkWindow;
motif_target_lists : ^PGList;
motif_n_target_lists : gint;
atom_from_virtual : PGHashTable;
atom_to_virtual : PGHashTable;
leader_window : TWindow;
client_filters : PGList;
xid_ht : PGHashTable;
translate_queue : PGQueue;
input_devices : PGList;
input_windows : PGList;
input_ignore_core : gint;
input_gxid_host : Pgchar;
input_gxid_port : gint;
use_xft : gint;
end;
PGdkDisplayX11Class = ^TGdkDisplayX11Class;
TGdkDisplayX11Class = record
parent_class : TGdkDisplayClass;
end;
// Private function GDK_TYPE_DISPLAY_X11 : GType;
function GDK_DISPLAY_X11(obj : pointer) : PGdkDisplayX11;
function GDK_DISPLAY_X11_CLASS(klass : pointer) : PGdkDisplayX11Class;
// Private function GDK_IS_DISPLAY_X11(obj : pointer) : boolean;
// Private function GDK_IS_DISPLAY_X11_CLASS(klass : pointer) : boolean;
// Private function GDK_DISPLAY_X11_GET_CLASS(obj : pointer) : PGdkDisplayX11Class;
// Private function _gdk_display_x11_get_type:GType;cdecl;external gdklib;
// Private function _gdk_x11_display_screen_for_xrootwin(display:PGdkDisplay; xrootwin:TWindow):PGdkScreen;cdecl;external;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function GDK_TYPE_DISPLAY_X11 : GType;
begin
GDK_TYPE_DISPLAY_X11:=_gdk_display_x11_get_type;
end;}
function GDK_DISPLAY_X11(obj : pointer) : PGdkDisplayX11;
begin
GDK_DISPLAY_X11:=PGdkDisplayX11(obj);
//GDK_DISPLAY_X11:=PGdkDisplayX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_DISPLAY_X11));
end;
function GDK_DISPLAY_X11_CLASS(klass : pointer) : PGdkDisplayX11Class;
begin
GDK_DISPLAY_X11_CLASS:=PGdkDisplayX11Class(klass);
//GDK_DISPLAY_X11_CLASS:=PGdkDisplayX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_DISPLAY_X11));
end;
{ Private
function GDK_IS_DISPLAY_X11(obj : pointer) : boolean;
begin
GDK_IS_DISPLAY_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_DISPLAY_X11);
end;
function GDK_IS_DISPLAY_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_DISPLAY_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_DISPLAY_X11);
end;
function GDK_DISPLAY_X11_GET_CLASS(obj : pointer) : PGdkDisplayX11Class;
begin
GDK_DISPLAY_X11_GET_CLASS:=PGdkDisplayX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_DISPLAY_X11));
end;}
{$ENDIF read_implementation}

View File

@ -0,0 +1,75 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
{ Drawable implementation for X11 }
type
PGdkDrawableImplX11 = ^TGdkDrawableImplX11;
TGdkDrawableImplX11 = record
parent_instance : TGdkDrawable;
wrapper : PGdkDrawable;
colormap : PGdkColormap;
xid : TWindow;
screen : PGdkScreen;
{$IFDEF Has_XFT}
picture : TPicture;
{$ENDIF}
end;
PGdkDrawableImplX11Class = ^TGdkDrawableImplX11Class;
TGdkDrawableImplX11Class = record
parent_class : TGdkDrawableClass;
end;
// Private function GDK_TYPE_DRAWABLE_IMPL_X11 : GType;
function GDK_DRAWABLE_IMPL_X11(obj : pointer) : PGdkDrawableImplX11;
function GDK_DRAWABLE_IMPL_X11_CLASS(klass : pointer) : PGdkDrawableImplX11Class;
// Private function GDK_IS_DRAWABLE_IMPL_X11(obj : pointer) : boolean;
// Private function GDK_IS_DRAWABLE_IMPL_X11_CLASS(klass : pointer) : boolean;
// Private function GDK_DRAWABLE_IMPL_X11_GET_CLASS(obj : pointer) : PGdkDrawableImplX11Class;
// Private function _gdk_drawable_impl_x11_get_type:GType;cdecl;external;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function GDK_TYPE_DRAWABLE_IMPL_X11 : GType;
begin
GDK_TYPE_DRAWABLE_IMPL_X11:=_gdk_drawable_impl_x11_get_type;
end;}
function GDK_DRAWABLE_IMPL_X11(obj : pointer) : PGdkDrawableImplX11;
begin
GDK_DRAWABLE_IMPL_X11:=PGdkDrawableImplX11(obj);
//GDK_DRAWABLE_IMPL_X11:=PGdkDrawableImplX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_DRAWABLE_IMPL_X11));
end;
function GDK_DRAWABLE_IMPL_X11_CLASS(klass : pointer) : PGdkDrawableImplX11Class;
begin
GDK_DRAWABLE_IMPL_X11_CLASS:=PGdkDrawableImplX11Class(klass);
//GDK_DRAWABLE_IMPL_X11_CLASS:=PGdkDrawableImplX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_DRAWABLE_IMPL_X11));
end;
{ Private
function GDK_IS_DRAWABLE_IMPL_X11(obj : pointer) : boolean;
begin
GDK_IS_DRAWABLE_IMPL_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_DRAWABLE_IMPL_X11);
end;
function GDK_IS_DRAWABLE_IMPL_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_DRAWABLE_IMPL_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_DRAWABLE_IMPL_X11);
end;
function GDK_DRAWABLE_IMPL_X11_GET_CLASS(obj : pointer) : PGdkDrawableImplX11Class;
begin
GDK_DRAWABLE_IMPL_X11_GET_CLASS:=PGdkDrawableImplX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_DRAWABLE_IMPL_X11));
end;
}
{$ENDIF read_implementation}

View File

@ -0,0 +1,148 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_forward_definitions}
PPPGdkTimeCoord = ^PPGdkTimeCoord;
{$ENDIF read_forward_definitions}
{$IFDEF read_interface_rest}
type
{ information about a device axis }
{ reported x resolution }
{ reported x minimum/maximum values }
{ calibrated resolution (for aspect ration) - only relative values
between axes used }
{ calibrated minimum/maximum values }
PGdkAxisInfo = ^TGdkAxisInfo;
TGdkAxisInfo = record
xresolution : gint;
xmin_value : gint;
xmax_value : gint;
resolution : gint;
min_value : gint;
max_value : gint;
end;
const
GDK_INPUT_NUM_EVENTC = 6;
{$ifndef XINPUT_NONE}
{ information about the axes }
{ Information about XInput device }
{ minimum key code for device }
{ true if we need to select a different set of events, but
can't because this is the core pointer }
{ Mask of buttons (used for button grabs) }
{ true if we've claimed the device as active. (used only for XINPUT_GXI) }
{$endif}
{ !XINPUT_NONE }
type
PGdkDevicePrivate = ^TGdkDevicePrivate;
TGdkDevicePrivate = record
info : TGdkDevice;
deviceid : guint32;
display : PGdkDisplay;
axes : PGdkAxisInfo;
xdevice : Pointer; // PXDevice;
min_keycode : gint;
buttonpress_type : longint;
buttonrelease_type : longint;
keypress_type : longint;
keyrelease_type : longint;
motionnotify_type : longint;
proximityin_type : longint;
proximityout_type : longint;
changenotify_type : longint;
needs_update : gint;
button_state : gint;
claimed : gint;
end;
P_GdkDeviceClass = ^T_GdkDeviceClass;
T_GdkDeviceClass = record
parent_class : TGObjectClass;
end;
{ gdk window }
{ Extension mode (GDK_EXTENSION_EVENTS_ALL/CURSOR) }
{ position relative to root window }
{ rectangles relative to window of windows obscuring this one }
{ Is there a pointer grab for this window ? }
PGdkInputWindow = ^TGdkInputWindow;
TGdkInputWindow = record
window : PGdkWindow;
mode : TGdkExtensionMode;
root_x : gint;
root_y : gint;
obscuring : PGdkRectangle;
num_obscuring : gint;
grabbed : gint;
end;
{ Global data }
// Private function GDK_IS_CORE(d : pointer) : boolean;
{ Function declarations }
function gdk_input_window_find(window:PGdkWindow):PGdkInputWindow;cdecl;external;
procedure gdk_input_window_destroy(window:PGdkWindow);cdecl;external;
function _gdk_device_allocate_history(device:PGdkDevice; n_events:gint):PPGdkTimeCoord;cdecl;external;
procedure _gdk_init_input_core;cdecl;external;
{ The following functions are provided by each implementation
(xfree, gxi, and none)
}
function _gdk_input_enable_window(window:PGdkWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
function _gdk_input_disable_window(window:PGdkWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
function _gdk_input_window_none_event(event:PGdkEvent; xevent:PXEvent):gint;cdecl;external;
procedure _gdk_input_configure_event(xevent:PXConfigureEvent; window:PGdkWindow);cdecl;external;
procedure _gdk_input_enter_event(xevent:PXCrossingEvent; window:PGdkWindow);cdecl;external;
function _gdk_input_other_event(event:PGdkEvent; xevent:PXEvent; window:PGdkWindow):gint;cdecl;external;
function _gdk_input_grab_pointer(window:PGdkWindow; owner_events:gint; event_mask:TGdkEventMask; confine_to:PGdkWindow; time:guint32):gint;cdecl;external;
procedure _gdk_input_ungrab_pointer(display:PGdkDisplay; time:guint32);cdecl;external;
function _gdk_device_get_history(device:PGdkDevice; window:PGdkWindow; start:guint32; stop:guint32; events:PPPGdkTimeCoord;
n_events:Pgint):gboolean;cdecl;external;
{$ifndef XINPUT_NONE}
const
GDK_MAX_DEVICE_CLASSES = 13;
function gdk_input_common_init(display:PGdkDisplay; include_core:gint):gint;cdecl;external;
function gdk_input_find_device(display:PGdkDisplay; id:guint32):PGdkDevicePrivate;cdecl;external;
procedure gdk_input_get_root_relative_geometry(display:PDisplay; w:TWindow; x_ret:Plongint; y_ret:Plongint; width_ret:Plongint;
height_ret:Plongint);cdecl;external;
procedure gdk_input_common_find_events(window:PGdkWindow; gdkdev:PGdkDevicePrivate; mask:gint; classes:Pointer {PXEventClass}; num_classes:Plongint);cdecl;external;
procedure gdk_input_common_select_events(window:PGdkWindow; gdkdev:PGdkDevicePrivate);cdecl;external;
function gdk_input_common_other_event(event:PGdkEvent; xevent:PXEvent; input_window:PGdkInputWindow; gdkdev:PGdkDevicePrivate):gint;cdecl;external;
{$endif}
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function GDK_IS_CORE(d : pointer) : boolean;
begin
GDK_IS_CORE:= (PGdkDevice(d)) = _gdk_core_pointer;
end;}
{$ENDIF read_implementation}

View File

@ -0,0 +1,90 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
{ Pixmap implementation for X11 }
type
PGdkPixmapImplX11 = ^TGdkPixmapImplX11;
TGdkPixmapImplX11 = record
parent_instance : TGdkDrawableImplX11;
width : gint;
height : gint;
flag0 : word;
end;
type
PGdkPixmapImplX11Class = ^TGdkPixmapImplX11Class;
TGdkPixmapImplX11Class = record
parent_class : TGdkDrawableImplX11Class;
end;
// Private function GDK_TYPE_PIXMAP_IMPL_X11 : GType;
function GDK_PIXMAP_IMPL_X11(obj : pointer) : PGdkPixmapImplX11;
function GDK_PIXMAP_IMPL_X11_CLASS(klass : pointer) : PGdkPixmapImplX11Class;
// Private function GDK_IS_PIXMAP_IMPL_X11(obj : pointer) : boolean;
// Private function GDK_IS_PIXMAP_IMPL_X11_CLASS(klass : pointer) : boolean;
// Private function GDK_PIXMAP_IMPL_X11_GET_CLASS(obj : pointer) : PGdkPixmapImplX11Class;
const
bm_TGdkPixmapImplX11_is_foreign = $1;
bp_TGdkPixmapImplX11_is_foreign = 0;
function is_foreign(a : PGdkPixmapImplX11) : guint;
procedure set_is_foreign(a : PGdkPixmapImplX11; __is_foreign : guint);
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function gdk_pixmap_impl_x11_get_type: GType; cdecl; external;
function GDK_TYPE_PIXMAP_IMPL_X11 : GType;
begin
GDK_TYPE_PIXMAP_IMPL_X11:=gdk_pixmap_impl_x11_get_type;
end; }
function GDK_PIXMAP_IMPL_X11(obj : pointer) : PGdkPixmapImplX11;
begin
GDK_PIXMAP_IMPL_X11:=PGdkPixmapImplX11(obj);
//GDK_PIXMAP_IMPL_X11:=PGdkPixmapImplX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_PIXMAP_IMPL_X11));
end;
function GDK_PIXMAP_IMPL_X11_CLASS(klass : pointer) : PGdkPixmapImplX11Class;
begin
GDK_PIXMAP_IMPL_X11_CLASS:=PGdkPixmapImplX11Class(klass);
//GDK_PIXMAP_IMPL_X11_CLASS:=PGdkPixmapImplX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_PIXMAP_IMPL_X11));
end;
{ Private
function GDK_IS_PIXMAP_IMPL_X11(obj : pointer) : boolean;
begin
GDK_IS_PIXMAP_IMPL_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_PIXMAP_IMPL_X11);
end;
function GDK_IS_PIXMAP_IMPL_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_PIXMAP_IMPL_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_PIXMAP_IMPL_X11);
end;
function GDK_PIXMAP_IMPL_X11_GET_CLASS(obj : pointer) : PGdkPixmapImplX11Class;
begin
GDK_PIXMAP_IMPL_X11_GET_CLASS:=PGdkPixmapImplX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_PIXMAP_IMPL_X11));
end; }
function is_foreign(a : PGdkPixmapImplX11) : guint;
begin
is_foreign:=(a^.flag0 and bm_TGdkPixmapImplX11_is_foreign) shr bp_TGdkPixmapImplX11_is_foreign;
end;
procedure set_is_foreign(a : PGdkPixmapImplX11; __is_foreign : guint);
begin
a^.flag0:=a^.flag0 or ((__is_foreign shl bp_TGdkPixmapImplX11_is_foreign) and bm_TGdkPixmapImplX11_is_foreign);
end;
{$ENDIF read_implementation}

View File

@ -0,0 +1,243 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_forward_definitions}
// remove this TXRenderColor, when it has been added to the X11 bindings of FPC
TXRenderColor = record
red: word;
green: word;
blue: word;
alpha: word;
end;
PPXRectangle = ^PXRectangle;
{$ENDIF read_forward_definitions}
{$IFDEF read_interface_rest}
type
PGdkGCX11 = ^TGdkGCX11;
TGdkGCX11 = record
parent_instance : TGdkGC;
xgc : TGC;
screen : PGdkScreen;
clip_region : PGdkRegion;
dirty_mask : guint;
fg_picture : TPicture;
fg_picture_color : TXRenderColor;
fg_pixel : gulong;
end;
PGdkGCX11Class = ^TGdkGCX11Class;
TGdkGCX11Class = record
parent_class : TGdkGCClass;
end;
PGdkCursorPrivate = ^TGdkCursorPrivate;
TGdkCursorPrivate = record
cursor : TGdkCursor;
xcursor : TCursor;
screen : PGdkScreen;
end;
PGdkVisualPrivate = ^TGdkVisualPrivate;
TGdkVisualPrivate = record
visual : TGdkVisual;
xvisual : PVisual;
screen : PGdkScreen;
end;
// Private function GDK_TYPE_GC_X11 : GType;
function GDK_GC_X11(obj : pointer) : PGdkGCX11;
function GDK_GC_X11_CLASS(klass : pointer) : PGdkGCX11Class;
// Private function GDK_IS_GC_X11(obj : pointer) : boolean;
// Private function GDK_IS_GC_X11_CLASS(klass : pointer) : boolean;
// Private function GDK_GC_X11_GET_CLASS(obj : pointer) : PGdkGCX11Class;
procedure _gdk_xid_table_insert(display:PGdkDisplay; xid:PXID; data:gpointer);cdecl;external;
procedure _gdk_xid_table_remove(display:PGdkDisplay; xid:TXID);cdecl;external;
function _gdk_send_xevent(display:PGdkDisplay; window:TWindow; propagate:gboolean; event_mask:glong; event_send:PXEvent):gint;cdecl;external;
// Private function _gdk_gc_x11_get_type:GType;cdecl;external;
{$ifdef HAVE_XFT}
function _gdk_x11_have_render(display:PGdkDisplay):gboolean;cdecl;external;
function _gdk_x11_gc_get_fg_picture(gc:PGdkGC):TPicture;cdecl;external;
{$endif HAVE_XFT}
function _gdk_x11_gc_new(drawable:PGdkDrawable; values:PGdkGCValues; values_mask:TGdkGCValuesMask):PGdkGC;cdecl;external;
function gdk_colormap_lookup(xcolormap:TColormap):PGdkColormap;cdecl;external;
function gdk_visual_lookup(xvisual:PVisual):PGdkVisual;cdecl;external;
procedure gdk_window_add_colormap_windows(window:PGdkWindow);cdecl;external;
function _gdk_x11_copy_to_image(drawable:PGdkDrawable; image:PGdkImage; src_x:gint; src_y:gint; dest_x:gint;
dest_y:gint; width:gint; height:gint):PGdkImage;cdecl;external;
function _gdk_x11_image_get_shm_pixmap(image:PGdkImage):TPixmap;cdecl;external;
{ Routines from gdkgeometry-x11.c }
procedure _gdk_window_init_position(window:PGdkWindow);cdecl;external;
procedure _gdk_window_move_resize_child(window:PGdkWindow; x:gint; y:gint; width:gint; height:gint);cdecl;external;
procedure _gdk_window_process_expose(window:PGdkWindow; serial:gulong; area:PGdkRectangle);cdecl;external;
procedure _gdk_selection_window_destroyed(window:PGdkWindow);cdecl;external;
function _gdk_selection_filter_clear_event(event:PXSelectionClearEvent):gboolean;cdecl;external;
procedure _gdk_region_get_xrectangles(region:PGdkRegion; x_offset:gint; y_offset:gint; rects:PPXRectangle; n_rects:Pgint);cdecl;external;
function _gdk_moveresize_handle_event(event:PXEvent):gboolean;cdecl;external;
function _gdk_moveresize_configure_done(display:PGdkDisplay; window:PGdkWindow):gboolean;cdecl;external;
procedure _gdk_keymap_state_changed(display:PGdkDisplay);cdecl;external;
function _gdk_x11_get_group_for_state(display:PGdkDisplay; state:TGdkModifierType):gint;cdecl;external;
//function _gdk_x11_gc_flush(gc:PGdkGC):TGC;cdecl;external;
procedure _gdk_x11_initialize_locale;cdecl;external;
procedure _gdk_xgrab_check_unmap(window:PGdkWindow; serial:gulong);cdecl;external;
procedure _gdk_xgrab_check_destroy(window:PGdkWindow);cdecl;external;
function _gdk_x11_display_is_root_window(display:PGdkDisplay; xroot_window:TWindow):gboolean;cdecl;external;
procedure _gdk_x11_events_init_screen(screen:PGdkScreen);cdecl;external;
procedure _gdk_events_init(display:PGdkDisplay);cdecl;external;
procedure _gdk_windowing_window_init(screen:PGdkScreen);cdecl;external;
procedure _gdk_visual_init(screen:PGdkScreen);cdecl;external;
procedure _gdk_dnd_init(display:PGdkDisplay);cdecl;external;
procedure _gdk_windowing_image_init(display:PGdkDisplay);cdecl;external;
procedure _gdk_input_init(display:PGdkDisplay);cdecl;external;
var
_gdk_x11_drawable_class : TGdkDrawableClass;cvar;external;
_gdk_use_xshm : gboolean;cvar;external;
(* Const before type ignored *)
_gdk_nenvent_masks : longint;cvar;external;
(* Const before type ignored *)
_gdk_event_mask_table : array of longint;cvar;external;
_gdk_selection_property : TGdkAtom;cvar;external;
_gdk_synchronize : gboolean;cvar;external;
function GDK_PIXMAP_SCREEN(pix : pointer) : PGdkScreen;
function GDK_PIXMAP_DISPLAY(pix : pointer) : PGdkDisplay;
function GDK_PIXMAP_XROOTWIN(pix : pointer) : TWindow;
function GDK_DRAWABLE_DISPLAY(win : PGdkDrawable) : PGdkDisplay;
function GDK_DRAWABLE_SCREEN(win : PGdkDrawable) : PGdkScreen;
function GDK_DRAWABLE_XROOTWIN(win : PGdkDrawable) : TWindow;
function GDK_SCREEN_DISPLAY(screen : PGdkScreen) : PGdkDisplay;
function GDK_SCREEN_XROOTWIN(screen : PGdkScreen) : TWindow;
function GDK_WINDOW_SCREEN(win : PGdkDrawable) : PGdkScreen;
function GDK_WINDOW_DISPLAY(win : PGdkDrawable) : PGdkDisplay;
function GDK_WINDOW_XROOTWIN(win : PGdkDrawable) : TWindow;
function GDK_GC_DISPLAY(gc : PGdkGC) : PGdkDisplay;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function GDK_TYPE_GC_X11 : GType;
begin
GDK_TYPE_GC_X11:=_gdk_gc_x11_get_type;
end;}
function GDK_GC_X11(obj : pointer) : PGdkGCX11;
begin
GDK_GC_X11:=PGdkGCX11(obj);
//GDK_GC_X11:=PGdkGCX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_GC_X11));
end;
function GDK_GC_X11_CLASS(klass : pointer) : PGdkGCX11Class;
begin
GDK_GC_X11_CLASS:=PGdkGCX11Class(klass);
//GDK_GC_X11_CLASS:=PGdkGCX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_GC_X11));
end;
{ Private
function GDK_IS_GC_X11(obj : pointer) : boolean;
begin
GDK_IS_GC_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_GC_X11);
end;
function GDK_IS_GC_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_GC_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_GC_X11);
end;
function GDK_GC_X11_GET_CLASS(obj : pointer) : PGdkGCX11Class;
begin
GDK_GC_X11_GET_CLASS:=PGdkGCX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_GC_X11));
end; }
function GDK_PIXMAP_SCREEN(pix : pointer) : PGdkScreen;
begin
GDK_PIXMAP_SCREEN:=(GDK_DRAWABLE_IMPL_X11((PGdkPixmapObject(pix))^.impl))^.screen;
end;
function GDK_PIXMAP_DISPLAY(pix : pointer) : PGdkDisplay;
begin
GDK_PIXMAP_DISPLAY:=(GDK_SCREEN_X11(GDK_PIXMAP_SCREEN(pix)))^.display;
end;
function GDK_PIXMAP_XROOTWIN(pix : pointer) : TWindow;
begin
GDK_PIXMAP_XROOTWIN:=(GDK_SCREEN_X11(GDK_PIXMAP_SCREEN(pix)))^.xroot_window;
end;
function GDK_DRAWABLE_DISPLAY(win : PGdkDrawable) : PGdkDisplay;
var
if_local1 : PGdkDisplay;
begin
if GDK_IS_WINDOW(win) then
if_local1:=GDK_WINDOW_DISPLAY(win)
else
if_local1:=GDK_PIXMAP_DISPLAY(win);
GDK_DRAWABLE_DISPLAY:=if_local1;
end;
function GDK_DRAWABLE_SCREEN(win : PGdkDrawable) : PGdkScreen;
var
if_local1 : PGdkScreen;
begin
if GDK_IS_WINDOW(win) then
if_local1:=GDK_WINDOW_SCREEN(win)
else
if_local1:=GDK_PIXMAP_SCREEN(win);
GDK_DRAWABLE_SCREEN:=if_local1;
end;
function GDK_DRAWABLE_XROOTWIN(win : PGdkDrawable) : TWindow;
var
if_local1 : TWindow;
begin
if GDK_IS_WINDOW(win) then
if_local1:=GDK_WINDOW_XROOTWIN(win)
else
if_local1:=GDK_PIXMAP_XROOTWIN(win);
GDK_DRAWABLE_XROOTWIN:=if_local1;
end;
function GDK_SCREEN_DISPLAY(screen : PGdkScreen) : PGdkDisplay;
begin
GDK_SCREEN_DISPLAY:=(GDK_SCREEN_X11(screen))^.display;
end;
function GDK_SCREEN_XROOTWIN(screen : PGdkScreen) : TWindow;
begin
GDK_SCREEN_XROOTWIN:=(GDK_SCREEN_X11(screen))^.xroot_window;
end;
function GDK_WINDOW_SCREEN(win : PGdkDrawable) : PGdkScreen;
begin
GDK_WINDOW_SCREEN:=(GDK_DRAWABLE_IMPL_X11((PGdkWindowObject(win))^.impl))^.screen;
end;
function GDK_WINDOW_DISPLAY(win : PGdkDrawable) : PGdkDisplay;
begin
GDK_WINDOW_DISPLAY:=(GDK_SCREEN_X11(GDK_WINDOW_SCREEN(win)))^.display;
end;
function GDK_WINDOW_XROOTWIN(win : PGdkDrawable) : TWindow;
begin
GDK_WINDOW_XROOTWIN:=(GDK_SCREEN_X11(GDK_WINDOW_SCREEN(win)))^.xroot_window;
end;
function GDK_GC_DISPLAY(gc : PGdkGC) : PGdkDisplay;
begin
GDK_GC_DISPLAY:=GDK_SCREEN_DISPLAY((GDK_GC_X11(gc))^.screen);
end;
{$ENDIF read_implementation}

View File

@ -0,0 +1,95 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
{ Visual Part }
{ Colormap Part }
{ X settings }
{ Xinerama }
type
PGdkScreenX11 = ^TGdkScreenX11;
TGdkScreenX11 = record
parent_instance : TGdkScreen;
display : PGdkDisplay;
xdisplay : PDisplay;
xscreen : PScreen;
screen_num : gint;
xroot_window : TWindow;
root_window : PGdkWindow;
wmspec_check_window : TWindow;
system_visual : PGdkVisualPrivate;
visuals : ^PGdkVisualPrivate;
nvisuals : gint;
available_depths : array[0..6] of gint;
navailable_depths : gint;
available_types : array[0..5] of TGdkVisualType;
navailable_types : gint;
visual_hash : PGHashTable;
default_colormap : PGdkColormap;
system_colormap : PGdkColormap;
xsettings_client : PXSettingsClient;
num_monitors : gint;
monitors : PGdkRectangle;
end;
PGdkScreenX11Class = ^TGdkScreenX11Class;
TGdkScreenX11Class = record
parent_class : TGdkScreenClass;
end;
// Private function GDK_TYPE_SCREEN_X11 : GType;
function GDK_SCREEN_X11(obj : pointer) : PGdkScreenX11;
function GDK_SCREEN_X11_CLASS(klass : pointer) : PGdkScreenX11Class;
// Private function GDK_IS_SCREEN_X11(obj : pointer) : boolean;
// Private function GDK_IS_SCREEN_X11_CLASS(klass : pointer) : boolean;
// Private function GDK_SCREEN_X11_GET_CLASS(obj : pointer) : PGdkScreenX11Class;
// Private function _gdk_screen_x11_get_type:GType;cdecl;external;
function _gdk_x11_screen_new(display:PGdkDisplay; screen_number:gint):PGdkScreen;cdecl;external;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{ Private
function GDK_TYPE_SCREEN_X11 : GType;
begin
GDK_TYPE_SCREEN_X11:=_gdk_screen_x11_get_type;
end;}
function GDK_SCREEN_X11(obj : pointer) : PGdkScreenX11;
begin
GDK_SCREEN_X11:=PGdkScreenX11(obj);
//GDK_SCREEN_X11:=PGdkScreenX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_SCREEN_X11));
end;
function GDK_SCREEN_X11_CLASS(klass : pointer) : PGdkScreenX11Class;
begin
GDK_SCREEN_X11_CLASS:=PGdkScreenX11Class(klass);
//GDK_SCREEN_X11_CLASS:=PGdkScreenX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_SCREEN_X11));
end;
{ Private
function GDK_IS_SCREEN_X11(obj : pointer) : boolean;
begin
GDK_IS_SCREEN_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_SCREEN_X11);
end;
function GDK_IS_SCREEN_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_SCREEN_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_SCREEN_X11);
end;
function GDK_SCREEN_X11_GET_CLASS(obj : pointer) : PGdkScreenX11Class;
begin
GDK_SCREEN_X11_GET_CLASS:=PGdkScreenX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_SCREEN_X11));
end;}
{$ENDIF read_implementation}

View File

@ -0,0 +1,177 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
type
{ Offsets to add to X coordinates within window }
{ to get GDK coodinates within window }
{ Set when the window background is temporarily
unset during resizing and scaling }
{ visible rectangle of window }
PGdkXPositionInfo = ^TGdkXPositionInfo;
TGdkXPositionInfo = record
x : gint;
y : gint;
width : gint;
height : gint;
x_offset : gint;
y_offset : gint;
flag0 : word;
clip_rect : TGdkRectangle;
end;
const
bm_TGdkXPositionInfo_big = $1;
bp_TGdkXPositionInfo_big = 0;
bm_TGdkXPositionInfo_mapped = $2;
bp_TGdkXPositionInfo_mapped = 1;
bm_TGdkXPositionInfo_no_bg = $4;
bp_TGdkXPositionInfo_no_bg = 2;
function big(var a : TGdkXPositionInfo) : guint;
procedure set_big(var a : TGdkXPositionInfo; __big : guint);
function mapped(var a : TGdkXPositionInfo) : guint;
procedure set_mapped(var a : TGdkXPositionInfo; __mapped : guint);
function no_bg(var a : TGdkXPositionInfo) : guint;
procedure set_no_bg(var a : TGdkXPositionInfo; __no_bg : guint);
{ Window implementation for X11 }
type
PGdkWindowImplX11 = ^TGdkWindowImplX11;
TGdkWindowImplX11 = record
parent_instance : TGdkDrawableImplX11;
width : gint;
height : gint;
position_info : TGdkXPositionInfo;
flag0 : word;
focus_window : TWindow;
end;
type
PGdkWindowImplX11Class = ^TGdkWindowImplX11Class;
TGdkWindowImplX11Class = record
parent_class : TGdkDrawableImplX11Class;
end;
function GDK_TYPE_WINDOW_IMPL_X11 : GType;
function GDK_WINDOW_IMPL_X11(obj : pointer) : PGdkWindowImplX11;
function GDK_WINDOW_IMPL_X11_CLASS(klass : pointer) : PGdkWindowImplX11Class;
function GDK_IS_WINDOW_IMPL_X11(obj : pointer) : boolean;
function GDK_IS_WINDOW_IMPL_X11_CLASS(klass : pointer) : boolean;
function GDK_WINDOW_IMPL_X11_GET_CLASS(obj : pointer) : PGdkWindowImplX11Class;
{ Set if the window, or any descendent of it, has the focus }
{ Set if !window_has_focus, but events are being sent to the
window because the pointer is in it. (Typically, no window
manager is running. }
{ We use an extra X window for toplevel windows that we XSetInputFocus()
to in order to avoid getting keyboard events redirected to subwindows
that might not even be part of this app }
const
bm_TGdkWindowImplX11_has_focus = $1;
bp_TGdkWindowImplX11_has_focus = 0;
bm_TGdkWindowImplX11_has_pointer_focus = $2;
bp_TGdkWindowImplX11_has_pointer_focus = 1;
function has_focus(var a : TGdkWindowImplX11) : guint;
procedure set_has_focus(var a : TGdkWindowImplX11; __has_focus : guint);
function has_pointer_focus(var a : TGdkWindowImplX11) : guint;
procedure set_has_pointer_focus(var a : TGdkWindowImplX11; __has_pointer_focus : guint);
function gdk_window_impl_x11_get_type:GType;cdecl;external;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function big(var a : TGdkXPositionInfo) : guint;
begin
big:=(a.flag0 and bm_TGdkXPositionInfo_big) shr bp_TGdkXPositionInfo_big;
end;
procedure set_big(var a : TGdkXPositionInfo; __big : guint);
begin
a.flag0:=a.flag0 or ((__big shl bp_TGdkXPositionInfo_big) and bm_TGdkXPositionInfo_big);
end;
function mapped(var a : TGdkXPositionInfo) : guint;
begin
mapped:=(a.flag0 and bm_TGdkXPositionInfo_mapped) shr bp_TGdkXPositionInfo_mapped;
end;
procedure set_mapped(var a : TGdkXPositionInfo; __mapped : guint);
begin
a.flag0:=a.flag0 or ((__mapped shl bp_TGdkXPositionInfo_mapped) and bm_TGdkXPositionInfo_mapped);
end;
function no_bg(var a : TGdkXPositionInfo) : guint;
begin
no_bg:=(a.flag0 and bm_TGdkXPositionInfo_no_bg) shr bp_TGdkXPositionInfo_no_bg;
end;
procedure set_no_bg(var a : TGdkXPositionInfo; __no_bg : guint);
begin
a.flag0:=a.flag0 or ((__no_bg shl bp_TGdkXPositionInfo_no_bg) and bm_TGdkXPositionInfo_no_bg);
end;
function GDK_TYPE_WINDOW_IMPL_X11 : GType;
begin
GDK_TYPE_WINDOW_IMPL_X11:=gdk_window_impl_x11_get_type;
end;
function GDK_WINDOW_IMPL_X11(obj : pointer) : PGdkWindowImplX11;
begin
GDK_WINDOW_IMPL_X11:=PGdkWindowImplX11(G_TYPE_CHECK_INSTANCE_CAST(obj,GDK_TYPE_WINDOW_IMPL_X11));
end;
function GDK_WINDOW_IMPL_X11_CLASS(klass : pointer) : PGdkWindowImplX11Class;
begin
GDK_WINDOW_IMPL_X11_CLASS:=PGdkWindowImplX11Class(G_TYPE_CHECK_CLASS_CAST(klass,GDK_TYPE_WINDOW_IMPL_X11));
end;
function GDK_IS_WINDOW_IMPL_X11(obj : pointer) : boolean;
begin
GDK_IS_WINDOW_IMPL_X11:=G_TYPE_CHECK_INSTANCE_TYPE(obj,GDK_TYPE_WINDOW_IMPL_X11);
end;
function GDK_IS_WINDOW_IMPL_X11_CLASS(klass : pointer) : boolean;
begin
GDK_IS_WINDOW_IMPL_X11_CLASS:=G_TYPE_CHECK_CLASS_TYPE(klass,GDK_TYPE_WINDOW_IMPL_X11);
end;
function GDK_WINDOW_IMPL_X11_GET_CLASS(obj : pointer) : PGdkWindowImplX11Class;
begin
GDK_WINDOW_IMPL_X11_GET_CLASS:=PGdkWindowImplX11Class(G_TYPE_INSTANCE_GET_CLASS(obj,GDK_TYPE_WINDOW_IMPL_X11));
end;
function has_focus(var a : TGdkWindowImplX11) : guint;
begin
has_focus:=(a.flag0 and bm_TGdkWindowImplX11_has_focus) shr bp_TGdkWindowImplX11_has_focus;
end;
procedure set_has_focus(var a : TGdkWindowImplX11; __has_focus : guint);
begin
a.flag0:=a.flag0 or ((__has_focus shl bp_TGdkWindowImplX11_has_focus) and bm_TGdkWindowImplX11_has_focus);
end;
function has_pointer_focus(var a : TGdkWindowImplX11) : guint;
begin
has_pointer_focus:=(a.flag0 and bm_TGdkWindowImplX11_has_pointer_focus) shr bp_TGdkWindowImplX11_has_pointer_focus;
end;
procedure set_has_pointer_focus(var a : TGdkWindowImplX11; __has_pointer_focus : guint);
begin
a.flag0:=a.flag0 or ((__has_pointer_focus shl bp_TGdkWindowImplX11_has_pointer_focus) and bm_TGdkWindowImplX11_has_pointer_focus);
end;
{$ENDIF read_implementation}

View File

@ -0,0 +1,284 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
var
gdk_display : PDisplay;cvar;external;
function gdk_x11_drawable_get_xdisplay(drawable:PGdkDrawable):PDisplay;cdecl;external;
function gdk_x11_drawable_get_xid(drawable:PGdkDrawable):TXID;cdecl;external;
function gdk_x11_image_get_xdisplay(image:PGdkImage):PDisplay;cdecl;external;
function gdk_x11_image_get_ximage(image:PGdkImage):PXImage;cdecl;external;
function gdk_x11_colormap_get_xdisplay(colormap:PGdkColormap):PDisplay;cdecl;external;
function gdk_x11_colormap_get_xcolormap(colormap:PGdkColormap):TColormap;cdecl;external;
function gdk_x11_cursor_get_xdisplay(cursor:PGdkCursor):PDisplay;cdecl;external;
function gdk_x11_cursor_get_xcursor(cursor:PGdkCursor):TCursor;cdecl;external;
function gdk_x11_display_get_xdisplay(display:PGdkDisplay):PDisplay;cdecl;external;
function gdk_x11_visual_get_xvisual(visual:PGdkVisual):PVisual;cdecl;external;
function gdk_x11_gc_get_xdisplay(gc:PGdkGC):PDisplay;cdecl;external;
function gdk_x11_gc_get_xgc(gc:PGdkGC):TGC;cdecl;external;
function gdk_x11_screen_get_xscreen(screen:PGdkScreen):PScreen;cdecl;external;
function gdk_x11_screen_get_screen_number(screen:PGdkScreen):longint;cdecl;external;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdk_x11_get_default_root_xwindow:TWindow;cdecl;external;
function gdk_x11_get_default_xdisplay:PDisplay;cdecl;external;
function gdk_x11_get_default_screen:gint;cdecl;external;
{$endif}
function GDK_COLORMAP_XDISPLAY(cmap : PGdkColormap) : PDisplay;
function GDK_COLORMAP_XCOLORMAP(cmap : PGdkColormap) : TColormap;
function GDK_CURSOR_XDISPLAY(cursor : PGdkCursor) : PDisplay;
function GDK_CURSOR_XCURSOR(cursor : PGdkCursor) : TCursor;
function GDK_IMAGE_XDISPLAY(image : PGdkImage) : PDisplay;
function GDK_IMAGE_XIMAGE(image : PGdkImage) : PXImage;
{$ifndef GDK_MULTIHEAD_SAFE}
function GDK_ROOT_WINDOW : TWindow;
{$endif}
function GDK_DISPLAY_XDISPLAY(display : PGdkDisplay) : PDisplay;
function GDK_WINDOW_XDISPLAY(win : PGdkDrawable) : PDisplay;
function GDK_WINDOW_XID(win : PGdkDrawable) : TXID;
function GDK_WINDOW_XWINDOW(win : PGdkDrawable) : TXID;
function GDK_PIXMAP_XDISPLAY(win : PGdkDrawable) : PDisplay;
function GDK_PIXMAP_XID(win : PGdkDrawable) : TXID;
function GDK_DRAWABLE_XDISPLAY(win : PGdkDrawable) : PDisplay;
function GDK_DRAWABLE_XID(win : PGdkDrawable) : TXID;
function GDK_GC_XDISPLAY(gc : PGdkGC) : PDisplay;
function GDK_GC_XGC(gc : PGdkGC) : TGC;
function GDK_SCREEN_XDISPLAY(screen : PGdkScreen) : PDisplay;
function GDK_SCREEN_XSCREEN(screen : PGdkScreen) : PScreen;
function GDK_SCREEN_XNUMBER(screen : PGdkScreen) : longint;
function GDK_VISUAL_XVISUAL(visual : PGdkVisual) : PVisual;
function gdkx_visual_get_for_screen(screen:PGdkScreen; xvisualid:TVisualID):PGdkVisual;cdecl;external;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdkx_visual_get(xvisualid:TVisualID):PGdkVisual;cdecl;external;
{$endif}
{ XXX: Do not use this function until it is fixed. An X Colormap
is useless unless we also have the visual. }
function gdkx_colormap_get(xcolormap:TColormap):PGdkColormap;cdecl;external;
{ Return the Gdk for a particular XID }
function gdk_xid_table_lookup_for_display(display:PGdkDisplay; xid:TXID):gpointer;cdecl;external;
function gdk_x11_get_server_time(window:PGdkWindow):guint32;cdecl;external;
{ returns TRUE if we support the given WM spec feature }
function gdk_x11_screen_supports_net_wm_hint(screen:PGdkScreen; _property:TGdkAtom):gboolean;cdecl;external;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdk_xid_table_lookup(xid:TXID):gpointer;cdecl;external;
function gdk_net_wm_supports(_property:TGdkAtom):gboolean;cdecl;external;
procedure gdk_x11_grab_server;cdecl;external;
procedure gdk_x11_ungrab_server;cdecl;external;
{$endif}
function gdk_x11_lookup_xdisplay(xdisplay:PDisplay):PGdkDisplay;cdecl;external;
{ Functions to get the X Atom equivalent to the GdkAtom }
function gdk_x11_atom_to_xatom_for_display(display:PGdkDisplay; atom:TGdkAtom):TAtom;cdecl;external;
function gdk_x11_xatom_to_atom_for_display(display:PGdkDisplay; xatom:TAtom):TGdkAtom;cdecl;external;
(* Const before type ignored *)
function gdk_x11_get_xatom_by_name_for_display(display:PGdkDisplay; atom_name:Pgchar):TAtom;cdecl;external;
(* Const before type ignored *)
function gdk_x11_get_xatom_name_for_display(display:PGdkDisplay; xatom:TAtom):Pgchar;cdecl;external;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdk_x11_atom_to_xatom(atom:TGdkAtom):TAtom;cdecl;external;
function gdk_x11_xatom_to_atom(xatom:TAtom):TGdkAtom;cdecl;external;
(* Const before type ignored *)
function gdk_x11_get_xatom_by_name(atom_name:Pgchar):TAtom;cdecl;external;
(* Const before type ignored *)
function gdk_x11_get_xatom_name(xatom:TAtom):Pgchar;cdecl;external;
{$endif}
{$ifdef GDK_ENABLE_DEPRECATED}
function gdk_x11_font_get_xdisplay(font:PGdkFont):PDisplay;cdecl;external;
function gdk_x11_font_get_xfont(font:PGdkFont):gpointer;cdecl;external;
(* Const before type ignored *)
function gdk_x11_font_get_name(font:PGdkFont):Pchar;cdecl;external;
function GDK_FONT_XDISPLAY(font : PGdkFont): PDisplay;
function GDK_FONT_XFONT(font : PGdkFont): gpointer;
{$ifndef GDK_MULTIHEAD_SAFE}
function gdk_font_lookup(xid : TXID) : PGdkFont;
{$endif}
function gdk_font_lookup_for_display(display:PGdkDisplay; xid:TXID) : PGdkFont;
procedure gdk_x11_display_grab(display:PGdkDisplay);cdecl;external;
procedure gdk_x11_display_ungrab(display:PGdkDisplay);cdecl;external;
{$endif GDK_ENABLE_DEPRECATED}
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
function GDK_COLORMAP_XDISPLAY(cmap : PGdkColormap) : PDisplay;
begin
GDK_COLORMAP_XDISPLAY:=gdk_x11_colormap_get_xdisplay(cmap);
end;
function GDK_COLORMAP_XCOLORMAP(cmap : PGdkColormap) : TColormap;
begin
GDK_COLORMAP_XCOLORMAP:=gdk_x11_colormap_get_xcolormap(cmap);
end;
function GDK_CURSOR_XDISPLAY(cursor : PGdkCursor) : PDisplay;
begin
GDK_CURSOR_XDISPLAY:=gdk_x11_cursor_get_xdisplay(cursor);
end;
function GDK_CURSOR_XCURSOR(cursor : PGdkCursor) : TCursor;
begin
GDK_CURSOR_XCURSOR:=gdk_x11_cursor_get_xcursor(cursor);
end;
function GDK_IMAGE_XDISPLAY(image : PGdkImage) : PDisplay;
begin
GDK_IMAGE_XDISPLAY:=gdk_x11_image_get_xdisplay(image);
end;
function GDK_IMAGE_XIMAGE(image : PGdkImage) : PXImage;
begin
GDK_IMAGE_XIMAGE:=gdk_x11_image_get_ximage(image);
end;
function GDK_DRAWABLE_XDISPLAY(win : PGdkDrawable) : PDisplay;
var
if_local1 : PDisplay;
begin
if GDK_IS_WINDOW(win) then
if_local1:=GDK_WINDOW_XDISPLAY(win)
else
if_local1:=GDK_PIXMAP_XDISPLAY(win);
GDK_DRAWABLE_XDISPLAY:=if_local1;
end;
function GDK_DRAWABLE_XID(win : PGdkDrawable) : TWindow;
var
if_local1 : TWindow;
begin
if GDK_IS_WINDOW(win) then
if_local1:=GDK_WINDOW_XID(win)
else
if_local1:=GDK_PIXMAP_XID(win);
GDK_DRAWABLE_XID:=if_local1;
end;
function GDK_GC_XDISPLAY(gc : PGdkGC) : PDisplay;
begin
GDK_GC_XDISPLAY:=GDK_SCREEN_XDISPLAY((GDK_GC_X11(gc))^.screen);
end;
function GDK_GC_XGC(gc : PGdkGC) : TGC;
begin
GDK_GC_XGC:=(GDK_GC_X11(gc))^.xgc;
end;
function GDK_SCREEN_XSCREEN(screen : PGdkScreen) : PScreen;
begin
GDK_SCREEN_XSCREEN:=(GDK_SCREEN_X11(screen))^.xscreen;
end;
function GDK_SCREEN_XNUMBER(screen : PGdkScreen) : longint;
begin
GDK_SCREEN_XNUMBER:=(GDK_SCREEN_X11(screen))^.screen_num;
end;
function GDK_VISUAL_XVISUAL(visual : PGdkVisual) : PVisual;
begin
GDK_VISUAL_XVISUAL:=(PGdkVisualPrivate(visual))^.xvisual;
end;
function GDK_GC_GET_XGC(gc : PGdkGC) : TGC;
var
if_local1 : TGC;
begin
if_local1:=(PGdkGCX11(gc))^.xgc;
if (GDK_GC_X11(gc))^.dirty_mask=gTRUE then begin
//if_local1:=_gdk_x11_gc_flush(gc)
end;
GDK_GC_GET_XGC:=if_local1;
end;
function GDK_ROOT_WINDOW : TWindow;
begin
GDK_ROOT_WINDOW:=gdk_x11_get_default_root_xwindow;
end;
function GDK_DISPLAY_XDISPLAY(display : PGdkDisplay) : PDisplay;
begin
GDK_DISPLAY_XDISPLAY:=gdk_x11_display_get_xdisplay(display);
end;
function GDK_WINDOW_XDISPLAY(win : PGdkDrawable) : PDisplay;
begin
GDK_WINDOW_XDISPLAY:=gdk_x11_drawable_get_xdisplay((PGdkWindowObject(win))^.impl);
end;
function GDK_WINDOW_XID(win : PGdkDrawable) : TXID;
begin
GDK_WINDOW_XID:=gdk_x11_drawable_get_xid(win);
end;
function GDK_WINDOW_XWINDOW(win : PGdkDrawable) : TXID;
begin
GDK_WINDOW_XWINDOW:=gdk_x11_drawable_get_xid(win);
end;
function GDK_PIXMAP_XDISPLAY(win : PGdkDrawable) : PDisplay;
begin
GDK_PIXMAP_XDISPLAY:=gdk_x11_drawable_get_xdisplay((PGdkPixmapObject(win))^.impl);
end;
function GDK_PIXMAP_XID(win : PGdkDrawable) : TXID;
begin
GDK_PIXMAP_XID:=gdk_x11_drawable_get_xid(win);
end;
function GDK_SCREEN_XDISPLAY(screen : PGdkScreen) : PDisplay;
begin
GDK_SCREEN_XDISPLAY:=gdk_x11_display_get_xdisplay(gdk_screen_get_display(screen));
end;
{$ifdef GDK_ENABLE_DEPRECATED}
function GDK_FONT_XDISPLAY(font : PGdkFont): PDisplay;
begin
GDK_FONT_XDISPLAY:=gdk_x11_font_get_xdisplay(font);
end;
function gdk_font_lookup(xid : TXID) : PGdkFont;
begin
gdk_font_lookup:=PGdkFont(gdk_xid_table_lookup(xid));
end;
function GDK_FONT_XFONT(font : PGdkFont): gpointer;
begin
GDK_FONT_XFONT:=gdk_x11_font_get_xfont(font);
end;
function gdk_font_lookup_for_display(display:PGdkDisplay; xid:TXID) : PGdkFont;
begin
gdk_font_lookup_for_display:=PGdkFont(gdk_xid_table_lookup_for_display(display,xid));
end;
{$ENDIF GDK_ENABLE_DEPRECATED}
{$ENDIF read_implementation}

View File

@ -0,0 +1,52 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
const
GXID_CLAIM_DEVICE = 1;
GXID_RELEASE_DEVICE = 2;
GXID_RETURN_OK = 0;
GXID_RETURN_ERROR = -(1);
type
PGxidMessage = ^TGxidMessage;
PGxidU32 = ^TGxidU32;
TGxidU32 = dword;
PGxidI32 = ^TGxidI32;
TGxidI32 = longint;
TGxidClaimDevice = record
_type : TGxidU32;
length : TGxidU32;
device : TGxidU32;
window : TGxidU32;
exclusive : TGxidU32;
end;
TGxidReleaseDevice = record
_type : TGxidU32;
length : TGxidU32;
device : TGxidU32;
window : TGxidU32;
end;
TGxidMessageAny = record
_type : TGxidU32;
length : TGxidU32;
end;
TGxidMessage = record
case longint of
0 : ( any : TGxidMessageAny );
1 : ( claim : TGxidClaimDevice );
2 : ( release : TGxidReleaseDevice );
end;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{$ENDIF read_implementation}

View File

@ -0,0 +1,109 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
type
PMotifWmHints = ^TMotifWmHints;
TMotifWmHints = record
flags : dword;
functions : dword;
decorations : dword;
input_mode : longint;
status : dword;
end;
TMwmHints = TMotifWmHints;
PMwmHints = ^TMwmHints;
const
MWM_HINTS_FUNCTIONS = 1 shl 0;
MWM_HINTS_DECORATIONS = 1 shl 1;
MWM_HINTS_INPUT_MODE = 1 shl 2;
MWM_HINTS_STATUS = 1 shl 3;
MWM_FUNC_ALL = 1 shl 0;
MWM_FUNC_RESIZE = 1 shl 1;
MWM_FUNC_MOVE = 1 shl 2;
MWM_FUNC_MINIMIZE = 1 shl 3;
MWM_FUNC_MAXIMIZE = 1 shl 4;
MWM_FUNC_CLOSE = 1 shl 5;
MWM_DECOR_ALL = 1 shl 0;
MWM_DECOR_BORDER = 1 shl 1;
MWM_DECOR_RESIZEH = 1 shl 2;
MWM_DECOR_TITLE = 1 shl 3;
MWM_DECOR_MENU = 1 shl 4;
MWM_DECOR_MINIMIZE = 1 shl 5;
MWM_DECOR_MAXIMIZE = 1 shl 6;
MWM_INPUT_MODELESS = 0;
MWM_INPUT_PRIMARY_APPLICATION_MODAL = 1;
MWM_INPUT_SYSTEM_MODAL = 2;
MWM_INPUT_FULL_APPLICATION_MODAL = 3;
MWM_INPUT_APPLICATION_MODAL = MWM_INPUT_PRIMARY_APPLICATION_MODAL;
MWM_TEAROFF_WINDOW = 1 shl 0;
{ atoms}
_XA_MOTIF_BINDINGS = '_MOTIF_BINDINGS';
_XA_MOTIF_WM_HINTS = '_MOTIF_WM_HINTS';
_XA_MOTIF_WM_MESSAGES = '_MOTIF_WM_MESSAGES';
_XA_MOTIF_WM_OFFSET = '_MOTIF_WM_OFFSET';
_XA_MOTIF_WM_MENU = '_MOTIF_WM_MENU';
_XA_MOTIF_WM_INFO = '_MOTIF_WM_INFO';
_XA_MWM_HINTS = _XA_MOTIF_WM_HINTS;
_XA_MWM_MESSAGES = _XA_MOTIF_WM_MESSAGES;
_XA_MWM_MENU = _XA_MOTIF_WM_MENU;
_XA_MWM_INFO = _XA_MOTIF_WM_INFO;
{ _MWM_INFO property }
type
PMotifWmInfo = ^TMotifWmInfo;
TMotifWmInfo = record
flags : longint;
wm_window : TWindow;
end;
PMwmInfo = ^TMwmInfo;
TMwmInfo = TMotifWmInfo;
const
MWM_INFO_STARTUP_STANDARD = 1 shl 0;
MWM_INFO_STARTUP_CUSTOM = 1 shl 1;
{ _MWM_HINTS property }
type
PPropMotifWmHints = ^TPropMotifWmHints;
TPropMotifWmHints = record
flags : dword;
functions : dword;
decorations : dword;
inputMode : longint;
status : dword;
end;
PPropMwmHints = ^TPropMwmHints;
TPropMwmHints = TPropMotifWmHints;
const
PROP_MOTIF_WM_HINTS_ELEMENTS = 5;
PROP_MWM_HINTS_ELEMENTS = PROP_MOTIF_WM_HINTS_ELEMENTS;
{ _MWM_INFO property, slight return }
type
PPropMotifWmInfo = ^TPropMotifWmInfo;
TPropMotifWmInfo = record
flags : dword;
wmWindow : dword;
end;
PPropMwmInfo = ^TPropMwmInfo;
TPropMwmInfo = TPropMotifWmInfo;
const
PROP_MOTIF_WM_INFO_ELEMENTS = 2;
PROP_MWM_INFO_ELEMENTS = PROP_MOTIF_WM_INFO_ELEMENTS;
{$ENDIF read_interface_rest}
//------------------------------------------------------------------------------
{$IFDEF read_implementation}
{$ENDIF read_implementation}

View File

@ -0,0 +1,27 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
type
PXSettingsAction = ^TXSettingsAction;
TXSettingsAction = Longint;
Const
XSETTINGS_ACTION_NEW = 0;
XSETTINGS_ACTION_CHANGED = 1;
XSETTINGS_ACTION_DELETED = 2;
type
// this PXSettingsClient needs to be removed when there are xcl.h bindings for fpc
PXSettingsClient = pointer;
type
TXSettingsNotifyFunc = procedure (name:Pchar; action:TXSettingsAction; setting:PXSettingsSetting; cb_data:pointer);cdecl;
TXSettingsWatchFunc = procedure (window:TWindow; is_start:TBool; mask:longint; cb_data:pointer);cdecl;
function xsettings_client_new(display:PDisplay; screen:longint; notify:TXSettingsNotifyFunc; watch:TXSettingsWatchFunc; cb_data:pointer):PXSettingsClient;cdecl;external;
procedure xsettings_client_destroy(client:PXSettingsClient);cdecl;external;
function xsettings_client_process_event(client:PXSettingsClient; xev:PXEvent):TBool;cdecl;external;
function xsettings_client_get_setting(client:PXSettingsClient; name:Pchar; setting:PPXSettingsSetting):TXSettingsResult;cdecl;external;
{$ENDIF read_interface_rest}

View File

@ -0,0 +1,111 @@
{%MainUnit ../gdk2x.pas}
{$IFDEF read_interface_rest}
{ Renames for GDK inclusion }
{const
xsettings_byte_order = _gdk_xsettings_byte_order;
xsettings_client_destroy = _gdk_xsettings_client_destroy;
xsettings_client_get_setting = _gdk_xsettings_client_get_setting;
xsettings_client_new = _gdk_xsettings_client_new;
xsettings_client_process_event = _gdk_xsettings_client_process_event;
xsettings_list_copy = _gdk_xsettings_list_copy;
xsettings_list_delete = _gdk_xsettings_list_delete;
xsettings_list_free = _gdk_xsettings_list_free;
xsettings_list_insert = _gdk_xsettings_list_insert;
xsettings_list_lookup = _gdk_xsettings_list_lookup;
xsettings_setting_copy = _gdk_xsettings_setting_copy;
xsettings_setting_equal = _gdk_xsettings_setting_equal;
xsettings_setting_free = _gdk_xsettings_setting_free;}
type
{ Types of settings possible. Enum values correspond to protocol values. }
PXSettingsType = ^TXSettingsType;
TXSettingsType = Longint;
Const
XSETTINGS_TYPE_INT = 0;
XSETTINGS_TYPE_STRING = 1;
XSETTINGS_TYPE_COLOR = 2;
type
PXSettingsResult = ^TXSettingsResult;
TXSettingsResult = Longint;
Const
XSETTINGS_SUCCESS = 0;
XSETTINGS_NO_MEM = 1;
XSETTINGS_ACCESS = 2;
XSETTINGS_FAILED = 3;
XSETTINGS_NO_ENTRY = 4;
XSETTINGS_DUPLICATE_ENTRY = 5;
type
PXSettingsBuffer = ^TXSettingsBuffer;
TXSettingsBuffer = record
byte_order : char;
len : size_t;
data : Pbyte;
pos : Pbyte;
end;
PXSettingsColor = ^TXSettingsColor;
TXSettingsColor = record
red : word;
green : word;
blue : word;
alpha : word;
end;
PXSettingsSetting = ^TXSettingsSetting;
TXSettingsSetting = record
name : Pchar;
_type : TXSettingsType;
data : record
case longint of
0 : ( v_int : longint );
1 : ( v_string : Pchar );
2 : ( v_color : TXSettingsColor );
end;
last_change_serial : dword;
end;
PPXSettingsSetting = ^PXSettingsSetting;
PXSettingsList = ^TXSettingsList;
TXSettingsList = record
setting : PXSettingsSetting;
next : PXSettingsList;
end;
PPXSettingsList = ^PXSettingsList;
function xsettings_setting_copy(setting:PXSettingsSetting):PXSettingsSetting;cdecl;external;
procedure xsettings_setting_free(setting:PXSettingsSetting);cdecl;external;
function xsettings_setting_equal(setting_a:PXSettingsSetting; setting_b:PXSettingsSetting):longint;cdecl;external;
procedure xsettings_list_free(list:PXSettingsList);cdecl;external;
function xsettings_list_copy(list:PXSettingsList):PXSettingsList;cdecl;external;
function xsettings_list_insert(list:PPXSettingsList; setting:PXSettingsSetting):TXSettingsResult;cdecl;external;
(* Const before type ignored *)
function xsettings_list_lookup(list:PXSettingsList; name:Pchar):PXSettingsSetting;cdecl;external;
(* Const before type ignored *)
function xsettings_list_delete(list:PPXSettingsList; name:Pchar):TXSettingsResult;cdecl;external;
function xsettings_byte_order:char;cdecl;external;
function XSETTINGS_PAD(n,m : longint) : longint;
{$ENDIF read_interface_rest}
{$IFDEF read_implementation}
function XSETTINGS_PAD(n,m : longint) : longint;
begin
XSETTINGS_PAD:=((n + m) - 1) and ( not (m - 1));
end;
{$ENDIF read_implementation}

View File

@ -0,0 +1,48 @@
#!/usr/bin/env bash
#set -x
set -e
# make sure, we are in the right directory
cd ../scripts
CHeaderDir=../c_src/x11
PascalIncDir=../include
HTmpFile=temp.h
PasTmpFile=temp.inc
HFiles=$(ls $CHeaderDir/*.h)
for HFile in $HFiles; do
echo $HFile
ShortHFile=$(echo $HFile | sed -e 's#.*/##')
ShortPascalFile=$(echo $ShortHFile | sed -e 's#\.h$#.inc#')
echo $ShortPascalFile
PascalFile=$PascalIncDir/$ShortPascalFile
cat $HFile | sed \
-e 's#G_BEGIN_DECLS##g' \
-e 's#G_END_DECLS##g' \
-e 's#G_CONST_RETURN#const#g' \
> $HTmpFile
h2pas -d -e -i -p -t -o $PasTmpFile $HTmpFile
cat $PasTmpFile | sed \
-e 's#\bT\(gint\)\b#\1#g' \
-e 's#\bT\(guint\)\b#\1#g' \
-e 's#\bT\(gboolean\)\b#\1#g' \
-e 's#\bT\(glong\)\b#\1#g' \
-e 's#\bT\(gulong\)\b#\1#g' \
-e 's#\bT\(gchar\)\b#\1#g' \
-e 's#\bT\(guchar\)\b#\1#g' \
-e 's#\bT\(gshort\)\b#\1#g' \
-e 's#\bT\(gushort\)\b#\1#g' \
-e 's#\bT\(gfloat\)\b#\1#g' \
-e 's#\bT\(gdouble\)\b#\1#g' \
-e 's#\bT\(gpointer\)\b#\1#g' \
-e 's#\bT\(gconstpointer\)\b#\1#g' \
-e 's#\bT\(guint32\)\b#\1#g' \
> $PascalFile
done
# end.