mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-10-26 00:01:33 +02:00
TurboPower_ipro: Fix line spacings when <br> tag is used.
git-svn-id: trunk@58905 -
This commit is contained in:
parent
a37df13898
commit
64b5cbf0b6
@ -341,6 +341,7 @@ type
|
|||||||
procedure HideUnmarkedControl; virtual;
|
procedure HideUnmarkedControl; virtual;
|
||||||
procedure EnumChildren(EnumProc: TIpHtmlNodeEnumProc; UserData: Pointer); virtual;
|
procedure EnumChildren(EnumProc: TIpHtmlNodeEnumProc; UserData: Pointer); virtual;
|
||||||
procedure AppendSelection(var S : string; var Completed: Boolean); virtual;
|
procedure AppendSelection(var S : string; var Completed: Boolean); virtual;
|
||||||
|
function GetMargin(AMargin: TIpHtmlElemMargin; ADefault: Integer): Integer; virtual;
|
||||||
public
|
public
|
||||||
constructor Create(ParentNode : TIpHtmlNode);
|
constructor Create(ParentNode : TIpHtmlNode);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -378,6 +379,7 @@ type
|
|||||||
procedure ReportMapRects(M : TRectMethod); override;
|
procedure ReportMapRects(M : TRectMethod); override;
|
||||||
procedure AppendSelection(var S : string; var Completed: Boolean); override;
|
procedure AppendSelection(var S : string; var Completed: Boolean); override;
|
||||||
procedure EnumChildren(EnumProc: TIpHtmlNodeEnumProc; UserData: Pointer); override;
|
procedure EnumChildren(EnumProc: TIpHtmlNodeEnumProc; UserData: Pointer); override;
|
||||||
|
function GetMargin(AMargin: TIpHtmlElemMargin; ADefault: Integer): Integer; override;
|
||||||
public
|
public
|
||||||
constructor Create(ParentNode : TIpHtmlNode);
|
constructor Create(ParentNode : TIpHtmlNode);
|
||||||
destructor Destroy; override;
|
destructor Destroy; override;
|
||||||
@ -1121,6 +1123,7 @@ type
|
|||||||
FId: string;
|
FId: string;
|
||||||
protected
|
protected
|
||||||
procedure SetClear(const Value: TIpHtmlBreakClear);
|
procedure SetClear(const Value: TIpHtmlBreakClear);
|
||||||
|
function GetMargin(AMargin: TIpHtmlElemMargin; ADefault:Integer): Integer; override;
|
||||||
public
|
public
|
||||||
constructor Create(ParentNode: TIpHtmlNode);
|
constructor Create(ParentNode: TIpHtmlNode);
|
||||||
procedure Enqueue; override;
|
procedure Enqueue; override;
|
||||||
@ -3986,13 +3989,19 @@ begin
|
|||||||
prevelem := PIpHtmlElement(FElementQueue[i-1]);
|
prevelem := PIpHtmlElement(FElementQueue[i-1]);
|
||||||
case PIpHtmlElement(FElementQueue[i])^.ElementType of
|
case PIpHtmlElement(FElementQueue[i])^.ElementType of
|
||||||
etSoftLF:
|
etSoftLF:
|
||||||
if (prevelem.ElementType in [etSoftLF, etHardLF]) then begin
|
if (prevelem.ElementType in [etHardLF, etSoftLF]) then begin
|
||||||
prevelem.LFHeight := MaxI2(prevelem.LFHeight, elem.LFHeight);
|
prevelem.LFHeight := MaxI2(prevelem.LFHeight, elem.LFHeight);
|
||||||
FElementQueue.Delete(i);
|
FElementQueue.Delete(i);
|
||||||
end;
|
end;
|
||||||
etHardLF:
|
etHardLF:
|
||||||
if (prevelem.ElementType in [etSoftLF, etHardLF]) then
|
if (prevelem.ElementType = etSoftLF) then begin
|
||||||
prevelem.LFHeight := MaxI2(prevelem.LFHeight, elem.LFHeight);
|
prevelem.LFHeight := MaxI2(prevelem.LFHeight, elem.LFHeight);
|
||||||
|
FElementQueue.Delete(i-1);
|
||||||
|
end else
|
||||||
|
if (prevelem.ElementType = etHardLF) then begin
|
||||||
|
prevelem.LFHeight := prevelem.LFHeight + elem.LFHeight;
|
||||||
|
FElementQueue.Delete(i);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
dec(i);
|
dec(i);
|
||||||
end;
|
end;
|
||||||
@ -4245,17 +4254,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIpHtmlNode.MakeVisible;
|
procedure TIpHtmlNode.MakeVisible;
|
||||||
var
|
|
||||||
elem: PIpHtmlElement;
|
|
||||||
R: TRect;
|
|
||||||
begin
|
begin
|
||||||
(*
|
|
||||||
elem := FOwner.FindFirstElementOfNode(self);
|
|
||||||
if elem <> nil then begin
|
|
||||||
R := elem.WordRect2;
|
|
||||||
FOwner.MakeVisible(R{$IFDEF IP_LAZARUS}, true {$ENDIF});
|
|
||||||
end;
|
|
||||||
*)
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TIpHtmlNode.SetProps(const RenderProps: TIpHtmlProps);
|
procedure TIpHtmlNode.SetProps(const RenderProps: TIpHtmlProps);
|
||||||
@ -4266,6 +4265,12 @@ procedure TIpHtmlNode.UnmarkControl;
|
|||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIpHtmlNode.GetMargin(AMargin: TIpHtmlElemMargin; ADefault: Integer): Integer;
|
||||||
|
begin
|
||||||
|
Result := ADefault;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{Attribute support code}
|
{Attribute support code}
|
||||||
|
|
||||||
function GetPropertyValue(PI: PPropInfo; const AObject: TObject): string;
|
function GetPropertyValue(PI: PPropInfo; const AObject: TObject): string;
|
||||||
@ -4680,6 +4685,16 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIpHtmlNodeMulti.GetMargin(AMargin: TIpHtmlElemMargin;
|
||||||
|
ADefault: Integer): Integer;
|
||||||
|
begin
|
||||||
|
if AMargin.Style = hemsPx then
|
||||||
|
Result := round(AMargin.Size)
|
||||||
|
else
|
||||||
|
Result := ADefault;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
{ TIpHtmlNodeBODY }
|
{ TIpHtmlNodeBODY }
|
||||||
|
|
||||||
constructor TIpHtmlNodeBODY.Create(ParentNode : TIpHtmlNode);
|
constructor TIpHtmlNodeBODY.Create(ParentNode : TIpHtmlNode);
|
||||||
@ -9724,14 +9739,6 @@ begin
|
|||||||
inherited SetProps(Props);
|
inherited SetProps(Props);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function GetMargin(AMargin: TIpHtmlElemMargin; ADefault: Integer): Integer;
|
|
||||||
begin
|
|
||||||
if AMargin.Style = hemsPx then
|
|
||||||
Result := round(AMargin.Size)
|
|
||||||
else
|
|
||||||
Result := ADefault;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TIpHtmlNodeP.Enqueue;
|
procedure TIpHtmlNodeP.Enqueue;
|
||||||
var
|
var
|
||||||
elem: PIpHtmlElement;
|
elem: PIpHtmlElement;
|
||||||
@ -10074,19 +10081,45 @@ end;
|
|||||||
{ TIpHtmlNodeBR }
|
{ TIpHtmlNodeBR }
|
||||||
|
|
||||||
procedure TIpHtmlNodeBR.Enqueue;
|
procedure TIpHtmlNodeBR.Enqueue;
|
||||||
|
var
|
||||||
|
h: Integer;
|
||||||
|
elem: PIpHtmlElement;
|
||||||
begin
|
begin
|
||||||
|
if (ParentNode is TIpHtmlNodeP) or
|
||||||
|
(ParentNode is TIpHtmlNodeLI) or
|
||||||
|
(ParentNode is TIpHtmlNodePRE) or
|
||||||
|
(ParentNode is TIpHtmlNodeDIV)
|
||||||
|
then
|
||||||
|
h := 0
|
||||||
|
else
|
||||||
|
h := Props.FontSize;
|
||||||
|
|
||||||
case Clear of
|
case Clear of
|
||||||
hbcNone :
|
hbcNone :
|
||||||
EnqueueElement(Owner.HardLF);
|
begin
|
||||||
hbcLeft :
|
elem := Owner.BuildLinefeedEntry(etHardLF, h);
|
||||||
EnqueueElement(Owner.HardLFClearLeft);
|
EnqueueElement(elem);
|
||||||
hbcRight :
|
end;
|
||||||
EnqueueElement(Owner.HardLFClearRight);
|
hbcLeft :
|
||||||
hbcAll :
|
EnqueueElement(Owner.HardLFClearLeft);
|
||||||
EnqueueElement(Owner.HardLFClearBoth);
|
hbcRight :
|
||||||
|
EnqueueElement(Owner.HardLFClearRight);
|
||||||
|
hbcAll :
|
||||||
|
EnqueueElement(Owner.HardLFClearBoth);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TIpHtmlNodeBR.GetMargin(AMargin: TIpHtmlElemMargin; ADefault: Integer): Integer;
|
||||||
|
var
|
||||||
|
default: Integer;
|
||||||
|
begin
|
||||||
|
if (ParentNode is TIpHtmlNodeP) then
|
||||||
|
default := 0
|
||||||
|
else
|
||||||
|
default := ADefault;
|
||||||
|
Result := inherited GetMargin(AMargin, default);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TIpHtmlNodeBR.SetClear(const Value: TIpHtmlBreakClear);
|
procedure TIpHtmlNodeBR.SetClear(const Value: TIpHtmlBreakClear);
|
||||||
begin
|
begin
|
||||||
FClear := Value;
|
FClear := Value;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user