TurboPower_ipro: Add new TIpHtmlPanel property FontQuality (https://forum.lazarus.freepascal.org/index.php/topic,47229.msg337729.html#msg337729). Publish property BorderSpacing.

git-svn-id: trunk@62146 -
This commit is contained in:
wp 2019-10-29 17:52:15 +00:00
parent 5800bed098
commit 9cbac76ac1
2 changed files with 29 additions and 1 deletions

View File

@ -2007,6 +2007,7 @@ type
FALinkColor: TColor;
FTextColor: TColor;
FBgColor: TColor;
FFontQuality: TFontQuality;
FFactBAParag: Real;
FHasFrames : Boolean;
FLinksUnderlined: Boolean;
@ -2332,6 +2333,7 @@ type
property FixedTypeface: string read FFixedTypeface write FFixedTypeface;
property DefaultTypeFace: string read FDefaultTypeFace write FDefaultTypeFace;
property DefaultFontSize: integer read FDefaultFontSize write FDefaultFontSize;
property FontQuality: TFontQuality read FFontQuality write FFontQuality;
property HtmlNode : TIpHtmlNodeHtml read FHtml;
property CurUrl: string read FCurUrl;
{$IFDEF IP_LAZARUS}
@ -2721,6 +2723,7 @@ type
FCurElement : PIpHtmlElement;
FPrintSettings: TIpHtmlPrintSettings;
FFactBAParag: Real;
FFontQuality: TFontQuality;
FWantTabs: Boolean;
FScrollDist: Integer;
procedure SetDataProvider(const AValue: TIpAbstractHtmlDataProvider);
@ -2728,6 +2731,7 @@ type
function FactBAParagNotIs1: Boolean;
function GetVScrollPos: Integer;
procedure SetVScrollPos(const Value: Integer);
procedure SetFontQuality(const AValue: TFontQuality);
protected
FFlagErrors: Boolean;
FFixedTypeface: string;
@ -2834,6 +2838,7 @@ type
property FixedTypeface: string read FFixedTypeface write FFixedTypeface;
property DefaultTypeFace: string read FDefaultTypeFace write SetDefaultTypeFace;
property DefaultFontSize: integer read FDefaultFontSize write SetDefaultFontSize;
property FontQuality: TFontQuality read FFontQuality write SetFontQuality default fqDefault;
property HotURL: string read FHotURL;
property LinkColor: TColor read FLinkColor write FLinkColor default clBlue;
property LinksUnderlined: Boolean read FLinksUnderlined write FLinksUnderlined default DEFAULT_LINKS_UNDERLINED;
@ -2871,6 +2876,7 @@ type
property Anchors;
{$ENDIF}
property BgColor;
property BorderSpacing;
property BorderWidth;
property BorderStyle;
{$IFDEF VERSION4}
@ -2879,6 +2885,7 @@ type
property DataProvider;
property Enabled;
property FixedTypeface;
property FontQuality;
property DefaultTypeFace;
property DefaultFontSize;
property FactBAParag;
@ -6983,7 +6990,7 @@ var
CurBasefont : TIpHtmlNodeBASEFONT;
begin
CurBasefont := TIpHtmlNodeBASEFONT.Create(Parent);
if CurBasefont=nil then ;
if CurBasefont=nil then ; // ???? What's this?????
CurBasefont.Size := ParseInteger(htmlAttrSIZE, 3);
NextToken;
end;
@ -15756,6 +15763,7 @@ begin
{$ENDIF}
DefaultTypeFace := Graphics.DefFontData.Name;
DefaultFontSize := 12;
FFontQuality := fqDefault;
FPrintSettings := TIpHtmlPrintSettings.Create;
FFactBAParag := 1;
FWantTabs := True;
@ -16254,6 +16262,18 @@ begin
end;
end;
procedure TIpHtmlCustomPanel.SetFontQuality(const AValue: TFontQuality);
begin
if FFontQuality <> AValue then begin
FFontQuality := AValue;
if (FMasterFrame <> nil) and (FMasterFrame.FHtml <> nil) then
begin
FMasterFrame.FHtml.FontQuality := FFontQuality;
Invalidate;
end;
end;
end;
procedure TIpHtmlCustomPanel.CalculatePreferredSize(var PreferredWidth,
PreferredHeight: integer; WithThemeSpace: Boolean);
var

View File

@ -149,6 +149,7 @@ begin
FCanvas.Font.Name := aProps.FontName;
FCanvas.Font.Size := aProps.FontSize;
FCanvas.Font.Style := aProps.FontStyle;
FCanvas.Font.Quality := FOwner.Owner.FontQuality;
FSizeOfSpace := FCanvas.TextExtent(' ');
{$IFDEF IP_LAZARUS_DBG}
if FSizeOfSpace.CX=0 then
@ -570,6 +571,7 @@ begin
FCanvas.Font.Name := FCurProps.FontName;
FCanvas.Font.Size := FCurProps.FontSize;
FCanvas.Font.Style := FCurProps.FontStyle;
FCanvas.Font.Quality := FOwner.Owner.FontQuality;
aCurElem.Size := FCanvas.TextExtent(NoBreakToSpace(aCurElem.AnsiWord));
FxySize := aCurElem.Size;
aCurElem.SizeProp := FCurProps.PropA;
@ -1123,6 +1125,7 @@ begin
CurFontSize := 0;
CurFontStyle := [];
FCanvas.Font.Style := CurFontStyle;
FCanvas.Font.Quality := FOwner.Owner.FontQuality;
FSizeOfSpace := FCanvas.TextExtent(' ');
FSizeOfHyphen := FCanvas.TextExtent('-');
i := 0;
@ -1251,6 +1254,7 @@ begin
else
if (FCurProps = nil) or not FCurProps.BIsEqualTo(aCurWord.Props) then
FCanvas.Font.Color := aCurWord.Props.FontColor;
FIpHtml.Target.Font.Quality := FIpHtml.FontQuality;
{$IFDEF IP_LAZARUS}
FIpHtml.Target.Font.EndUpdate;
{$ENDIF}
@ -1267,6 +1271,7 @@ var
OldFontColor: TColor;
OldFontStyle: TFontStyles;
OldBrushStyle: TBrushStyle;
OldFontQuality: TFontQuality;
procedure saveCanvasProperties;
begin
@ -1274,6 +1279,7 @@ var
OldBrushStyle := FCanvas.Brush.Style;
OldFontColor := FCanvas.Font.Color;
OldFontStyle := FCanvas.Font.Style;
OldFontQuality := FCanvas.Font.Quality;
end;
procedure restoreCanvasProperties;
@ -1282,6 +1288,7 @@ var
FCanvas.Brush.Color := OldBrushColor;
FCanvas.Brush.Style := OldBrushStyle;
FCanvas.Font.Style := OldFontStyle;
FCanvas.Font.Quality := OldFontQuality;
end;
{$ENDIF}
@ -1321,6 +1328,7 @@ begin
FCanvas.DrawFocusRect(R);
if FCanvas.Font.color = -1 then
FCanvas.Font.color := clBlack;
FCanvas.Font.Quality := FOwner.Owner.FontQuality;
{$ENDIF}
if aCurWord.AnsiWord <> NAnchorChar then
FCanvas.TextRect(R, P.x, P.y, NoBreakToSpace(aCurWord.AnsiWord));