mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 16:40:32 +02:00
SynEdit: Fix height of screen caret
git-svn-id: trunk@34667 -
This commit is contained in:
parent
7daa4be95a
commit
dfd850c0b7
@ -48,6 +48,7 @@ type
|
||||
procedure SetLeftChar(AValue: Integer);
|
||||
procedure SetPadding(Side: TLazSynBorderSide; AValue: integer);
|
||||
procedure SetTopLine(AValue: TLinePos);
|
||||
procedure DoDrawerFontChanged(Sender: TObject);
|
||||
protected
|
||||
procedure PaintTextLines(AClip: TRect; FirstLine, LastLine,
|
||||
FirstCol, LastCol: integer); virtual;
|
||||
@ -158,6 +159,11 @@ begin
|
||||
FTopLine := AValue;
|
||||
end;
|
||||
|
||||
procedure TLazSynTextArea.DoDrawerFontChanged(Sender: TObject);
|
||||
begin
|
||||
FontChanged;
|
||||
end;
|
||||
|
||||
function TLazSynTextArea.ScreenColumnToXValue(Col: integer): integer;
|
||||
begin
|
||||
Result := FTextBounds.Left + (Col - LeftChar) * fCharWidth;
|
||||
@ -194,6 +200,7 @@ var
|
||||
i: TLazSynBorderSide;
|
||||
begin
|
||||
FTextDrawer := ATextDrawer;
|
||||
FTextDrawer.RegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
||||
FPaintLineColor := TSynSelectedColor.Create;
|
||||
FPaintLineColor2 := TSynSelectedColor.Create;
|
||||
for i := low(TLazSynBorderSide) to high(TLazSynBorderSide) do
|
||||
@ -205,6 +212,7 @@ end;
|
||||
|
||||
destructor TLazSynTextArea.Destroy;
|
||||
begin
|
||||
FTextDrawer.UnRegisterOnFontChangeHandler(@DoDrawerFontChanged);
|
||||
FreeAndNil(FPaintLineColor);
|
||||
FreeAndNil(FPaintLineColor2);
|
||||
inherited Destroy;
|
||||
|
@ -2223,7 +2223,7 @@ begin
|
||||
end;
|
||||
|
||||
procedure TCustomSynEdit.FontChanged(Sender: TObject);
|
||||
begin
|
||||
begin // TODO: inherited ?
|
||||
FLastSetFontSize := Font.Height;
|
||||
RecalcCharExtent;
|
||||
end;
|
||||
@ -7200,7 +7200,7 @@ begin
|
||||
FScreenCaret.Lock;
|
||||
try
|
||||
FScreenCaret.CharWidth := CharWidth;
|
||||
FScreenCaret.CharHeight := LineHeight;
|
||||
FScreenCaret.CharHeight := LineHeight - Max(0, ExtraLineSpacing);
|
||||
SizeOrFontChanged(TRUE);
|
||||
finally
|
||||
FScreenCaret.UnLock;
|
||||
|
Loading…
Reference in New Issue
Block a user