Skip to content

Commit e266c1d

Browse files
committed
fix: Make TExternalCanvas mirror TImage drawing better by adding missing circle methods
1 parent 8140cac commit e266c1d

1 file changed

Lines changed: 26 additions & 7 deletions

File tree

Source/script/imports/simba.import_externalcanvas.pas

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ implementation
1515
uses
1616
lptypes,
1717
simba.image_textdrawer, simba.externalcanvas,
18-
simba.vartype_quad, simba.script_objectutil;
18+
simba.vartype_quad, simba.vartype_circle, simba.script_objectutil;
1919

2020
type
2121
PSimbaExternalCanvas = ^TSimbaExternalCanvas;
@@ -292,21 +292,36 @@ procedure _LapeExternalCanvas_DrawQuadInverted(const Params: PParamArray); LAPE_
292292
PSimbaExternalCanvas(Params^[0])^.DrawQuadInverted(PQuad(Params^[1])^);
293293
end;
294294

295-
procedure _LapeExternalCanvas_DrawCircle(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
295+
procedure _LapeExternalCanvas_DrawCircle1(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
296296
begin
297297
PSimbaExternalCanvas(Params^[0])^.DrawCircle(PPoint(Params^[1])^, PInteger(Params^[2])^);
298298
end;
299299

300-
procedure _LapeExternalCanvas_DrawCircleFilled(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
300+
procedure _LapeExternalCanvas_DrawCircleFilled1(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
301301
begin
302302
PSimbaExternalCanvas(Params^[0])^.DrawCircleFilled(PPoint(Params^[1])^, PInteger(Params^[2])^);
303303
end;
304304

305-
procedure _LapeExternalCanvas_DrawCircleInverted(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
305+
procedure _LapeExternalCanvas_DrawCircleInverted1(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
306306
begin
307307
PSimbaExternalCanvas(Params^[0])^.DrawCircleInverted(PPoint(Params^[1])^, PInteger(Params^[2])^);
308308
end;
309309

310+
procedure _LapeExternalCanvas_DrawCircle2(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
311+
begin
312+
PSimbaExternalCanvas(Params^[0])^.DrawCircle(Point(TCircle(Params^[1]^).X, TCircle(Params^[1]^).Y), TCircle(Params^[1]^).Radius);
313+
end;
314+
315+
procedure _LapeExternalCanvas_DrawCircleFilled2(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
316+
begin
317+
PSimbaExternalCanvas(Params^[0])^.DrawCircleFilled(Point(TCircle(Params^[1]^).X, TCircle(Params^[1]^).Y), TCircle(Params^[1]^).Radius);
318+
end;
319+
320+
procedure _LapeExternalCanvas_DrawCircleInverted2(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
321+
begin
322+
PSimbaExternalCanvas(Params^[0])^.DrawCircleInverted(Point(TCircle(Params^[1]^).X, TCircle(Params^[1]^).Y), TCircle(Params^[1]^).Radius);
323+
end;
324+
310325
procedure _LapeExternalCanvas_DrawCrosshairs(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
311326
begin
312327
PSimbaExternalCanvas(Params^[0])^.DrawCrosshairs(PPoint(Params^[1])^, PInteger(Params^[2])^);
@@ -441,9 +456,13 @@ procedure ImportExternalCanvas(Script: TSimbaScript);
441456
addGlobalFunc('procedure TExternalCanvas.DrawQuadFilled(Quad: TQuad);', @_LapeExternalCanvas_DrawQuadFilled);
442457
addGlobalFunc('procedure TExternalCanvas.DrawQuadInverted(Quad: TQuad);', @_LapeExternalCanvas_DrawQuadInverted);
443458

444-
addGlobalFunc('procedure TExternalCanvas.DrawCircle(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircle);
445-
addGlobalFunc('procedure TExternalCanvas.DrawCircleFilled(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircleFilled);
446-
addGlobalFunc('procedure TExternalCanvas.DrawCircleInverted(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircleInverted);
459+
addGlobalFunc('procedure TExternalCanvas.DrawCircle(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircle1);
460+
addGlobalFunc('procedure TExternalCanvas.DrawCircleFilled(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircleFilled1);
461+
addGlobalFunc('procedure TExternalCanvas.DrawCircleInverted(Center: TPoint; Radius: Integer)', @_LapeExternalCanvas_DrawCircleInverted1);
462+
463+
addGlobalFunc('procedure TExternalCanvas.DrawCircle(Circle: TCircle); overload', @_LapeExternalCanvas_DrawCircle2);
464+
addGlobalFunc('procedure TExternalCanvas.DrawCircleFilled(Circle: TCircle); overload', @_LapeExternalCanvas_DrawCircleFilled2);
465+
addGlobalFunc('procedure TExternalCanvas.DrawCircleInverted(Circle: TCircle); overload', @_LapeExternalCanvas_DrawCircleInverted2);
447466

448467
addGlobalFunc('procedure TExternalCanvas.DrawCrosshairs(ACenter: TPoint; Size: Integer);', @_LapeExternalCanvas_DrawCrosshairs);
449468
addGlobalFunc('procedure TExternalCanvas.DrawCross(ACenter: TPoint; Radius: Integer);', @_LapeExternalCanvas_DrawCross);

0 commit comments

Comments
 (0)