|
@@ -5,8 +5,8 @@ unit MainUnit;
|
|
|
interface
|
|
|
|
|
|
uses
|
|
|
- Classes, SysUtils, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls, DemoSlider,
|
|
|
- DemoCheckBox;
|
|
|
+ Classes, SysUtils, Fresnel.Forms, Fresnel.DOM, Fresnel.Controls,
|
|
|
+ DemoSlider, DemoCheckBox;
|
|
|
|
|
|
type
|
|
|
|
|
@@ -50,6 +50,33 @@ implementation
|
|
|
{ TFresnelForm1 }
|
|
|
|
|
|
procedure TFresnelForm1.FresnelForm1Create(Sender: TObject);
|
|
|
+
|
|
|
+ function AddSlider(aName, aCaption: string; aParent: TFresnelElement = nil): TDemoSlider;
|
|
|
+ begin
|
|
|
+ if aParent=nil then aParent:=Self;
|
|
|
+ Result:=TDemoSlider.Create(Self);
|
|
|
+ with Result do begin
|
|
|
+ Name:=aName;
|
|
|
+ Caption:=aCaption;
|
|
|
+ ValueFormat:='%.0fpx';
|
|
|
+ Parent:=aParent;
|
|
|
+ OnChange:=@OnPropChange;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
+ function AddCheckBox(aName, aCaption: string; aParent: TFresnelElement = nil): TDemoCheckBox;
|
|
|
+ begin
|
|
|
+ if aParent=nil then aParent:=Self;
|
|
|
+ Result:=TDemoCheckBox.Create(Self);
|
|
|
+ with Result do begin
|
|
|
+ Name:=aName;
|
|
|
+ Caption:=aCaption;
|
|
|
+ Checked:=true;
|
|
|
+ Parent:=aParent;
|
|
|
+ OnChange:=@OnPropChange;
|
|
|
+ end;
|
|
|
+ end;
|
|
|
+
|
|
|
begin
|
|
|
BackgroundColor1:='#79bbff';
|
|
|
BackgroundColor2:='#378de5';
|
|
@@ -72,59 +99,35 @@ begin
|
|
|
+'}'+LineEnding
|
|
|
+'.Slider {'+LineEnding
|
|
|
+' margin: 6px;'+LineEnding
|
|
|
+ +' width: 150px;'+LineEnding
|
|
|
+'}'+LineEnding
|
|
|
);
|
|
|
|
|
|
// font-size slider
|
|
|
- FontSizeSlider:=TDemoSlider.Create(Self);
|
|
|
+ FontSizeSlider:=AddSlider('FontSizeSlider','Font Size:');
|
|
|
with FontSizeSlider do begin
|
|
|
- Name:='FontSizeSlider';
|
|
|
- Caption:='Font Size:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=5;
|
|
|
MaxPosition:=40;
|
|
|
Position:=12;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// padding vertical slider
|
|
|
- PaddingVerticalSlider:=TDemoSlider.Create(Self);
|
|
|
+ PaddingVerticalSlider:=AddSlider('PaddingVerticalSlider','Vertical Padding:');
|
|
|
with PaddingVerticalSlider do begin
|
|
|
- Name:='PaddingVerticalSlider';
|
|
|
- Caption:='Vertical Padding:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=0;
|
|
|
MaxPosition:=50;
|
|
|
Position:=16;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// gradient
|
|
|
- GradientChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with GradientChkBox do begin
|
|
|
- Name:='GradientChkBox';
|
|
|
- Caption:='Gradient';
|
|
|
- Checked:=true;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ GradientChkBox:=AddCheckBox('GradientChkBox','Gradient');
|
|
|
|
|
|
// border-width slider
|
|
|
- BorderWidthSlider:=TDemoSlider.Create(Self);
|
|
|
+ BorderWidthSlider:=AddSlider('BorderWidthSlider','Border Width:');
|
|
|
with BorderWidthSlider do begin
|
|
|
- Name:='BorderWidthSlider';
|
|
|
- Caption:='Border Width:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=0;
|
|
|
MaxPosition:=10;
|
|
|
Position:=1;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// border-radius corners: four checkboxes
|
|
@@ -142,106 +145,48 @@ begin
|
|
|
Parent:=BorderRadiusDiv;
|
|
|
end;
|
|
|
|
|
|
- BorderRadiusTopLeftChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with BorderRadiusTopLeftChkBox do begin
|
|
|
- Name:='BorderRadiusTopLeftChkBox';
|
|
|
- Caption:='Top Left';
|
|
|
- Checked:=true;
|
|
|
- Parent:=BorderRadiusDiv;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ BorderRadiusTopLeftChkBox:=AddCheckBox('BorderRadiusTopLeftChkBox','Top Left',BorderRadiusDiv);
|
|
|
|
|
|
- BorderRadiusTopRightChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with BorderRadiusTopRightChkBox do begin
|
|
|
- Name:='BorderRadiusTopRightChkBox';
|
|
|
- Caption:='Top Right';
|
|
|
- Checked:=true;
|
|
|
- Parent:=BorderRadiusDiv;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ BorderRadiusTopRightChkBox:=AddCheckBox('BorderRadiusTopRightChkBox','Top Right',BorderRadiusDiv);
|
|
|
|
|
|
- BorderRadiusBottomLeftChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with BorderRadiusBottomLeftChkBox do begin
|
|
|
- Name:='BorderRadiusBottomLeftChkBox';
|
|
|
- Caption:='Bottom Left';
|
|
|
- Checked:=true;
|
|
|
- Parent:=BorderRadiusDiv;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ BorderRadiusBottomLeftChkBox:=AddCheckBox('BorderRadiusBottomLeftChkBox','Bottom Left',BorderRadiusDiv);
|
|
|
|
|
|
- BorderRadiusBottomRightChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with BorderRadiusBottomRightChkBox do begin
|
|
|
- Name:='BorderRadiusBottomRightChkBox';
|
|
|
- Caption:='Bottom Right';
|
|
|
- Checked:=true;
|
|
|
- Parent:=BorderRadiusDiv;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ BorderRadiusBottomRightChkBox:=AddCheckBox('BorderRadiusBottomRightChkBox','Bottom Right',BorderRadiusDiv);
|
|
|
|
|
|
// slider for border radius
|
|
|
- BorderRadiusSlider:=TDemoSlider.Create(Self);
|
|
|
+ BorderRadiusSlider:=AddSlider('BorderRadiusSlider','Border Radius:');
|
|
|
with BorderRadiusSlider do begin
|
|
|
- Name:='BorderRadiusSlider';
|
|
|
- Caption:='Border Radius:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=0;
|
|
|
MaxPosition:=50;
|
|
|
Position:=16;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// text-shadow checkbox
|
|
|
- TextShadowChkBox:=TDemoCheckBox.Create(Self);
|
|
|
- with TextShadowChkBox do begin
|
|
|
- Name:='TextShadowChkBox';
|
|
|
- Caption:='Text Shadow';
|
|
|
- Checked:=true;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
- end;
|
|
|
+ TextShadowChkBox:=AddCheckBox('TextShadowChkBox','Text Shadow');
|
|
|
|
|
|
// slider for text-shadow vertical position
|
|
|
- TextShadowVertPosSlider:=TDemoSlider.Create(Self);
|
|
|
+ TextShadowVertPosSlider:=AddSlider('TextShadowVertPosSlider','Vertical Position:');
|
|
|
with TextShadowVertPosSlider do begin
|
|
|
- Name:='TextShadowVertPosSlider';
|
|
|
- Caption:='Vertical Position:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=-30;
|
|
|
MaxPosition:=30;
|
|
|
Position:=1;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// slider for text-shadow horizontal position
|
|
|
- TextShadowHorzPosSlider:=TDemoSlider.Create(Self);
|
|
|
+ TextShadowHorzPosSlider:=AddSlider('TextShadowHorzPosSlider','Horizontal Position:');
|
|
|
with TextShadowHorzPosSlider do begin
|
|
|
- Name:='TextShadowHorzPosSlider';
|
|
|
- Caption:='Horizontal Position:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
MinPosition:=-30;
|
|
|
MaxPosition:=30;
|
|
|
Position:=1;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// slider for text-shadow horizontal position
|
|
|
- TextShadowBlurRadiusSlider:=TDemoSlider.Create(Self);
|
|
|
+ TextShadowBlurRadiusSlider:=AddSlider('TextShadowBlurRadiusSlider','Blur Radius:');
|
|
|
with TextShadowBlurRadiusSlider do begin
|
|
|
- Name:='TextShadowBlurRadiusSlider';
|
|
|
- Caption:='Blur Radius:';
|
|
|
- Style:='width: 150px';
|
|
|
- ValueFormat:='%.0fpx';
|
|
|
+ ValueFormat:='%.1fpx';
|
|
|
MinPosition:=0;
|
|
|
- MaxPosition:=30;
|
|
|
+ MaxPosition:=5;
|
|
|
Position:=0;
|
|
|
- Parent:=Self;
|
|
|
- OnChange:=@OnPropChange;
|
|
|
end;
|
|
|
|
|
|
// the Button
|