Mozilla2:GraphicsPlan: Difference between revisions
Jump to navigation
Jump to search
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 | |||
* | |||
* | |||
Revision as of 21:16, 31 October 2005
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
Move to cairo 1.111- Expose thebes
Update thebes to use new cairoDocument thebes- Put simple thebes accessor on nsIRenderingContext for doing native drawing with thebes
- Next
- Convert canvas from cairo to thebes
Convert gfx/src/cairo to gfx/src/thebes- Fix fonts
- Windows - Rewrite to use Uniscribe
Linux - Use Pango code and drop XFT in favor of cairo- Mac - Rewrite to use ATSUI
- Work out remaining problems with thebes gfx backend
- incorrect rendering
- aliasing problems
color problemsdouble buffering
- Zoom zoom
- Make cairo fast enough to use
- Optimize all cairo native backends
- Windows
- Linux
- Mac
- Optimize core cairo code paths
- Optimize all cairo native backends
- Make cairo fast enough to use
- Reorg
- Move useful old GFX APIs and implementations to Widget
nsIScreen*- parts of nsIDeviceContext
- parts of nsIPrint*
- Move useful old GFX APIs and implementations to Widget
- Now for the hard part...
- Printing
- ugh.
- Printing
- 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
- Windows
- Get working
- Linux
Get working- Fix plugins
- Mac
- Get working
- Windows
- 3D
- downloadable fonts