Commit Graph

57 Commits

Author SHA1 Message Date
Jonathan Watt
03036022ec Bug 1277862, part 2 - Rename Moz2D's Filter to SamplingFilter in the rest of gfx/. r=Bas 2016-05-25 17:01:18 +01:00
Nicholas Nethercote
0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote
4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Nicholas Nethercote
b4181c38e0 Bug 1208365 (part 3) - Change gfxPattern::mExtend from a GraphicsExtend to a gfx::ExtendMode. r=bas.
At this point, the relationship between GraphicsExtend and gfx::ExtendMode is
as follows.

- EXTEND_REPEAT matches up with REPEAT.
- EXTEND_REFLECT matches up with REFLECT.
- EXTEND_PAD matches up with CLAMP.
- EXTEND_NONE has no matching value in gfx::ExtendMode.

The only use of EXTEND_NONE is with nsSVGGradientFrame::mExtend. That field
gets assigned EXTEND_NONE in the various constructors, and other values via
SetExtend(). And all uses of that field go immediately into ToExtend() calls,
which convert EXTEND_NONE to CLAMP. So it's safe to change this field to
gfx::ExtendMode and initialize it to CLAMP.

--HG--
extra : rebase_source : 8873174223e77b341e046093d25b320a33f0582b
2015-09-25 00:58:23 -07:00
Nicholas Nethercote
5fbb397d4c Bug 1208365 (part 2) - Remove gfxPattern::Extend(). r=bas.
It's unused.

--HG--
extra : rebase_source : a6dcbcea47f8093ec18e4e9f50ae2165e00e11b9
2015-09-25 00:55:31 -07:00
Nicholas Nethercote
5930cc971e Bug 1208937 - Remove gfxPattern::GraphicsPatternType. r=jwatt.
This is easy because the only remaining uses occur in uncalled functions, which
can be removed.

--HG--
extra : rebase_source : 7c1ec2c175a8a73f1ce2375c3231891ecc6bfb22
2015-09-27 20:38:20 -07:00
Nicholas Nethercote
25d52ffe9f Bug 1208283 (part 1) - Change gfxPattern's single-arg constructor to take a gfx::Color& instead of a gfxRGBA&. r=jwatt.
--HG--
extra : rebase_source : 09fece3af01326be1ea7a5c29d52266323f09ade
2015-09-24 17:50:46 -07:00
Nicholas Nethercote
8fa390b8ea Bug 1207944 (part 2) - Pass a gfx::Color& instead of a gfxRGBA& to GetDeviceColor(). r=jwatt.
This requires doing likewise for GetSolidColor(), PushSolidColor()
HasNonOpaqueColor().

This removes a ThebesRGBA() call in GetDeviceColor() and a ThebesColor() call in
GetSolidColor().

--HG--
extra : rebase_source : 3b66f378443f1ca05b49bc763b2adf42ac3ef845
2015-09-23 23:36:15 -07:00
Jonathan Watt
c27c6452d8 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
Jonathan Watt
03e708cc58 Bug 1084093, part 2 - Convert gfxPlatform::TransformPixel to Moz2D, and move gfxPlatform::MaybeTransformColor to ToDeviceColor in gfxUtils.h. r=Bas 2014-10-17 12:53:15 +01:00
Jonathan Watt
b1c32c7a2b Bug 1074012, part 2 - Mark gfxPattern::GetPattern's DrawTarget parameter as const. r=Bas 2014-09-29 14:26:15 +01:00
Jonathan Watt
a6a8b844ba 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
4d2d3b0296 Bug 1073363, part 3 - Convert some Mozilla code to use Moz2D's new GeneralPattern class. r=Bas 2014-09-29 14:12:06 +01:00
Jonathan Watt
c6416e4f55 Bug 1067222 - Make the gfxPattern code much easier to understand (by giving variables meaningful names, adding comments, and integrating the mysterious AdjustTransformForPattern into gfxPattern::GetPattern). r=Bas 2014-09-15 16:24:03 +01:00
Matt Woodrow
80a01d06fa Bug 1054838, part 3 - Convert gfxPattern to Moz2D. r=Bas 2014-09-14 10:58:56 +01:00
Matt Woodrow
810fbe5243 Bug 1054838, part 1 - Remove dead code supporting cairo_surface_t wrapping gfxPattern. r=Bas 2014-09-14 10:58:55 +01:00
Jonathan Watt
423fda249a Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Matt Woodrow
498db5bab8 Bug 1053159 - fully qualify filter name to fix bustage. CLOSED TREE
--HG--
extra : rebase_source : d819fe43ccceb6b70e036df9fab1d15cfcbd21ae
2014-08-15 14:56:44 +12:00
Matt Woodrow
5d00daf774 Bug 1053159 - Initialize gfxPattern::mFilter. r=Bas
--HG--
extra : rebase_source : 8b381ebeda17be5931f38ababb19fe6eead09c52
2014-08-15 14:24:11 +12:00
Jonathan Watt
3d9e321469 Bug 1022821, part 2 - In gfx code, stop returning RefPtr and, where not an out-param, stop using RefPtr arguments. r=Cwiiis 2014-06-12 20:24:05 +01:00
Robert Longson
7b180f0d39 Bug 989230 - SVG gradient spreadMethod="reflect" doesn't work. r=gal 2014-06-11 10:38:43 +01:00
Benoit Jacob
f447d87c57 Bug 958375 - 8/9 - Make remaining Moz2D enums typed - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:17 -05:00
Benoit Jacob
a1e7c32630 Bug 958375 - 4/9 - Make SurfaceFormat a typed enum - r=Bas
Specifically:
  r=Bas for manual changes
  f=Bas for automatic changes
