diff --git a/packages/cairo/namespaced/Api.Cairo.Ft.pp b/packages/cairo/namespaced/Api.Cairo.Ft.pp new file mode 100644 index 0000000000..3728aabc6c --- /dev/null +++ b/packages/cairo/namespaced/Api.Cairo.Ft.pp @@ -0,0 +1,3 @@ +unit Api.Cairo.Ft; +{$DEFINE FPC_DOTTEDUNITS} +{$i cairoft.pp} diff --git a/packages/cairo/namespaced/Api.Cairo.GObject.pp b/packages/cairo/namespaced/Api.Cairo.GObject.pp new file mode 100644 index 0000000000..b31033fbd8 --- /dev/null +++ b/packages/cairo/namespaced/Api.Cairo.GObject.pp @@ -0,0 +1,3 @@ +unit Api.Cairo.GObject; +{$DEFINE FPC_DOTTEDUNITS} +{$i cairogobject.pp} diff --git a/packages/cairo/namespaced/Api.Cairo.Lib.pp b/packages/cairo/namespaced/Api.Cairo.Lib.pp new file mode 100644 index 0000000000..d01e10ef86 --- /dev/null +++ b/packages/cairo/namespaced/Api.Cairo.Lib.pp @@ -0,0 +1,3 @@ +unit Api.Cairo.Lib; +{$DEFINE FPC_DOTTEDUNITS} +{$i cairo.pp} diff --git a/packages/cairo/namespaced/Api.Cairo.Win32.pp b/packages/cairo/namespaced/Api.Cairo.Win32.pp new file mode 100644 index 0000000000..e91dfc1483 --- /dev/null +++ b/packages/cairo/namespaced/Api.Cairo.Win32.pp @@ -0,0 +1,3 @@ +unit Api.Cairo.Win32; +{$DEFINE FPC_DOTTEDUNITS} +{$i cairowin32.pp} diff --git a/packages/cairo/namespaced/Api.Cairo.Xlib.pp b/packages/cairo/namespaced/Api.Cairo.Xlib.pp new file mode 100644 index 0000000000..23d07e65c3 --- /dev/null +++ b/packages/cairo/namespaced/Api.Cairo.Xlib.pp @@ -0,0 +1,3 @@ +unit Api.Cairo.Xlib; +{$DEFINE FPC_DOTTEDUNITS} +{$i cairoxlib.pp} diff --git a/packages/cairo/namespaces.lst b/packages/cairo/namespaces.lst new file mode 100644 index 0000000000..cd8096c617 --- /dev/null +++ b/packages/cairo/namespaces.lst @@ -0,0 +1,7 @@ +src/cairogobject.pp=namespaced/Api.Cairo.GObject.pp +{s*:src/}=namespaced/ +{i+:src/} +src/cairo.pp=namespaced/Api.Cairo.Lib.pp +src/cairoft.pp=namespaced/Api.Cairo.Ft.pp +src/cairoxlib.pp=namespaced/Api.Cairo.Xlib.pp +src/cairowin32.pp=namespaced/Api.Cairo.Win32.pp diff --git a/packages/cairo/src/cairo.pp b/packages/cairo/src/cairo.pp index cbe165def8..eadb6b9c59 100644 --- a/packages/cairo/src/cairo.pp +++ b/packages/cairo/src/cairo.pp @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit Cairo; +{$ENDIF FPC_DOTTEDUNITS} (* cairo - a vector graphics library with display and print output * @@ -62,8 +64,13 @@ unit Cairo; interface +{$IFDEF FPC_DOTTEDUNITS} +Uses + System.CTypes; +{$ELSE FPC_DOTTEDUNITS} Uses CTypes; +{$ENDIF FPC_DOTTEDUNITS} const {$ifdef MSWINDOWS} diff --git a/packages/cairo/src/cairoft.pp b/packages/cairo/src/cairoft.pp index bf94285d22..acbc1ed400 100644 --- a/packages/cairo/src/cairoft.pp +++ b/packages/cairo/src/cairoft.pp @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit CairoFT; +{$ENDIF FPC_DOTTEDUNITS} { This file is part of the Free Pascal libraries. Copyright (c) 2003-2008 by the Free Pascal development team @@ -28,8 +30,13 @@ cairo.pp for the full license. interface +{$IFDEF FPC_DOTTEDUNITS} +uses + Api.Cairo.Lib, Api.Freetypeh; +{$ELSE FPC_DOTTEDUNITS} uses Cairo, freetypeh; +{$ENDIF FPC_DOTTEDUNITS} type //todo: properly define FcPattern: diff --git a/packages/cairo/src/cairogobject.pp b/packages/cairo/src/cairogobject.pp index 9a4aa24187..0caaa7d51f 100644 --- a/packages/cairo/src/cairogobject.pp +++ b/packages/cairo/src/cairogobject.pp @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit cairogobject; +{$ENDIF FPC_DOTTEDUNITS} { Cairo-gobject header translation by Dennis Golovan. Original header of cairo-gobject.h @@ -45,7 +47,11 @@ interface {$PACKRECORDS C} {$ENDIF} +{$IFDEF FPC_DOTTEDUNITS} +uses Api.Cairo.Lib; +{$ELSE FPC_DOTTEDUNITS} uses cairo; +{$ENDIF FPC_DOTTEDUNITS} const {$ifdef MSWINDOWS} @@ -300,4 +306,4 @@ begin Result := cairo_gobject_region_overlap_get_type; end; -end. \ No newline at end of file +end. diff --git a/packages/cairo/src/cairowin32.pp b/packages/cairo/src/cairowin32.pp index b02055399b..951992747f 100644 --- a/packages/cairo/src/cairowin32.pp +++ b/packages/cairo/src/cairowin32.pp @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit CairoWin32; +{$ENDIF FPC_DOTTEDUNITS} { This file is part of the Free Pascal libraries. Copyright (c) 2003-2008 by the Free Pascal development team @@ -26,8 +28,13 @@ licensed LGPL-MPL see the file cairo.pp for the full license. interface +{$IFDEF FPC_DOTTEDUNITS} +uses + Api.Cairo.Lib, WinApi.Windows; +{$ELSE FPC_DOTTEDUNITS} uses Cairo, windows; +{$ENDIF FPC_DOTTEDUNITS} function cairo_win32_surface_create(dc: HDC): Pcairo_surface_t; cdecl; external LIB_CAIRO; function cairo_win32_printing_surface_create(dc: HDC): Pcairo_surface_t; cdecl; external LIB_CAIRO; diff --git a/packages/cairo/src/cairoxlib.pp b/packages/cairo/src/cairoxlib.pp index e4db3debb0..39b3a2fda2 100644 --- a/packages/cairo/src/cairoxlib.pp +++ b/packages/cairo/src/cairoxlib.pp @@ -1,4 +1,6 @@ +{$IFNDEF FPC_DOTTEDUNITS} unit CairoXlib; +{$ENDIF FPC_DOTTEDUNITS} { This file is part of the Free Pascal libraries. Copyright (c) 2003-2008 by the Free Pascal development team @@ -30,8 +32,13 @@ unit CairoXlib; interface +{$IFDEF FPC_DOTTEDUNITS} +uses + Api.Cairo.Lib, Api.X11.X, Api.X11.Xlib, Api.X11.Xrender; +{$ELSE FPC_DOTTEDUNITS} uses Cairo, x, xlib, xrender; +{$ENDIF FPC_DOTTEDUNITS} function cairo_xlib_surface_create(dpy: PDisplay; drawable: TDrawable; visual: PVisual; width, height: LongInt): Pcairo_surface_t; cdecl; external LIB_CAIRO; function cairo_xlib_surface_create_for_bitmap(dpy: PDisplay; bitmap: TPixmap; screen: PScreen; width, height: LongInt): Pcairo_surface_t; cdecl; external LIB_CAIRO;