|
@@ -52,7 +52,9 @@ unit Cairo;
|
|
|
|
|
|
interface
|
|
interface
|
|
|
|
|
|
-Uses CTypes;
|
|
|
|
|
|
+Uses
|
|
|
|
+ Classes,
|
|
|
|
+ CTypes;
|
|
|
|
|
|
const
|
|
const
|
|
{$ifdef win32}
|
|
{$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;
|
|
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
|
|
implementation
|
|
|
|
|
|
procedure cairo_version(out major, minor, micro: LongInt);
|
|
procedure cairo_version(out major, minor, micro: LongInt);
|
|
@@ -651,4 +657,12 @@ begin
|
|
micro := (version mod ((major * 10000) + (minor * 100)));
|
|
micro := (version mod ((major * 10000) + (minor * 100)));
|
|
end;
|
|
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.
|
|
end.
|