Cocoa: reduce unnecessary calls to updateLayout in TCocoaManualScrollView.setHasVerticalScroller()

in TCocoaManualScrollView.setHasHorizontalScroller() and TCocoaManualScrollView.setHasVerticalScroller
This commit is contained in:
rich2014 2024-06-29 22:33:26 +08:00
parent a31d972306
commit daf3b79a08

View File

@ -702,19 +702,27 @@ begin
end;
procedure TCocoaManualScrollView.setHasVerticalScroller(doshow: Boolean);
var
available: Boolean;
begin
available:= _manager.isAvailableScrollBar(fvscroll);
if NOT Assigned(fvscroll) and doshow then
fvscroll:= self.allocVerticalScroller( True );
_manager.availScrollBar( fvscroll, doshow );
_manager.updateLayout;
if available <> _manager.isAvailableScrollBar(fvscroll) then
_manager.updateLayout;
end;
procedure TCocoaManualScrollView.setHasHorizontalScroller(doshow: Boolean);
var
available: Boolean;
begin
available:= _manager.isAvailableScrollBar(fhscroll);
if NOT Assigned(fhscroll) and doshow then
fhscroll:= self.allocHorizontalScroller( True );
_manager.availScrollBar( fhscroll, doshow );
_manager.updateLayout;
if available <> _manager.isAvailableScrollBar(fhscroll) then
_manager.updateLayout;
end;
function TCocoaManualScrollView.hasVerticalScroller: Boolean;