lazarus/components/cairocanvas/unix/gdkcairocanvas.pas
2013-10-09 17:53:02 +00:00

41 lines
746 B
ObjectPascal

unit gdkcairocanvas;
{$mode objfpc}{$H+}
interface
uses
gdk2, Gtk2Def, CairoGraphics, LCLType;
type
{ TGdkCairoCanvas }
TGdkCairoCanvas = class(TCairoControlCanvas)
protected
procedure SetHandle(NewHandle: HDC); override;
function CreateCairoHandle: HDC; override;
end;
implementation
{ TGdkCairoCanvas }
function TGdkCairoCanvas.CreateCairoHandle: HDC;
begin
Result := 0; //Fake handle, right Handle is setted in SetHandle func
end;
procedure TGdkCairoCanvas.SetHandle(NewHandle: HDC);
begin
if NewHandle <> 0 then
NewHandle := {%H-}HDC(gdk_cairo_create(TGtk2DeviceContext(NewHandle).Drawable));
inherited SetHandle(NewHandle);
end;
initialization
CairoGraphicControlCanvasClass := TGdkCairoCanvas;
end.