gtk3: implemented TWinControl.PaintTo()

git-svn-id: trunk@62921 -
This commit is contained in:
zeljko 2020-04-09 12:54:46 +00:00
parent e7fe8688e3
commit 35e0a7ae4a

View File

@ -42,7 +42,7 @@ uses
Controls, Graphics, LCLType, Types, LCLProc,
////////////////////////////////////////////////////
WSLCLClasses, WSControls, WSProc, LazGtk3, LazGdk3, LazGlib2, LazGObject2,
gtk3widgets, LazPango1,
gtk3widgets, LazPango1, LazCairo1, LazGdkPixbuf2,
{ TODO: remove when CreateHandle/Component code moved }
InterfaceBase;
@ -321,12 +321,18 @@ end;
class procedure TGtk3WSWinControl.PaintTo(const AWinControl: TWinControl; ADC: HDC;
X, Y: Integer);
var
AWidget: TGtk3Widget;
cr: Pcairo_t;
begin
if not WSCheckHandleAllocated(AWincontrol, 'PaintTo') or (ADC = 0) then
Exit;
{.$IFDEF GTK3DEBUGCORE}
DebugLn('WARNING: TGtk3WSWinControl.PaintTo not implemented');
{.$ENDIF}
AWidget := TGtk3Widget(AWinControl.Handle);
cr := TGtk3DeviceContext(ADC).Widget;
cairo_save(cr);
cairo_translate(cr, X, Y);
gtk_widget_draw(AWidget.Widget, cr);
cairo_restore(cr);
end;
class procedure TGtk3WSWinControl.SetBounds(const AWinControl: TWinControl; const ALeft, ATop, AWidth, AHeight: Integer);