Commit Graph

84 Commits

Author SHA1 Message Date
Jonathan Watt
b532b4c22e Bug 1136486 - Simplify the SVG text rendering callbacks by getting rid of NotifyBeforeSVGGlyphPainted and NotifyAfterSVGGlyphPainted. r=heycam 2015-02-17 22:01:54 +00:00
Jonathan Watt
77e18f01bd Bug 1135913, part 4 - Unify SVGTextFrame's NotifyBeforeSelectionDecorationLine and NotifySelectionDecorationLinePathEmitted callbacks. r=heycam 2015-02-04 13:51:22 +00:00
Jonathan Watt
39a2f4feb2 Bug 1135913, part 3 - Unify SVGTextFrame's NotifyBeforeDecorationLine and NotifyDecorationLinePathEmitted callbacks. r=heycam 2015-02-03 20:00:18 +00:00
Robert Longson
0e75f37f69 Bug 1130888 - SVG text on path fill color does not render properly when preceded by RTL text. r=heycam 2015-02-13 20:15:27 +00:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Seth Fowler
72fb0505de Bug 1128356 - Add template functions for common frame property destructors. r=dbaron 2015-02-04 15:22:27 -08:00
Jonathan Watt
0d0ce5c404 Bug 1127114, part 2 - Unify SVGTextFrame's NotifyBeforeSelectionBackground and NotifySelectionBackgroundPathEmitted callbacks. r=heycam 2015-01-27 16:32:24 +00:00
Jonathan Watt
d63b2b5b7d Bug 1123946 - Convert SVGTextDrawPathCallbacks filling to Moz2D. r=Bas 2015-01-21 16:23:30 +00:00
Robert Longson
8fcba7202d Bug 1123194 - make textPath work with a path that is display:none r=heycam 2015-01-20 14:07:26 +00:00
Robert O'Callahan
60ef9c392a Bug 1099977. Part 2: Make gfxFont::Measure return an empty bounding-box when all glyphs are invisible. r=jfkthame 2014-11-18 23:23:45 +13:00
Robert Longson
ca4ae009ea Bug 1109860 - getBBox incorrect with bidirectional text character. r=heycam 2015-01-02 16:47:47 +00:00
Robert Longson
2ee31095f7 Bug 1111222 - Use HasNonScalingStroke() more. r=dholbert 2014-12-17 13:58:31 +00:00
Jonathan Watt
da86fe12cc Bug 1107414 - Get rid of gfxContext::FillWithOpacity. r=mattwoodrow 2014-12-02 14:29:44 -08:00
Robert Longson
a9586a0bab Bug 1090936 - Make invalidation of rendering observers asynchronous. r=jwatt 2014-11-06 09:30:11 +00:00
Jonathan Watt
5d65b7ab3a Bug 1093066 - Get rid of gfxContext's Stroke() methods. r=mattwoodrow 2014-11-05 09:16:37 +00:00
Jonathan Watt
fd90b8fa16 Bug 1091321, part 5 - Convert nsSVGMarkerFrame::PaintMark and related code from nsRenderingContext to gfxContext. r=longsonr 2014-10-31 20:08:54 +00:00
Jonathan Watt
d9921394d7 Bug 1091321, part 4 - Convert nsISVGChildFrame::PaintSVG and related code from nsRenderingContext to gfxContext. r=longsonr 2014-10-31 20:08:54 +00:00
Jonathan Watt
b431664247 Bug 651021 - Make nsRenderingContext a stack class. r=jrmuizel 2014-10-31 20:08:49 +00:00
Jonathan Watt
474e2fff50 Bug 1090611 - Make nsCaret::PaintCaret take a Moz2D DrawTarget instead of nsRenderingContext. r=Bas 2014-10-29 17:07:11 +00:00
Jonathan Watt
012086d51e Bug 1084093, part 3 - Use the new ToDeviceColor() function to undo the breakage to gfx.color_management.mode=1 (eCMSMode_All) caused by the Moz2D porting work. r=Bas 2014-10-17 12:53:16 +01:00
Robert Longson
06b2d8c986 Bug 1078031 - get rid of renderMode. r=jwatt 2014-10-11 09:24:44 +01:00
Jonathan Watt
d0384c7376 Bug 932762, part 2 - Make SVG elements cache their Moz2D path data to speed up rendering, hit-testing, clipPath clipping, bbox calculations and animation/text along a path. r=longsonr 2014-10-04 12:13:30 +01:00
Jonathan Watt
90505fa583 Bug 1074294, part 1 - Convert SVGAutoRenderState to act on a Moz2D DrawTarget. r=longsonr 2014-09-30 18:08:13 +01:00
Jonathan Watt
3170c76d6b Bug 1074012, part 3 - Make nsSVGUtils::MakeFillPatternFor/MakeStrokePatternFor return using a Moz2D GeneralPattern out-param rather than a Thebes gfxPattern. r=Bas 2014-09-29 14:26:15 +01:00
Jonathan Watt
919804b8fd Bug 1073974, part 1 - Make simple SVG clipPath clipping use a Moz2D Path object directly. r=longsonr 2014-09-29 14:15:19 +01:00
Jonathan Watt
6c0ad19795 Bug 1073972 - Get rid of gfxContext's FillRule enum in favor of Moz2D's. r=Bas 2014-09-29 14:15:19 +01:00
Jonathan Watt
fd864b4fa5 Bug 1073964 - Pass a const DrawTarget* through to nsSVGPaintServerFrame::GetPaintServerPattern so that it can create a pattern of the appropriate type. r=Bas 2014-09-29 14:15:19 +01:00
Jonathan Watt
9cc4d5beef Bug 1073854, part 2 - Get rid of nsSVGUtils::SetupCairoStroke. r=longsonr 2014-09-29 14:12:07 +01:00
Jonathan Watt
e4fa74c86f Bug 1073012 , part 1 - Replace nsSVGUtils::SetupCairoFillPaint with a helper that returns a gfxPattern. r=longsonr 2014-09-29 14:12:06 +01:00
Jonathan Watt
1f2e38033c Bug 1073888 - Stop setting state on the gfxContext under SVGTextFrame::SetupCairoState, and restructure the code to make it easier to understand. r=heycam 2014-09-28 10:06:22 +01:00
Jonathan Watt
4e11b5293f Bug 1067093 - Get rid of gfxContext::AntialiasMode in favor of Moz2D AntialiasMode. r=Bas 2014-09-15 12:10:30 +01:00
Jonathan Watt
b4f1c21e73 Bug 1064082 - Get rid of nsRenderingContext's PushState and PopState methods. r=Bas 2014-09-11 07:48:10 +01:00
Jonathan Watt
4ede9ea3e8 Bug 1062249 - Vastly simplify the various GetCanvasTM methods. r=longsonr 2014-09-08 12:28:50 +01:00
Cameron McCormack
0c4e0c6970 Bug 1042860 - Handle animated attribute changes on descendants of SVG <text> elements. r=dholbert 2014-09-08 12:34:20 +10:00
Jonathan Watt
c8920e34bd Bug 1063853, part 2 - Move all nsRenderingContext user data to the wrapped Moz2D DrawTarget. r=Bas 2014-09-05 18:11:35 +01:00
Jonathan Watt
eabbbf9d8d Bug 932771, part 3 - Make PaintSVG painting work by passing transforms down, rather than walking up the tree using GetCanvasTM. r=longsonr 2014-08-29 20:42:07 +01:00
Ehsan Akhgari
8bb87f8a27 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
David Zbarsky
a219682afb Bug 952977: Switch some uses of gfx3DMatrix in nsLayoutUtils to Matrix4x4 r=nical 2014-08-22 09:40:02 -04:00
Robert O'Callahan
2632a625e0 Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn
This is the start of the changes to caret-drawing proper.