See attachments on the bug for the specific breakdown.
2014-01-10 14:06:16 -05:00
Ali Akhtarzada
ec4c441fec Bug 958086 - Adjust matrix in gfxPattern::GetPattern for Moz2D. r=bas
The pattern transform was not taking in to account the transform
that was set on the draw target.
2014-01-10 08:48:56 -05:00
Matt Woodrow
15fdc45ed3 Bug 948221 - Part 3: Fix a bug where a SurfacePattern created by gfxPattern didn't respect the requested filter mode. r=Bas 2013-12-12 10:05:26 +13:00
Andreas Gal
7cc27ca23c Bug 930451 - Part 3: Use the gradient cache for SVG gradients as well. r=roc 2013-11-08 17:50:39 +13:00
Jonathan Watt
40fef5b4a9 Bug 931769, part 1 - Make gfxPattern::GetPattern use its mExtend member. r=Bas 2013-10-29 08:14:39 +00:00
Ehsan Akhgari
eff9a278ad Bug 924221 - Minimize the #includes in gfx/thebes; r=bjacob
--HG--
extra : rebase_source : af198eb9b9739ce718ba0d16c385624a722cde51
2013-10-07 19:15:59 -04:00
Ehsan Akhgari
b155782d0a Bug 921753 - Part 2: Move GraphicsFilters outside of gfxPattern.h so that we won't need to #include that header everywhere GraphicsFilter is needed; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1582 to 1362.
2013-10-01 17:01:19 -04:00
Ryan VanderMeulen
66808396a3 Backed out changeset 35575118c650 (bug 912794) for asserts. 2013-09-06 23:08:36 -04:00
Milan Sreckovic
5413b28258 Bug 912794 - Separate out the CMS globals and prefs into a singleton gfxColorManagement. r=ncameron
Preferences are now initialized at startup, then updated with callbacks. The methods that access the cached values are not checking the preferences. This lets us better control which thread reads the prefs.

--HG--
rename : gfx/thebes/gfxPlatform.cpp => gfx/thebes/gfxColorManagement.cpp
rename : gfx/thebes/gfxPlatform.h => gfx/thebes/gfxColorManagement.h
2013-09-06 12:48:17 -07:00
Birunthan Mohanathas
c742394e75 Bug 784739 - Switch from NULL to nullptr in gfx/thebes/; r=ehsan 2013-07-31 11:44:31 -04:00
Jeff Muizelaar
6f60fff27a Bug 885016. Avoid using uninitiated extend in gfxPattern. r=bas
This changes gfxPattern to use GraphicsExtend. All of the inputs and outputs
are GraphicsExtend so there's no point storing it in a type of ExtendMode. We
also intialize gfxPattern to EXTEND_NONE when constructing it for Azure.

