mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-08 19:58:18 +02:00
cocoa: lcl: adding a new capability lcCanDrawHidden for widgetsets with optimized drawing that can draw hidden on offscreen controls (macOS). bug #35678
git-svn-id: trunk@61341 -
This commit is contained in:
parent
15cde7a988
commit
1acc007cbc
@ -4924,8 +4924,9 @@ begin
|
||||
if not (TempControl is TWinControl) then begin
|
||||
//DebugLn('TWinControl.PaintControls B Self=',Self.Name,':',Self.ClassName,' Control=',TempControl.Name,':',TempControl.ClassName,' ',TempControl.Left,',',TempControl.Top,',',TempControl.Width,',',TempControl.Height);
|
||||
with TempControl do
|
||||
if IsVisible
|
||||
and RectVisible(DC, TempControl.BoundsRect) then
|
||||
if ((WidgetSet.GetLCLCapability(lcCanDrawHidden) = LCL_CAPABILITY_YES) and isControlVisible)
|
||||
or (IsVisible and RectVisible(DC, TempControl.BoundsRect))
|
||||
then
|
||||
begin
|
||||
if csPaintCopy in Self.ControlState then
|
||||
Include(FControlState, csPaintCopy);
|
||||
|
@ -71,7 +71,8 @@ type
|
||||
lcRadialGradientBrush, // Indicates that the function CreateBrushWithRadialGradient is supported, i.e. we can create a brush with a radial gradient pattern
|
||||
lcTransparentWindow, // ability to pass mouse messages through a window (on win32 LM_NCHITTEST with HTTRANSPARENT result)
|
||||
lcTextHint, // native TextHint support
|
||||
lcNativeTaskDialog // task dialog under mswindows for widgetsets different than win32/wince. Used in LCLTaskDialog. eg Qt/Qt5 must set this option to false otherwise taskdialog segfaults.
|
||||
lcNativeTaskDialog, // task dialog under mswindows for widgetsets different than win32/wince. Used in LCLTaskDialog. eg Qt/Qt5 must set this option to false otherwise taskdialog segfaults.
|
||||
lcCanDrawHidden // the system rendering engine might request a hidden control to be drawn (macOS 10.9 and later)
|
||||
);
|
||||
|
||||
{ TDialogButton }
|
||||
|
@ -280,9 +280,10 @@ begin
|
||||
{$ifdef COCOA_USE_NATIVE_MODAL}
|
||||
lcModalWindow,
|
||||
{$endif}
|
||||
lcAntialiasingEnabledByDefault:
|
||||
lcAntialiasingEnabledByDefault,
|
||||
lcTransparentWindow,
|
||||
lcCanDrawHidden:
|
||||
Result := LCL_CAPABILITY_YES;
|
||||
lcTransparentWindow: Result := LCL_CAPABILITY_YES;
|
||||
else
|
||||
Result := inherited;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user