mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-09 15:28:14 +02:00
carbon: focus rect must be drawn inside passed rect
git-svn-id: trunk@16675 -
This commit is contained in:
parent
44ff9fc859
commit
724d7b8199
@ -109,7 +109,7 @@ type
|
||||
procedure SetAntialiasing(AValue: Boolean);
|
||||
function DrawCGImage(X, Y, Width, Height: Integer; CGImage: CGImageRef): Boolean;
|
||||
public
|
||||
procedure DrawFocusRect(const ARect: TRect);
|
||||
procedure DrawFocusRect(ARect: TRect);
|
||||
procedure DrawGrid(const ARect: TRect; DX, DY: Integer);
|
||||
|
||||
procedure Ellipse(X1, Y1, X2, Y2: Integer);
|
||||
@ -694,8 +694,15 @@ end;
|
||||
|
||||
Draws a focus rectangle
|
||||
------------------------------------------------------------------------------}
|
||||
procedure TCarbonDeviceContext.DrawFocusRect(const ARect: TRect);
|
||||
procedure TCarbonDeviceContext.DrawFocusRect(ARect: TRect);
|
||||
var
|
||||
AOutSet: SInt32;
|
||||
begin
|
||||
// LCL thinks that focus cannot be drawn outside focus rects, but carbon do that
|
||||
// => correct rect
|
||||
OSError(GetThemeMetric(kThemeMetricFocusRectOutset, AOutSet),
|
||||
Self, 'DrawFocusRect', 'GetThemeMetric');
|
||||
InflateRect(ARect, -AOutSet, -AOutSet);
|
||||
OSError(
|
||||
HIThemeDrawFocusRect(RectToCGRect(ARect), True, CGContext, kHIThemeOrientationNormal),
|
||||
Self, 'DrawFocusRect', 'HIThemeDrawFocusRect');
|
||||
|
Loading…
Reference in New Issue
Block a user