I build wxWidgets and/or my application using:
wxWidgets uses some constants that are not available before 10.12. I get the following error when building on 10.11 and 10.11:
../src/osx/carbon/utilscocoa.mm:295:39: error: use of undeclared identifier 'NSCompositingOperationSourceOver'
NSCompositingOperation mode = NSCompositingOperationSourceOver;
^
../src/osx/carbon/utilscocoa.mm:299:24: error: use of undeclared identifier 'NSCompositingOperationClear'
mode = NSCompositingOperationClear;
^
../src/osx/carbon/utilscocoa.mm:302:24: error: use of undeclared identifier 'NSCompositingOperationCopy'
mode = NSCompositingOperationCopy;
^
../src/osx/carbon/utilscocoa.mm:305:24: error: use of undeclared identifier 'NSCompositingOperationSourceOver'
mode = NSCompositingOperationSourceOver;
^
../src/osx/carbon/utilscocoa.mm:308:24: error: use of undeclared identifier 'NSCompositingOperationSourceIn'
mode = NSCompositingOperationSourceIn;
^
../src/osx/carbon/utilscocoa.mm:311:24: error: use of undeclared identifier 'NSCompositingOperationSourceOut'
mode = NSCompositingOperationSourceOut;
^
../src/osx/carbon/utilscocoa.mm:314:24: error: use of undeclared identifier 'NSCompositingOperationSourceAtop'
mode = NSCompositingOperationSourceAtop;
^
../src/osx/carbon/utilscocoa.mm:317:24: error: use of undeclared identifier 'NSCompositingOperationDestinationOver'; did you mean 'NSCompositeDestinationOver'?
mode = NSCompositingOperationDestinationOver;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSCompositeDestinationOver
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:27:5: note: 'NSCompositeDestinationOver' declared here
NSCompositeDestinationOver,
^
../src/osx/carbon/utilscocoa.mm:320:24: error: use of undeclared identifier 'NSCompositingOperationDestinationIn'; did you mean 'NSCompositeDestinationIn'?
mode = NSCompositingOperationDestinationIn;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSCompositeDestinationIn
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:28:5: note: 'NSCompositeDestinationIn' declared here
NSCompositeDestinationIn,
^
../src/osx/carbon/utilscocoa.mm:323:24: error: use of undeclared identifier 'NSCompositingOperationDestinationOut'; did you mean 'NSCompositeDestinationOut'?
mode = NSCompositingOperationDestinationOut;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSCompositeDestinationOut
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:29:5: note: 'NSCompositeDestinationOut' declared here
NSCompositeDestinationOut,
^
../src/osx/carbon/utilscocoa.mm:326:24: error: use of undeclared identifier 'NSCompositingOperationDestinationAtop'; did you mean 'NSCompositeDestinationAtop'?
mode = NSCompositingOperationDestinationAtop;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSCompositeDestinationAtop
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:30:5: note: 'NSCompositeDestinationAtop' declared here
NSCompositeDestinationAtop,
^
../src/osx/carbon/utilscocoa.mm:329:24: error: use of undeclared identifier 'NSCompositingOperationExclusion'
mode = NSCompositingOperationExclusion; // Not NSCompositingOperationXOR!
^
../src/osx/carbon/utilscocoa.mm:332:24: error: use of undeclared identifier 'NSCompositingOperationPlusLighter'; did you mean 'NSCompositePlusLighter'?
mode = NSCompositingOperationPlusLighter ;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NSCompositePlusLighter
/System/Library/Frameworks/AppKit.framework/Headers/NSGraphics.h:34:5: note: 'NSCompositePlusLighter' declared here
NSCompositePlusLighter,
^
../src/osx/carbon/utilscocoa.mm:335:24: error: use of undeclared identifier 'NSCompositingOperationDifference'
mode = NSCompositingOperationDifference ;
^
../src/osx/carbon/utilscocoa.mm:338:24: error: use of undeclared identifier 'NSCompositingOperationSourceOver'
mode = NSCompositingOperationSourceOver;
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
These constants were added by 393b575 (Respect composition mode in wxOSX wxGraphicsContext::DrawBitmap(), 2023-02-09), i.e. back in 3.2.3. Not sure if we can provide a reasonable workaround for older SDKs or just officially declare 10.11 and lower unsupported.
@csomor Any thoughts?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@vadz they have a different name < 10.12 ie NSCompositePlusLighter is new NSCompositingOperationPlusLighter, I didn't check this, I'll prepare a patch
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@mohd-akram could you please test with the change of the PR, they are for master but it's simple, just copy them to the same place in your working directory. Thanks
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@csomor The patch worked and the build progressed further. But I got another error later on, it seems there's one more place that needs a patch:
./src/osx/cocoa/taskbar.mm:398:67: error: use of undeclared identifier 'NSCompositingOperationSourceOver'
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()
@mohd-akram thanks, ok, I have moved them to the private header now, that way they can be used from all macOS implementation files
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.![]()