Closed Bug 267195 Opened 20 years ago Closed 20 years ago

implement svg opacity property

Categories

(Core :: SVG, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: tor, Assigned: tor)

References

()

Details

Attachments

(1 file, 4 obsolete files)

 
Attached patch opacity snapshot (cairo only) (obsolete) — Splinter Review
Attached patch tweak for <svg:image> usage (obsolete) — Splinter Review
Attachment #164210 - Attachment is obsolete: true
Blocks: 216568
Attachment #165090 - Attachment is obsolete: true
Attached patch cleanup and stub libart (obsolete) — Splinter Review
Attachment #166149 - Attachment is obsolete: true
Attachment #166281 - Flags: review?(scootermorris)
Attachment #166281 - Flags: review?(scootermorris)
Attached patch small tweakSplinter Review
Attachment #166281 - Attachment is obsolete: true
Attachment #166283 - Flags: review?(scootermorris)
Comment on attachment 166283 [details] [diff] [review]
small tweak


>Index: layout/svg/renderer/public/nsISVGRendererCanvas.idl
>===================================================================

Fix indentation...

>+  void compositeSurfaceMatrix(in nsISVGRendererSurface surface,
>+                        in nsIDOMSVGMatrix canvasTM,
>+                        in float opacity);

>Index: layout/svg/renderer/src/cairo/nsSVGCairoCanvas.cpp
>===================================================================

Fix indentation...

>+NS_IMETHODIMP
>+nsSVGCairoCanvas::CompositeSurfaceMatrix(nsISVGRendererSurface *aSurface,
>+                                   nsIDOMSVGMatrix *aCTM, float aOpacity)
>+{

>Index: layout/svg/renderer/src/cairo/nsSVGCairoSurface.cpp
>===================================================================

Indentation....

>+
>+nsresult
>+NS_NewSVGCairoSurface(nsISVGRendererSurface **result,
>+                     PRUint32 width, PRUint32 height)
>+{

Don't we usually indent MAP_ENTRYs?

>+
>+NS_INTERFACE_MAP_BEGIN(nsSVGCairoSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISVGRendererSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISVGCairoSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISupports)
>+NS_INTERFACE_MAP_END
>+

>Index: layout/svg/renderer/src/cairo/nsSVGCairoSurface.h
>===================================================================

Indentation...

>+
>+nsresult
>+NS_NewSVGCairoSurface(nsISVGRendererSurface **result,
>+		      PRUint32 width, PRUint32 height);

>Index: layout/svg/renderer/src/gdiplus/nsSVGGDIPlusSurface.cpp
>===================================================================

Again, shouldn't the MAP_ENTRY's be indented?

>+
>+NS_INTERFACE_MAP_BEGIN(nsSVGGDIPlusSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISVGRendererSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISVGGDIPlusSurface)
>+NS_INTERFACE_MAP_ENTRY(nsISupports)
>+NS_INTERFACE_MAP_END
>+

>Index: layout/svg/renderer/src/libart/nsSVGLibartCanvas.cpp
>===================================================================

Indentation....

> NS_IMETHODIMP
> nsSVGLibartCanvas::SetClipRect(nsIDOMSVGMatrix *aCTM, float aX, float aY,
>                               float aWidth, float aHeight)
> {
Attachment #166283 - Flags: review?(scootermorris) → review+
Checked in.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Why were GetStrokeOpacity and GetFillOpacity changed to multiply by the
mOpacity?  They're separate concepts -- isn't opacity implemented (using a
push/pop API) in such a way that you don't need to do this?
Because you can specify opacity on a leaf geometry element and it's much
cheaper to draw with the combined opacity rather than do the surface
push/pop, and it gives the same result.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: