From 8e3bac19a35d45b11a4d0ed950e1557aafbfa040 Mon Sep 17 00:00:00 2001 From: dmitry Date: Wed, 24 Apr 2019 06:47:50 +0000 Subject: [PATCH] cocoa: using colors with hatch style brushes. Patch by David Jenkins. #32825, #34414 git-svn-id: trunk@61047 - --- lcl/interfaces/cocoa/cocoagdiobjects.pas | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lcl/interfaces/cocoa/cocoagdiobjects.pas b/lcl/interfaces/cocoa/cocoagdiobjects.pas index c7b5fe8309..7abc74648e 100644 --- a/lcl/interfaces/cocoa/cocoagdiobjects.pas +++ b/lcl/interfaces/cocoa/cocoagdiobjects.pas @@ -2936,6 +2936,7 @@ const ); var ACallBacks: CGPatternCallbacks; + CGDataProvider: CGDataProviderRef; begin if AHatch in [HS_HORIZONTAL..HS_DIAGCROSS] then begin @@ -2944,7 +2945,9 @@ begin if (FBitmap <> nil) then FBitmap.Release; FBitmap := TCocoaBitmap.Create(8, 8, 1, 1, cbaByte, cbtMask, @HATCH_DATA[AHatch]); if FImage <> nil then CGImageRelease(FImage); - FImage := CGImageCreateCopy(MacOSAll.CGImageRef( FBitmap.ImageRep.CGImageForProposedRect_context_hints(nil, nil, nil))); + CGDataProvider := CGDataProviderCreateWithData(nil, @HATCH_DATA[AHatch], 8, nil); + FImage := CGImageMaskCreate(8, 8, 1, 1, 1, CGDataProvider, nil, 0); + CGDataProviderRelease(CGDataProvider); FColored := False; if FCGPattern <> nil then CGPatternRelease(FCGPattern); FCGPattern := CGPatternCreate(Self, GetCGRect(0, 0, 8, 8),