wxWidgets - wxMac - CoreGraphics development
Subproject Kiosk
Draft 0.2
David Surovell
Chandler GUI Frameworks Engineer, OSA Foundation
13 December 2005
Overview
In wxMac, there are two rendering engine implementations: QuickDraw (QD) and CoreGraphics (CG). There is a build setting to select the desired engine, wxUSE_CORE_GRAPHICS, which currently defaults to the QD variant. The CG variant is new and feature-incomplete, but will ultimately be the preferred rendering engine, as QD rendering is been declared deprecated by Apple.
The Apps Team has undertaken coding effort to implement the missing features that impact Chandler. The presumption is that this list is small and approaching zero in the near future. This presumption shall be reviewed from time to time.
Collaborators
Stefan Csomor, David Surovell; Arel Cordero (ex-intern, interested party)
Status
- (13-Dec-05) all known issues have been resolved
- issue is essentially closed, assuming no new issues are found by QA
- (30-Aug-05) OSAF work has been integrated into wx with conditional compilation control
- CG build flag is off in Chandler
- wxPen and wxBrush instances with a stipple style partially supported
- wxPen and wxBrush instances with a dash style != wxSOLID style aren't supported
- implementation is being debugged
- open issue: can stipple and non-wxSOLID style be combined?
- open issue: should dash, hatch, dot, and user-dash style texturing be path-oriented or raster-oriented?
- CGContextSetLineDash is path-oriented; other wxWidgets implementations are raster-oriented.
Coding notes
- the code is entirely contained in the ".cpp" file for convenience of diff insertion and reduction of compile time.
- the argument lists for the new helper routines could be simplified if a CGPatternRef could be queried for "colored" attribute.
- the code injected into the wx version returns untyped negative error values. These values should be mapped into some generic wx error constants.
Related bugs
Bug 3048
Bug 3795
Open issues (in priority order)
- see above
Fixed issues
- see above