summaryrefslogtreecommitdiff
path: root/packages/cairo/src
diff options
context:
space:
mode:
authorivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-03-10 09:49:28 +0000
committerivost <ivost@3ad0048d-3df7-0310-abae-a5850022a9f2>2010-03-10 09:49:28 +0000
commit35c625029e2112402ac10644a13e9dc22565e2aa (patch)
tree2701bf98e1af0bd0ed122a0ee6d61a4fbb664bbd /packages/cairo/src
parentae5f02d668de45f2efe95dc40bbb11bc01380cce (diff)
downloadfpc-35c625029e2112402ac10644a13e9dc22565e2aa.tar.gz
* added freepascal helper function
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@14999 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/cairo/src')
-rw-r--r--packages/cairo/src/cairo.pp16
1 files changed, 15 insertions, 1 deletions
diff --git a/packages/cairo/src/cairo.pp b/packages/cairo/src/cairo.pp
index d41026f5ad..f3757220bd 100644
--- a/packages/cairo/src/cairo.pp
+++ b/packages/cairo/src/cairo.pp
@@ -52,7 +52,9 @@ unit Cairo;
interface
-Uses CTypes;
+Uses
+ Classes,
+ CTypes;
const
{$ifdef win32}
@@ -639,6 +641,10 @@ function cairo_svg_version_to_string(version: cairo_svg_version_t): PChar; cdec
procedure cairo_debug_reset_static_data; cdecl; external LIB_CAIRO;
+
+(* FreePascal helpers *)
+function cairo_write_fpstream_func(closure: Pointer; data: PByte; length: LongWord): cairo_status_t; cdecl;
+
implementation
procedure cairo_version(out major, minor, micro: LongInt);
@@ -651,4 +657,12 @@ begin
micro := (version mod ((major * 10000) + (minor * 100)));
end;
+function cairo_write_fpstream_func(closure: Pointer; data: PByte; length: LongWord): cairo_status_t; cdecl;
+var
+ Stream: TStream absolute closure;
+begin
+ Stream.Write(data^, length);
+ Result := CAIRO_STATUS_SUCCESS;
+end;
+
end.