You've already forked lazarus-ccr
* Fix scrolling horizontally on gtk2 (gtk intf ScrollWindow implementation is broken)
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1100 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -19190,9 +19190,14 @@ begin
|
|||||||
Inc(R.Top,FHeader.Height);
|
Inc(R.Top,FHeader.Height);
|
||||||
Inc(R.Bottom,FHeader.Height);
|
Inc(R.Bottom,FHeader.Height);
|
||||||
end;
|
end;
|
||||||
|
//scrollwindow implementation under gtk is broken
|
||||||
|
{$ifdef Gtk}
|
||||||
|
InvalidateRect(Handle, nil, True);
|
||||||
|
{$else}
|
||||||
DelphiCompat.ScrollWindow(Handle, DeltaX, 0, @R, @R);
|
DelphiCompat.ScrollWindow(Handle, DeltaX, 0, @R, @R);
|
||||||
if DeltaY <> 0 then
|
if DeltaY <> 0 then
|
||||||
DelphiCompat.ScrollWindow(Handle, 0, DeltaY, @R, @R);
|
DelphiCompat.ScrollWindow(Handle, 0, DeltaY, @R, @R);
|
||||||
|
{$endif}
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
@ -19215,10 +19220,11 @@ begin
|
|||||||
{$ifdef LCLQt}
|
{$ifdef LCLQt}
|
||||||
DelphiCompat.ScrollWindow(Handle, DeltaX, DeltaY, @R, @R);
|
DelphiCompat.ScrollWindow(Handle, DeltaX, DeltaY, @R, @R);
|
||||||
{$else}
|
{$else}
|
||||||
ScrollWindowEx(Handle, DeltaX, DeltaY, @R, @R,0, nil, SW_INVALIDATE or SW_SCROLLCHILDREN);
|
|
||||||
{$endif}
|
|
||||||
{$ifdef Gtk}
|
{$ifdef Gtk}
|
||||||
InvalidateRect(Handle, nil, True);
|
InvalidateRect(Handle, nil, True);
|
||||||
|
{$else}
|
||||||
|
ScrollWindowEx(Handle, DeltaX, DeltaY, @R, @R,0, nil, SW_INVALIDATE or SW_SCROLLCHILDREN);
|
||||||
|
{$endif}
|
||||||
{$endif}
|
{$endif}
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -22208,7 +22214,7 @@ begin
|
|||||||
//lclheader
|
//lclheader
|
||||||
if hoVisible in FHeader.FOptions then
|
if hoVisible in FHeader.FOptions then
|
||||||
Inc(Target.Y, FHeader.Height);
|
Inc(Target.Y, FHeader.Height);
|
||||||
|
Logger.Send([lcDrag],'FEffectiveOffsetX: %d, RTLOffset: %d, OffsetY: %d',[FEffectiveOffsetX,RTLOffset,FOffsetY]);
|
||||||
OffsetRect(Window, FEffectiveOffsetX - RTLOffset, -FOffsetY);
|
OffsetRect(Window, FEffectiveOffsetX - RTLOffset, -FOffsetY);
|
||||||
PaintTree(Canvas, Window, Target, Options);
|
PaintTree(Canvas, Window, Target, Options);
|
||||||
end;
|
end;
|
||||||
|
Reference in New Issue
Block a user