Open Bug 651016 Opened 9 years ago Updated 4 years ago

Eliminate nsIDeviceContext

Categories

(Core :: Graphics, enhancement)

enhancement
Not set

Tracking

()

People

(Reporter: zwol, Unassigned)

References

(Depends on 5 open bugs)

Details

At this point ns(I)DeviceContext is a dumping ground for random methods that mediate between gfx and layout.  Just about all of them would make more sense somewhere else:

* font metrics creation: make nsFontMetrics a stack class, eliminate the per-devctx metrics cache (bug 91956)
* rendering context creation: make nsRenderingContext a stack class
* screen size and depth: nsIDOMScreen and any other users should call nsIScreen methods directly
* "system font" lookup: belongs on nsILookAndFeel (bug 96971)
* printing: push down to nsIDeviceContextSpec (which should get renamed nsPrintContext or nsPrintBackend).
* scale conversions: convert to free functions (appunits/CSSpx) or move to the prescontext(?)(appunits/devpx)

This is a tracking bug; I'll be filing separate bugs for all of the above, when they don't already have 'em.
Severity: normal → enhancement
OS: Mac OS X → All
Hardware: x86 → All
Assignee: nobody → zackw
Status: NEW → ASSIGNED
Depends on: 651017
Depends on: 651018
Depends on: 651020
Depends on: 651021
Depends on: 651022
Depends on: 651019
Resetting owner to default per Zack's request.
Assignee: zackw → nobody
Status: ASSIGNED → NEW
You need to log in before you can comment on or make changes to this bug.