|
@@ -436,7 +436,7 @@ const
|
|
end;
|
|
end;
|
|
|
|
|
|
var
|
|
var
|
|
- HasBorder, HasRadius: Boolean;
|
|
|
|
|
|
+ HasBorder, HasRadius, SameBorderWidth: Boolean;
|
|
r: TRectF;
|
|
r: TRectF;
|
|
Corner: TFresnelCSSCorner;
|
|
Corner: TFresnelCSSCorner;
|
|
Radii: TSkRoundRectRadii;
|
|
Radii: TSkRoundRectRadii;
|
|
@@ -454,8 +454,13 @@ begin
|
|
exit;
|
|
exit;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+ SameBorderWidth:=true;
|
|
for Side in TFresnelCSSSide do
|
|
for Side in TFresnelCSSSide do
|
|
|
|
+ begin
|
|
NormStroke(Params.Width[Side],true);
|
|
NormStroke(Params.Width[Side],true);
|
|
|
|
+ if (Side>Low(Side)) and (not SameValue(Params.Width[Side],Params.Width[Low(Side)])) then
|
|
|
|
+ SameBorderWidth:=false;
|
|
|
|
+ end;
|
|
|
|
|
|
HasBorder:=(Params.Width[ffsLeft]>0)
|
|
HasBorder:=(Params.Width[ffsLeft]>0)
|
|
or (Params.Width[ffsRight]>0)
|
|
or (Params.Width[ffsRight]>0)
|
|
@@ -491,7 +496,7 @@ begin
|
|
r.Offset(Params.Box.Left+Origin.X,Params.Box.Top+Origin.Y);
|
|
r.Offset(Params.Box.Left+Origin.X,Params.Box.Top+Origin.Y);
|
|
//writeln('TFresnelSkiaRenderer.DrawElBorder ',El.GetPath,' Box=',Params.Box.ToString,' Origin=',Origin.ToString,' r=',r.Left,',',r.Top,',',r.Right,',',r.Bottom);
|
|
//writeln('TFresnelSkiaRenderer.DrawElBorder ',El.GetPath,' Box=',Params.Box.ToString,' Origin=',Origin.ToString,' r=',r.Left,',',r.Top,',',r.Right,',',r.Bottom);
|
|
|
|
|
|
- // draw background
|
|
|
|
|
|
+ // draw background color
|
|
if Params.BackgroundColorFP.Alpha>alphaTransparent then
|
|
if Params.BackgroundColorFP.Alpha>alphaTransparent then
|
|
begin
|
|
begin
|
|
SkPaint:=TSkPaint.Create(TSkPaintStyle.Fill);
|
|
SkPaint:=TSkPaint.Create(TSkPaintStyle.Fill);
|
|
@@ -513,7 +518,7 @@ begin
|
|
// todo border-right
|
|
// todo border-right
|
|
SkPaint:=TSkPaint.Create(TSkPaintStyle.Stroke);
|
|
SkPaint:=TSkPaint.Create(TSkPaintStyle.Stroke);
|
|
SkPaint.setColor(FPColorToSkia(Params.Color[ffsLeft]));
|
|
SkPaint.setColor(FPColorToSkia(Params.Color[ffsLeft]));
|
|
- SkPaint.SetStrokeWidth(1);
|
|
|
|
|
|
+ SkPaint.SetStrokeWidth(Params.Width[ffsLeft]);
|
|
SkPaint.SetAntiAlias(true);
|
|
SkPaint.SetAntiAlias(true);
|
|
if HasRadius then
|
|
if HasRadius then
|
|
begin
|
|
begin
|