Mozilla2:GraphicsPlan
Jump to navigation
Jump to search
Graphics Plan
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 so that we can make sure we're all on the same page.
People
- Stuart Parmenter (author)
- Vladimir Vukicevic
Schedule
We missed our end-of-January landing due to VC8 migration, build machine problems, talkback issues, etc.
We plan to flip the switch on Windows as soon as we have talkback working. I'm hoping to have this done before Feb 25, 2006.
Linux will follow within a week or two and Mac a bit further out.
The Plan(tm)
- Things to do first
Move to cairo 1.111- Expose thebes
Update thebes to use new cairoDocument thebes
Convert gfx/src/cairo to gfx/src/thebes
- Next
Put simple thebes accessor on nsIRenderingContext for doing native drawing with thebes- Fix fonts
- New font APIs
Create new thebes font apisadd textrun api
- Windows
Rewrite to use Uniscribe- Fix bugs (font selection, etc).
- Linux
Use Pango code and drop XFT in favor of cairo
- Mac
Rewrite to use ATSUI
- New font APIs
- Work out remaining problems with thebes gfx backend
incorrect renderingaliasing problemscolor problemsdouble buffering
- Reorg
- Move useful old GFX APIs and implementations to Widget
nsIScreen* bug 322942parts of nsIPrint*, nsIDeviceContextSpec
- Move useful old GFX APIs and implementations to Widget
- 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
- Now for the hard part...
- Printing
Windows GDI printing bug 323927Images scaling too large
Linux PDF/PS cairo printing bug 323928Need to hook up CUPS output
Mac????
- Printing
- Landing
Windows bug 323923Enable talkbackMake default nightly builds
Linux bug 323925Mac bug 323934- Break the world bug 322938
- Cleanup
- Fix fallout
- Conversion - Part 1
Convert canvas from cairo to thebes(done, not checked in..)- Convert SVG from cairo to thebes
- Conversion -- Part 2
- 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
Additional Stuff
- Downloadable fonts
- Glitz
- Windows
- Get working
- Linux
Get working- Fix plugins
- Mac
- Get working
- Windows
Future Stuff
- 3D and beyond