569
edits
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
'''Author: Stuart Parmenter (Pavlov)''' | |||
The following is the rough plan that we're trying to follow for building out the new graphics platform. Please run changes/additions/etc by me before making them. | |||
''' The Plan(tm): ''' | |||
# '''Things to do first''' | |||
#* <s>Move to cairo 1.111</s> | |||
#* Expose thebes | |||
#** <s>Update thebes to use new cairo</s> | |||
#** <s>Document thebes</s> | |||
#** Put simple thebes accessor on nsIRenderingContext for doing native drawing with thebes | |||
# '''Next''' | |||
#* Convert canvas from cairo to thebes | |||
#* <s>Convert gfx/src/cairo to gfx/src/thebes</s> | |||
#* Fix fonts | |||
#** Windows - Rewrite to use Uniscribe | |||
#** <s>Linux - Use Pango code and drop XFT in favor of cairo</s> | |||
#** Mac - Rewrite to use ATSUI | |||
#* Work out remaining problems with thebes gfx backend | |||
#** incorrect rendering | |||
#** aliasing problems | |||
#** <s>color problems</s> | |||
#** <s>double buffering</s> | |||
# '''Zoom zoom''' | |||
#* Make cairo fast enough to use | |||
#** Optimize all cairo native backends | |||
#*** Windows | |||
#*** Linux | |||
#*** Mac | |||
#** Optimize core cairo code paths | |||
# '''Reorg''' | |||
#* Move useful old GFX APIs and implementations to Widget | |||
#** <s>nsIScreen*</s> | |||
#** parts of nsIDeviceContext | |||
#** parts of nsIPrint* | |||
# '''Now for the hard part...''' | |||
#* Printing | |||
#** ugh. | |||
# '''Landing''' | |||
#* Break the world | |||
# '''Cleanup''' | |||
#* Fix fallout | |||
# '''Update the world''' | |||
#* Convert layout and other places from the old gfx apis (nsIRenderingContext and friends) to the new Thebes APIs. | |||
# '''Roll credits''' | |||
#* Remove old graphics code! | |||
#* Have party | |||
'''Future stuff/Things we'd like''' | |||
* Glitz | * Glitz | ||
** Windows | ** Windows | ||
| Line 37: | Line 57: | ||
** Mac | ** Mac | ||
*** Get working | *** Get working | ||
* 3D | |||
* downloadable fonts | |||
* | |||
* | |||
edits