Closed Bug 396972 Opened 17 years ago Closed 17 years ago

clean up canvas API to avoid using internal APIs in contexts

Categories

(Core :: Graphics: Canvas2D, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: vlad, Assigned: vlad)

Details

Attachments

(1 file)

it's impossible to implement a canvas context without using internal APIs currently, as the contexts do their own frame invalidation.  This moves that stuff into a private method on the canvas element interface, so that there are no issues.  The gfxASurface un-inlining needs to happen because of different method signatures due to the usage of gfx*String; these need to be fudged in any context implementations that are outside of internal string API usage, but that's an easy hack.
Attachment #281725 - Flags: review?(benjamin)
The new API looks great to me.  My canvas backend is here: http://pyrodesktop.org/svn/trunk/pyrodesktop/compzilla/compzilla/src/compzillaRenderingContext.cpp

Is the rect passed to InvalidateFrameSubrect in pixels or twips?
Attachment #281725 - Flags: review?(benjamin) → review+
Attachment #281725 - Flags: approval1.9+
checked in.  The rect is passed in screen pixels; I'll add a comment to that effect.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: