Przeglądaj źródła

added first demo

mattias 2 lat temu
rodzic
commit
7d73781e7e

+ 19 - 0
.gitignore

@@ -0,0 +1,19 @@
+**/*.o
+**/*.ppu
+**/*.exe
+**/*.bak
+**/*.diff
+**/*.patch
+**/backup/
+**/*;[1-9]
+**/*.~*
+**/*.*~
+**/*.fpcunit.ini
+**/*.lps
+**/*.compiled
+!**/Makefile.compiled
+!**/patches/*.patch
+!**/patches/*.diff
+/*.dll
+link*.res
+.DS_Store

+ 3 - 0
demo/DivAndSpan/.gitignore

@@ -0,0 +1,3 @@
+lib
+FresnelDivAndSpan1
+FresnelDivAndSpan1.app

BIN
demo/DivAndSpan/FresnelDivAndSpan1.ico


+ 93 - 0
demo/DivAndSpan/FresnelDivAndSpan1.lpi

@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<CONFIG>
+  <ProjectOptions>
+    <Version Value="12"/>
+    <General>
+      <SessionStorage Value="InProjectDir"/>
+      <Title Value="FresnelDivAndSpan1"/>
+      <Scaled Value="True"/>
+      <ResourceType Value="res"/>
+      <UseXPManifest Value="True"/>
+      <XPManifest>
+        <DpiAware Value="True"/>
+      </XPManifest>
+      <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"/>
+      </Item>
+      <Item>
+        <PackageName Value="LCL"/>
+      </Item>
+    </RequiredPackages>
+    <Units>
+      <Unit>
+        <Filename Value="FresnelDivAndSpan1.lpr"/>
+        <IsPartOfProject Value="True"/>
+        <UnitName Value="TestFresnelLayouter1"/>
+      </Unit>
+      <Unit>
+        <Filename Value="mainunit.pas"/>
+        <IsPartOfProject Value="True"/>
+        <ComponentName Value="Form1"/>
+        <ResourceBaseClass Value="Form"/>
+        <UnitName Value="MainUnit"/>
+      </Unit>
+    </Units>
+  </ProjectOptions>
+  <CompilerOptions>
+    <Version Value="11"/>
+    <Target>
+      <Filename Value="FresnelDivAndSpan1"/>
+    </Target>
+    <SearchPaths>
+      <IncludeFiles Value="$(ProjOutDir)"/>
+      <OtherUnitFiles Value="../../../fpc_sources/3.3.1/packages/fcl-css/src"/>
+      <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
+    </SearchPaths>
+    <Linking>
+      <Debugging>
+        <DebugInfoType Value="dsDwarf2Set"/>
+      </Debugging>
+      <Options>
+        <Win32>
+          <GraphicApplication Value="True"/>
+        </Win32>
+      </Options>
+    </Linking>
+    <Other>
+      <CompilerMessages>
+        <IgnoredMessages idx6060="True"/>
+      </CompilerMessages>
+      <CustomOptions Value="-dVerboseFresnelLayouter"/>
+      <OtherDefines Count="1">
+        <Define0 Value="VerboseFresnelLayouter"/>
+      </OtherDefines>
+      <CompilerPath Value="/usr/local/lib/fpc/3.3.1/ppcx64"/>
+    </Other>
+  </CompilerOptions>
+  <Debugging>
+    <Exceptions>
+      <Item>
+        <Name Value="EAbort"/>
+      </Item>
+      <Item>
+        <Name Value="ECodetoolError"/>
+      </Item>
+      <Item>
+        <Name Value="EFOpenError"/>
+      </Item>
+    </Exceptions>
+  </Debugging>
+</CONFIG>

+ 24 - 0
demo/DivAndSpan/FresnelDivAndSpan1.lpr

@@ -0,0 +1,24 @@
+program TestFresnelLayouter1;
+
+{$mode objfpc}{$H+}
+
+uses
+  {$IFDEF UNIX}
+  cthreads,
+  {$ENDIF}
+  {$IFDEF HASAMIGA}
+  athreads,
+  {$ENDIF}
+  Interfaces, // this includes the LCL widgetset
+  Forms, MainUnit;
+
+{$R *.res}
+
+begin
+  RequireDerivedFormResource:=True;
+  Application.Scaled:=True;
+  Application.Initialize;
+  Application.CreateForm(TForm1, Form1);
+  Application.Run;
+end.
+

BIN
demo/DivAndSpan/FresnelDivAndSpan1.res


+ 42 - 0
demo/DivAndSpan/index.html

@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+<meta name="viewport" content="width=device-width">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>fp CSS Selector</title>
+<style>
+span   {border-width: 1px; border-style: solid; display: inline-block; }
+div {border-width: 1px; border-style: solid; border-color: blue; padding: 10px; margin: 10px;}
+</style>
+<body>
+BodyFirst
+  <div id="bird" style="display: inline; ">
+    <span style="margin: 0px; ">First</span><span style="padding-bottom: 15px;">Second</span>
+    <span style="width:60%;">Third</span>
+    <div id="condor" style="position: absolute; z-index:3; top: 0px; left: 0px;">
+      Condor
+      <div id="egg" style="position: absolute; left: 0px; top: 0px; padding: 0px; margin: 5px;">
+        Egg
+      </div>
+    </div>
+    <div id="tucan" style="border-left-width: 3px;">
+      tucan
+    </div>
+    <div id="eagle" style="width:100px; display: inline-block;">
+      Eagle
+    </div>
+    <span id="penguin" style="border-color: green; border-left-width: -3px;">
+      penguin
+    </div>
+    <div id="falcon" style="border-color: brown; float: left;">
+      falcon
+    </div>
+  </div>BodyLast
+  <br clear="all">
+  <div style="width: 100px;">
+    <span style="border-color: blue; border-left-width: 8px;">Dog</span><span style="border-color: black; border-left-width: 5px;"><span style="border-color: red;">Cat</span> Mouse</span>
+  </div>
+</body>
+</html>
+
+

+ 9 - 0
demo/DivAndSpan/mainunit.lfm

@@ -0,0 +1,9 @@
+object Form1: TForm1
+  Left = 248
+  Height = 417
+  Top = 250
+  Width = 489
+  Caption = 'Form1'
+  OnCreate = FormCreate
+  LCLVersion = '2.3.0.0'
+end

+ 96 - 0
demo/DivAndSpan/mainunit.pas

@@ -0,0 +1,96 @@
+unit MainUnit;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, FresnelControls,
+  FresnelDOM, FresnelLayouter, FresnelLCLControls;
+
+type
+
+  { TForm1 }
+
+  TForm1 = class(TForm)
+    procedure FormCreate(Sender: TObject);
+  private
+
+  public
+
+  end;
+
+var
+  Form1: TForm1;
+
+implementation
+
+{$R *.lfm}
+
+{ TForm1 }
+
+procedure TForm1.FormCreate(Sender: TObject);
+var
+  Body1: TFresnelBody;
+  Div1, Div2: TFresnelDiv;
+  Label1: TFresnelLabel;
+  ViewPort: TFresnelViewport;
+  Layouter: TSimpleFresnelLayouter;
+  Fresnel1: TFresnelLCLControl;
+  Span1: TFresnelSpan;
+begin
+  Fresnel1:=TFresnelLCLControl.Create(Self);
+  with Fresnel1 do
+  begin
+    Name:='Fresnel1';
+    Align:=alClient;
+    Viewport.Stylesheet.Text:='div { padding: 2px; border: 3px; margin: 6px; }';
+    Parent:=Self;
+  end;
+  ViewPort:=Fresnel1.Viewport;
+  Layouter:=Fresnel1.Layouter;
+
+  Body1:=TFresnelBody.Create(Self);
+  with Body1 do begin
+    Name:='Body1';
+    Parent:=ViewPort;
+    Style:='border: 2px; border-color: blue;';
+  end;
+
+  Div1:=TFresnelDiv.Create(Self);
+  with Div1 do begin
+    Name:='Div1';
+    Parent:=Body1;
+    Style:='background-color: blue; border-color: black; height:50px;';
+  end;
+
+  Span1:=TFresnelSpan.Create(Self);
+  with Span1 do begin
+    Name:='Span1';
+    Parent:=Body1;
+    Style:='width: 50px; height:70px; background-color: red; border: 3px; border-color: black; margin: 3px;';
+  end;
+
+  Label1:=TFresnelLabel.Create(Self);
+  with Label1 do
+  begin
+    Name:='Label1';
+    Caption:='Label1Caption';
+    Parent:=Body1;
+    Style:='background-color: green; ';
+  end;
+
+  Div2:=TFresnelDiv.Create(Self);
+  with Div2 do begin
+    Name:='Div2';
+    Parent:=Body1;
+    Style:='border-color: black; height:50px; position: absolute; left: 30px; top: 100px; width: 50px; height: 60px;';
+  end;
+
+  ViewPort.ApplyCSS;
+  Layouter.WriteLayoutTree;
+  Layouter.Apply(ViewPort);
+end;
+
+end.
+

+ 3 - 3
src/fresnel.lpk

@@ -8,7 +8,7 @@
       <Version Value="11"/>
       <SearchPaths>
         <OtherUnitFiles Value="$(FPCSrcDir)/packages/fcl-css/src"/>
-        <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)/"/>
+        <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
       </SearchPaths>
     </CompilerOptions>
     <Description Value="CSS components"/>
@@ -34,12 +34,12 @@
       </Item>
       <Item>
         <Filename Value="fresnelrenderer.pas"/>
-        <UnitName Value="fresnelrenderer"/>
+        <UnitName Value="FresnelRenderer"/>
       </Item>
     </Files>
     <RequiredPkgs>
       <Item>
-        <PackageName Value="LCLBase"/>
+        <PackageName Value="LCL"/>
       </Item>
     </RequiredPkgs>
     <UsageOptions>