فهرست منبع

experiment: started skia font

mattias 6 ماه پیش
والد
کامیت
133f6de6b5

BIN
tests/exploration/skia/SkiaFont1.ico


+ 70 - 0
tests/exploration/skia/SkiaFont1.lpi

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <General>
+      <Flags>
+        <MainUnitHasCreateFormStatements Value="False"/>
+        <MainUnitHasTitleStatement Value="False"/>
+        <MainUnitHasScaledStatement Value="False"/>
+      </Flags>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="SkiaFont1"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <Icon Value="0"/>
+    </General>
+    <BuildModes>
+      <Item Name="Default" Default="True"/>
+    </BuildModes>
+    <PublishOptions>
+      <Version Value="2"/>
+      <UseFileFilters Value="True"/>
+    </PublishOptions>
+    <RunParams>
+      <FormatVersion Value="2"/>
+    </RunParams>
+    <RequiredPackages>
+      <Item>
+        <PackageName Value="Fresnel"/>
+        <DefaultFilename Value="../../../src/fresnel.lpk" Prefer="True"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="SkiaFont1.lpr"/>
+        <IsPartOfProject Value="True"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <Target>
+      <Filename Value="SkiaFont1"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 73 - 0
tests/exploration/skia/SkiaFont1.lpr

@@ -0,0 +1,73 @@
+program SkiaFont1;
+
+{$mode objfpc}{$H+}
+
+uses
+  {$IFDEF UNIX}
+  cthreads,
+  {$ENDIF}
+  {$IFDEF HASAMIGA}
+  athreads,
+  {$ENDIF}
+  Classes, SysUtils,
+  Fresnel, Fresnel.SkiaRenderer, System.Skia, // this includes the Fresnel widgetset
+  Fresnel.Forms,
+  Fresnel.Classes, Fresnel.DOM, Fresnel.Controls;
+
+{$R *.res}
+
+type
+
+  { TFresnelForm1 }
+
+  TFresnelForm1 = class(TFresnelForm)
+  private
+
+  public
+    procedure WSDraw; override;
+    constructor CreateNew(AOwner: TComponent); override;
+  end;
+
+var
+  FresnelForm1: TFresnelForm1;
+
+{ TFresnelForm1 }
+
+procedure TFresnelForm1.WSDraw;
+var
+  SkRenderer: TFresnelSkiaRenderer;
+  C: ISkCanvas;
+  aFontDesc: TFresnelFontDesc;
+  aFont: IFresnelFont;
+begin
+  inherited WSDraw;
+
+  SkRenderer:=Renderer as TFresnelSkiaRenderer;
+  C:=SkRenderer.Canvas;
+
+  with aFontDesc do begin
+    Family:='arial';
+    Kerning:=fckAuto;
+    Size:=20; // in pixel
+    Style:='normal';
+    Weight:=400; // 100..750
+    Width:=1; // 1 = default
+  end;
+  aFont:=AllocateFont(aFontDesc);
+
+  writeln('TFresnelForm1.WSDraw ');
+end;
+
+constructor TFresnelForm1.CreateNew(AOwner: TComponent);
+begin
+  inherited CreateNew(AOwner);
+  FormBounds:=BoundsRectFre(100,100,500,300);
+end;
+
+begin
+  Application.HookFresnelLog:=true;
+  Application.Initialize;
+  Application.CreateForm(TFresnelForm1,FresnelForm1);
+  Application.Run;
+end.
+

BIN
tests/exploration/skia/SkiaFont1.res