--HG--
extra : rebase_source : 576a620b45d5222a5548dd79520537d52ed5659e
2013-06-19 17:06:42 -04:00
Jeff Muizelaar
40fccc1fd4 Bug 885621. Fix gfxPattern::GetMatrix() with azure and add GetInverseMatrix(). r=bas
Currently SetMatrix will take the Inverse of the passed in matrix but GetMatrix
doesn't not invert it on the way out. This fixes that and adds a
GetInverseMatrix() so that we don't double invert it when we need the inverse.

--HG--
extra : rebase_source : 6bb2049ccee22c62b1825687ecd09ddd1aad8b2e
2013-06-21 14:55:24 -04:00
Aryeh Gregor
8b16f79037 Bug 867101 - Fix more implicit conversion to already_AddRefed; r=Ms2ger 2013-04-28 14:52:10 +03:00
Avi Halachmi
8ba2f637aa Bug 838758: Cache GradientStops instead of gfxPattern. r=jrmuizel
Our gfxPattern cache is currently way too specific, which causes lots of
unnecessary cache misses. The only thing that we actually need to key on is the
color stops.

This switches the cache to hold GradientStops instead of gfxPatterns. This
improves our cache hit rate and is simpler. It also avoids doing caching when
not using Azure, which currently has no benefit.

Average paint times results (in ms)
(on windows 7 x64, i7-3630qm, HD4000)
-------------------------------------
m-c
open: 3.5 close: 3.3

m-c cache-key
open: 2.6 close: 2.4

ux
open: 7.3 close: 5.2

ux cache-key
open: 6.9 close: 5.3
2013-02-15 20:54:49 +02:00
Milan Sreckovic
8dbfb840d9 Bug 839621 - qcms_transform_create can return null, so indirect callers need to be ready for it as well. r=jmuizelaar 2013-02-08 15:46:26 -05:00
Robert O'Callahan
f50d5831fa Bug 772726. Part 14: Nudge pattern transform components to integers to avoid rounding errors. Also nudge rects to integers when we retransform them due to a CTM change. r=bas 2012-09-08 00:32:21 +12:00
Robert O'Callahan
f745e28a4c Bug 772726. Part 13: Fix handling of transforms in gfxTextObjectPaint. r=eflores,jwatt
gfxTextObjectPaint::GetFillPattern/GetStrokePattern should take the destination's CTM
as a parameter in order to set up the pattern matrix correctly, since the pattern matrix
is combined with the CTM by cairo/Thebes --- but we want the pattern rendering to be
independendt of the CTM, instead depending only on the TM set up when we initialized
the gfxTextObjectPaint.
We make SVGTextObjectPaint store matrices that map device space to pattern space.
2012-09-12 17:13:12 +12:00
David Anderson
e7f516869b Merge from mozilla-central. 2012-07-30 13:15:39 -07:00
Aryeh Gregor
d0ad5a7d0c Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Anderson
0dd273f1b9 Merge from mozilla-central. 2012-06-15 15:23:58 -07:00
Nicholas Cameron
2314a427af Bug 759036. Fix a masking bug in Thebes-Azure. r=Bas 2012-06-14 10:40:43 +12:00
Bas Schouten
d2bb6613fd Bug 758531: Prevent leaking Azure Patterns' GradientStops. r=roc 2012-05-30 06:42:41 +02:00
Bas Schouten
8302213ec9 Bug 756767 - Part 2: Deal with CreateSourceSurfaceFromData failing. r=jrmuizel 2012-05-21 17:27:32 +02:00
Ed Morley
465e967ce9 Backout a693c64dc64e (bug 715768), c520957cc03f & 713ed280a80d (bug 756767), 20cb25a8b8ba (bug 756454), f3b5ad2320cb (bug 756424) for crashes 2012-05-21 18:56:46 +01:00
Bas Schouten
6e6a125cda Bug 756767 - Part 2: Deal with CreateSourceSurfaceFromData failing. r=jrmuizel 2012-05-21 17:27:32 +02:00
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Matt Brubeck
ef84814399 Back out bug 761890, bug 746896, and bug 759036 because of reftest failures
--HG--
extra : rebase_source : b5bdad8a69eab8e9ba35d21637c0bbcb18bce703
2012-06-11 22:50:31 -07:00
Nicholas Cameron
3fcec5de9d Bug 759036. Fix a masking bug in Thebes-Azure. r=Bas
--HG--
extra : rebase_source : 2bb553e52f2d4058e1c7865dadccfc6a20c6d66c
2012-06-08 11:44:07 +12:00