The idea is to combine GetCaretFrame and GetCaretRect into a method
GetPaintGeometry which looks like GetGeometry but returns values
needed for painting (i.e. including bidi decorations, and returning
a null frame if we're not supposed to paint due to specific caret
state, e.g. in the "off" phase of the blink cycle).

Mostly a straightforward refactoring but there are a few interesting changes:
-- nsDisplayCaret stores its bounds instead of getting them from nsCaret on
demand. Eventually those bounds will not be stored in nsCaret at all.
-- nsDisplayCaret::GetBounds returns true for aSnap. nsCaret draws snapped
rects, so why not.
-- I removed "if (caretRect.Intersects(aDirtyRect))" in EnterPresShell.
As far as I can tell, this check is incorrect because it doesn't take
transforms into account. Since there's at most one drawn caret per window,
hence we do this at most once per paint, I don't think there's any real
performance advantage to having this check.
2014-08-06 17:19:28 +12:00
Robert O'Callahan
bed9de9439 Bug 1048752. Part 17: Rename Get/SetCaretDOMSelection to Get/SetSelection. r=tn
The forward declaration of Selection in nsCaret.h will be used in later patches.
2014-08-06 17:19:27 +12:00
Robert O'Callahan
6fb18233c7 Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn
This patch started an attempt to remove nsFrameSelection.h from nsCaret.h
and metastasized into a rather large refactoring patch that removed it
from some other header files as well, and changed nsFrameSelection::HINT
into a global-scope enum with better names. I also converted bools
into CaretAssociationHint in a few places where that was appropriate,
but there are still some more places (GetChildFrameContainingOffset)
where bools need to be converted. I figured this patch was big enough already.
2014-08-06 17:19:27 +12:00
Jonathan Watt
f6095ddf73 Bug 1049256, part 2 - Get rid of nsISVGChildFrame::FOR_HIT_TESTING. r=longsonr 2014-08-07 08:09:34 +01:00
Jonathan Watt
edca66335f Bug 1049256, part 1 - Convert SVG hit-testing to act on an SVG user space point instead of calling nsSVGUtils::GetCanvasTM(). r=longsonr 2014-08-07 08:09:31 +01:00
Jonathan Watt
be1fde1249 Bug 1049242 - Avoid hit-testing against the same clip-path for every SVG text frame that hits. r=heycam 2014-08-07 06:24:54 +01:00
Jonathan Kew
fe8090d7de bug 1031241 pt 3 - Also rename Intrinsic{Width,Height} to Intrinsic{I,B}Size. r=smontagu 2014-07-24 18:03:26 +01:00
Jonathan Kew
c7e5b8d9dc bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
Simon Montagu
659c93475e Bug 789096 patch 10: make Reflow set nsHTMLReflowMetrics.ISize and BSize instead of Width and Height. r=jfkthame 2014-07-24 01:30:07 -07:00
Simon Montagu
0132cc9646 Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame 2014-07-24 01:28:46 -07:00