CGContextSetBaseCTM() and CGContextGetBaseCTM() should be public API

Number:rdar://37565438 Date Originated:15-Feb-2018 01:01 PM
Status:Open Resolved:
Product:macOS + SDK Product Version:10.13.3
Classification:Enhancement Reproducible:Always
When porting iOS code to Mac OS X, it often becomes necessary to create a bitmap CGContextRef with a flipped y coordinate.  While CGContextConcatCTM() and CGContextScaleCTM() allow drawing operations to be flipped, all shadows will draw unflipped.    This is correct, as the headers state that shadows use the base-space.

However, there isn't a public way to transform the base space, as the CGContextSetBaseCTM() and CGContextGetBaseCTM() functions are private.   Even though these are used externally by open source projects such as WebKit, they can still result in App Store rejection.

Please consider making an exception to these API calls - allowing them to be officially used in Mac App Store applications in 10.6 and 10.7.  In addition, please consider moving them to a public header in the future.


Steps to Reproduce:

Expected Results:

Actual Results:


This is a duplicate from a radar in 2011 and it is still a problem for us. Please look into making this public.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!