mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-05 08:56:18 +02:00
SynEdit: Change size of fold gutter
git-svn-id: trunk@18048 -
This commit is contained in:
parent
0cc812fc62
commit
8928a1a17b
@ -48,7 +48,7 @@ begin
|
|||||||
FMarkupInfoCodeFoldingTree.FrameColor := clNone;
|
FMarkupInfoCodeFoldingTree.FrameColor := clNone;
|
||||||
FMarkupInfoCodeFoldingTree.OnChange := @DoChange;
|
FMarkupInfoCodeFoldingTree.OnChange := @DoChange;
|
||||||
|
|
||||||
Width := 14;
|
Width := 10;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TSynGutterCodeFolding.Destroy;
|
destructor TSynGutterCodeFolding.Destroy;
|
||||||
@ -75,39 +75,35 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSynGutterCodeFolding.Paint(Canvas : TCanvas; AClip : TRect; FirstLine, LastLine : integer);
|
procedure TSynGutterCodeFolding.Paint(Canvas : TCanvas; AClip : TRect; FirstLine, LastLine : integer);
|
||||||
|
const cNodeOffset = 2;
|
||||||
var
|
var
|
||||||
iLine: integer;
|
iLine: integer;
|
||||||
rcLine: TRect;
|
rcLine: TRect;
|
||||||
rcCodeFold: TRect;
|
rcCodeFold: TRect;
|
||||||
tmp: TSynEditCodeFoldType;
|
tmp: TSynEditCodeFoldType;
|
||||||
LineHeight, LineOffset: Integer;
|
LineHeight, LineOffset, BoxSize: Integer;
|
||||||
|
|
||||||
procedure DrawNodeBox(rcCodeFold: TRect; Collapsed: boolean);
|
procedure DrawNodeBox(rcCodeFold: TRect; Collapsed: boolean);
|
||||||
const cNodeOffset = 3;
|
|
||||||
var
|
var
|
||||||
rcNode: TRect;
|
rcNode: TRect;
|
||||||
ptCenter : TPoint;
|
ptCenter : TPoint;
|
||||||
iSquare: integer;
|
|
||||||
begin
|
begin
|
||||||
//center of the draw area
|
//center of the draw area
|
||||||
ptCenter.X := (rcCodeFold.Left + rcCodeFold.Right) div 2;
|
ptCenter.X := (rcCodeFold.Left + rcCodeFold.Right) div 2;
|
||||||
ptCenter.Y := (rcCodeFold.Top + rcCodeFold.Bottom) div 2;
|
ptCenter.Y := (rcCodeFold.Top + rcCodeFold.Bottom) div 2;
|
||||||
|
|
||||||
//make node rect square
|
|
||||||
iSquare := Max(0, rcCodeFold.Bottom - rcCodeFold.Top - 14) div 2;
|
|
||||||
|
|
||||||
//area of drawbox
|
//area of drawbox
|
||||||
rcNode.Right := rcCodeFold.Right - cNodeOffset + 1;
|
rcNode.Left := ptCenter.X - (BoxSize div 2) + 1;
|
||||||
rcNode.Left := rcCodeFold.Left + cNodeOffset;
|
rcNode.Right := ptCenter.X + (BoxSize div 2);
|
||||||
rcNode.Top := rcCodeFold.Top + cNodeOffset + iSquare;
|
rcNode.Top := ptCenter.Y - (BoxSize div 2) + 1;
|
||||||
rcNode.Bottom := rcCodeFold.Bottom - cNodeOffset - iSquare + 1;
|
rcNode.Bottom := ptCenter.Y + (BoxSize div 2);
|
||||||
|
|
||||||
Canvas.Brush.Color:=clWhite;
|
Canvas.Brush.Color:=clWhite;
|
||||||
Canvas.Rectangle(rcNode);
|
Canvas.Rectangle(rcNode);
|
||||||
|
|
||||||
//draw bottom handle to paragraph line
|
//draw bottom handle to paragraph line
|
||||||
Canvas.MoveTo((rcNode.Left + rcNode.Right) div 2, rcNode.Bottom);
|
Canvas.MoveTo(ptCenter.X, rcNode.Bottom);
|
||||||
Canvas.LineTo((rcNode.Left + rcNode.Right) div 2, rcCodeFold.Bottom);
|
Canvas.LineTo(ptCenter.X, rcCodeFold.Bottom);
|
||||||
|
|
||||||
//draw unfolded sign in node box
|
//draw unfolded sign in node box
|
||||||
Canvas.MoveTo(ptCenter.X - 2, ptCenter.Y);
|
Canvas.MoveTo(ptCenter.X - 2, ptCenter.Y);
|
||||||
@ -151,13 +147,14 @@ begin
|
|||||||
if not Visible then exit;
|
if not Visible then exit;
|
||||||
LineHeight := TSynEdit(FEdit).LineHeight;
|
LineHeight := TSynEdit(FEdit).LineHeight;
|
||||||
LineOffset := 0;
|
LineOffset := 0;
|
||||||
|
BoxSize := Min(Width, LineHeight - cNodeOffset*2);
|
||||||
|
|
||||||
if MarkupInfoCodeFoldingTree.Background <> clNone then
|
if MarkupInfoCodeFoldingTree.Background <> clNone then
|
||||||
begin
|
begin
|
||||||
Canvas.Brush.Color := MarkupInfoCodeFoldingTree.Background;
|
Canvas.Brush.Color := MarkupInfoCodeFoldingTree.Background;
|
||||||
{$IFDEF SYN_LAZARUS}
|
{$IFDEF SYN_LAZARUS}
|
||||||
LCLIntf.SetBkColor(Canvas.Handle, Canvas.Brush.Color);
|
LCLIntf.SetBkColor(Canvas.Handle, Canvas.Brush.Color);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
Canvas.FillRect(AClip);
|
Canvas.FillRect(AClip);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user