Browse Source

skia: added Origin

mattias 1 year ago
parent
commit
565814132a
2 changed files with 4 additions and 3 deletions
  1. 1 1
      src/base/fresnel.renderer.pas
  2. 3 2
      src/skia/fresnel.skiarenderer.pas

+ 1 - 1
src/base/fresnel.renderer.pas

@@ -34,7 +34,7 @@ type
     procedure DrawElement(El: TFresnelElement); virtual;
     procedure DrawChildren(El: TFresnelElement); virtual;
     procedure UpdateRenderedAttributes(El: TFresnelElement); virtual;
-    procedure SetOrigin(const AValue: TFresnelPoint);
+    procedure SetOrigin(const AValue: TFresnelPoint); virtual;
   public
     procedure Draw(Viewport: TFresnelViewport); virtual;
     property SubPixel: boolean read FSubPixel write FSubPixel;

+ 3 - 2
src/skia/fresnel.skiarenderer.pas

@@ -386,6 +386,7 @@ begin
   SkPaint:=TSkPaint.Create(TSkPaintStyle.Fill);
   SkPaint.setColor(FPColorToSkia(aColor));
   r:=aRect.GetRectF;
+  r.Offset(FOrigin.X,FOrigin.Y);
   Canvas.DrawRect(r, SkPaint);
 end;
 
@@ -396,7 +397,7 @@ var
 begin
   SkPaint:=TSkPaint.Create(TSkPaintStyle.Stroke);
   SkPaint.setColor(FPColorToSkia(aColor));
-  Canvas.DrawLine(x1,y1,x2,y2, SkPaint);
+  Canvas.DrawLine(FOrigin.X+x1,FOrigin.Y+y1,FOrigin.X+x2,FOrigin.Y+y2, SkPaint);
 end;
 
 procedure TFresnelSkiaRenderer.TextOut(const aLeft, aTop: TFresnelLength;
@@ -411,7 +412,7 @@ begin
   SkPaint:=TSkPaint.Create;
   SkPaint.setColor(FPColorToSkia(aColor));
   aTextBlob:=TSkTextBlob.MakeFromText(UnicodeString(aText),FreSkiaFont.SKFont);
-  Canvas.DrawTextBlob(aTextBlob, aLeft, aTop + FreSkiaFont.SKFont.Size, SkPaint);
+  Canvas.DrawTextBlob(aTextBlob, FOrigin.X+aLeft, FOrigin.Y+aTop + FreSkiaFont.SKFont.Size, SkPaint);
 end;
 
 constructor TFresnelSkiaRenderer.Create(AOwner: TComponent);