Commit Graph

917 Commits

Author SHA1 Message Date
Bas Schouten
3e790bfe78 Bug 732985 - Followup: Fix include order in gfx/2d Makefile. r=bustage 2012-05-08 04:40:13 +02:00
Bas Schouten
3c6147ff53 Bug 732985 - Part 2: Use ImageScaler for large images. r=jrmuizel 2012-05-08 04:31:30 +02:00
Bas Schouten
0816eab785 Bug 732985 - Part 1: Add image scaling code to Azure. r=jrmuizel 2012-05-08 04:31:30 +02:00
Bas Schouten
d79c59f9a6 Bug 738413 - Followup: Move ToIntRect to a Rect class method. r=roc 2012-05-03 23:41:37 +02:00
Bas Schouten
c8b3f6e810 Bug 738413 - Part 1: Add OpaqueRect API to Azure DrawTargets. r=roc 2012-05-03 23:31:02 +02:00
Bas Schouten
773069e08d Bug 751463: Remove Azure from XUL. r=khuey 2012-05-03 21:21:52 +02:00
Jeff Muizelaar
05f4d55e08 Bug 743499. Handle negative sizes in CG backend. r=bas, a=akeybl
I didn't realize Sizes could be negative when originally writing this code.
2012-04-23 17:09:57 -04:00
Bas Schouten
173372bc56 Bug 745054 - Part 2: Allow factory construction of Skia drawtargets on all platforms. r=mattwoodrow 2012-04-13 04:10:22 +02:00
Bas Schouten
db05f2fa78 Bug 745054 - Part 1: Fix Skia compilation on windows. r=mattwoodrow 2012-04-13 04:10:22 +02:00
Bas Schouten
77682b2ea7 Bug 742566: Add stand-alone unit test framework to Azure. r=jrmuizel 2012-04-12 02:03:07 +02:00
Bas Schouten
8da189c2ce Bug 719776 - Part 5: Fix MSVC build files for Azure. r=jrmuizel 2012-04-12 02:03:07 +02:00
Bas Schouten
e8a2e50661 Bug 719776 - Part 4: Do not depend upon mozalloc inside Azure. r=jrmuizel 2012-04-12 02:03:07 +02:00
Bas Schouten
b056c07df5 Bug 719776 - Part 3: Only include ScaledFontWin when using Skia. r=jrmuizel 2012-04-12 02:03:07 +02:00
Matt Woodrow
f05628f8b5 Bug 719776: Kill some external dependencies inside Azure code. r=Bas 2012-03-05 13:12:15 +13:00
Ehsan Akhgari
55f5039ade Backed out changeset 690cba3bb817 (bug 719776) because of build failures 2012-04-03 17:49:59 -04:00
Matt Woodrow
b07592468b Bug 719776: Kill some external dependencies inside Azure code. r=Bas 2012-03-05 13:12:15 +13:00
Bas Schouten
f7962e5181 Bug 740815 - Part 1: Add DrawTargetDual to Azure for Component Alpha drawing. r=jrmuizel 2012-04-03 22:25:52 +02:00
Matt Woodrow
e1aae0e872 Bug 740560 - [Azure] Add Factory::CreateDrawTargetForData. r=Bas,gw280 2012-04-02 15:15:08 -04:00
Joe Drew
b118c666da Bug 739969 - Port patch from bug 633627 to use fixed point division instead of integer. r=jmuizelaar 2012-04-01 15:16:33 -04:00
George Wright
e270db628e Bug 740963 - [Skia] Handle non-multiple-of-two dash lengths in HelpersSkia::StrokeOptionsToPaint(). r=jrmuizel 2012-03-30 17:36:34 -04:00
Bas Schouten
283bb94230 Bug 738691 - Part 1: Add CopyGlyphsToBuilder API. r=jrmuizel 2012-03-29 20:53:44 +02:00
Jeff Muizelaar
345836408c Bug 738919. Accept dash arrays of length > 0. r=mwoodrow
I copied a bug from the skia code here. This fixes the CG
version and puts a note into the skia code.
2012-03-26 22:50:08 -04:00
Bas Schouten
ef709193e2 Bug 736134 - Part 1: Add GlyphRenderingOptions API to Azure. r=jrmuizel 2012-03-19 19:20:17 +00:00
Bas Schouten
518eac5956 Bug 717302: Make sure to mark transform dirty after resetting to push clip. r=jrmuizel 2012-03-15 20:26:10 +00:00
Jonathan Watt
931f6fc216 Bug 729562 - Make the SVG paint methods take an nsRenderingContext, and kill nsSVGRenderState. r=Bas. 2012-03-02 08:28:59 +00:00
Justin Lebar
b682bbe4a5 Bug 731789 - Rename mfbt/StdInt.h to mfbt/StandardInteger.h, so stdint types work from cpp files inside mfbt. r=waldo 2012-02-29 22:56:43 -05:00
Jeff Muizelaar
379c5b5aab Bug 731117. Bound the size of CG surfaces to match cairo. r=bas
This fixes crashes that can happen when we try to create
an image surface from a quartz surface larger than the maximum
size supported by image surfaces.

--HG--
extra : rebase_source : 6ef9c66a91068f75ddef90a3453a7360dd91fa78
2012-02-29 21:30:11 -05:00
Jeff Muizelaar
7edc099e21 Bug 729850. CG: Get the point order correct when transforming a path. r=mwoodrow 2012-02-25 00:35:41 -05:00
Jeff Muizelaar
617ed39964 Bug 728028. CG: Avoid double transforming filled gradients. r=mwoodrow
When we fixed transformed clips it caused us to double transform gradients. We
fix this by avoiding ::PushClip when drawing gradients. This has the advantage
of saving a save and restore pair and it makes Fill() more closely match
Stroke()
2012-02-25 00:35:39 -05:00
Jeff Muizelaar
11b2338e5c Bug 729145. Don't ignore curves when we don't have a current point. r=mwoodrow
This was a copy & paste typo and is caught by
http://philip.html5.org/tests/canvas/suite/tests/2d.path.quadraticCurveTo.ensuresubpath.2.html
which is not in our test suite.

--HG--
extra : rebase_source : dc77d4bfa4da0d79e97da1e10e72bbd77223e8fa
2012-02-22 17:06:02 -05:00
Bas Schouten
39993f3d42 Bug 726951: Correctly use height to normalize mask v-texture coordinate. r=jrmuizel 2012-02-16 04:08:08 +01:00
Jeff Muizelaar
0fb7cea14a Bug 726764. Avoid leaking CGPaths when getting text paths. r=joe 2012-02-14 17:59:11 -05:00
George Wright
ffea6b6474 Bug 723110. Refactor font code to lay the groundwork for having a ScaledFontFreetype class. r=jrmuizel 2012-02-13 14:58:01 -05:00
Nathan Froyd
32eea886e4 Bug 724275 - fix -Wswitch warnings; r=jrmuizel 2012-02-04 07:22:47 -05:00
Rafael Ávila de Espíndola
674b523321 Bug 723122 - fix clang build. r=jmuizelaar. 2012-02-02 10:02:06 +01:00
Ed Morley
d5d841cf5b Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-01-31 10:52:29 +00:00
Jeff Muizelaar
25940efe7a Bug 720482. Make CG snapshots work more like the other backends. r=joe,mattwoodrow,bas
This has big improvement in the performance of GetImageData() because
we make the snapshot lazily instead of using the vm_copy() method
of CGBitmapContextCreateImage()
2012-01-31 01:46:54 -05:00
Bas Schouten
391307a484 Bug 718730: Allow creating a bitmap from just an A8 texture. r=jrmuizel 2012-01-31 06:15:23 +01:00
Bas Schouten
79584f02fc Bug 719136: Don't attempt to upload when there's nothing to upload. r=jrmuizel 2012-01-31 06:15:23 +01:00
Marco Castelluccio
9ee802a28e Bug 702158 - [Skia] Get Skia backend working on Linux, part 2 2012-01-31 10:24:27 +09:00
Jeff Muizelaar
2fe0d32140 Bug 722444. Initialize mData for 0 sized surfaces. r=bgirard
This avoids an invalid free() during destruction found with the
online canvas test suite.

--HG--
extra : rebase_source : e1aeff36e557b045fbaff38d7b46fdf91956ae49
2012-01-30 11:17:42 -05:00
Benoit Girard
53b76bb348 Bug 722164 - Set Azure Quartz Canvas image interpolation to low for better performance. r=jmuizelaar 2012-01-29 17:08:58 -05:00
George Wright
5fd307b7b1 Bug 721855 - Honour the gfx.canvas.azure.prefer-skia pref on OS X, r=joe
--HG--
extra : rebase_source : 93aba135b44e5e0f944a8bf604b77a5b414185cf
2012-01-27 14:38:00 -08:00
Joe Drew
f54df1b8ab Bug 719631 - Support creating offscreen DrawTargets for the Cairo backend. r=jrmuizel
--HG--
extra : rebase_source : 6103e88ec0de91c16aa36829db1e8c988920bcfe
2012-01-27 13:09:20 -05:00
Joe Drew
93916b3c5b Bug 719627 - Merge the functionality of ScaledFontCairo into ScaledFontBase, as is its purpose. r=jrmuizel
--HG--
extra : rebase_source : df21f1a6e702de1e0a7f52a8a75203078c8be423
2012-01-27 13:08:46 -05:00
Jeff Muizelaar
bd5a176210 Bug 720721. Properly transform the clip path in DrawTargetCG. r=mwoodrow
This is a little tricky because we can't put a save/restore pair
around the operation because then we'll loose the clip.
2012-01-24 15:14:50 -05:00
Jeff Muizelaar
8bc10894df Bug 719429. Fix canvas data leak in DrawTargetCG. r=ajuma
I forgot to fix this before landing and refound it using
http://s3.zazub.com/games/circle_game/index.html
2012-01-19 10:33:35 -05:00
Matt Woodrow
5cb9e8e2e9 Bug 716415 - Enable soft clipping with Skia in Azure. r=gwright 2012-01-19 17:48:35 +13:00
Matt Woodrow
d642e4c4c4 Bug 716415 - Update Azure for Skia API changes. r=gwright 2012-01-19 17:48:35 +13:00
Matt Woodrow
d37ba24f58 Bug 716802 - Implement new 2D API functions. r=gwright 2012-01-19 17:48:33 +13:00
Jeff Muizelaar
8960edcfc7 Bug 717921. Add UserData to DrawTarget. r=bas
* * *
Bug 717921. Fix bustage about moz_xrealloc.
2012-01-13 09:47:58 -05:00
Jeff Muizelaar
80095e3007 Bug 692879. Implement CoreGraphics Azure backend. r=mwoodrow 2012-01-09 13:54:44 -05:00
Matt Brubeck
0dc4c17288 Back out efd165428f08 to 4a79fefefa28 (bug 580786, bug 716639, bug 692879, bug 717921) because of reftest error 2012-01-17 10:08:38 -08:00
Jeff Muizelaar
2a24d649f4 Bug 717921. Add UserData to DrawTarget. r=bas
* * *
Bug 717921. Fix bustage about moz_xrealloc.

--HG--
extra : rebase_source : 62d38e561d1e64c725587b1de4d1ae609b828557
2012-01-13 09:47:58 -05:00
Jeff Muizelaar
b2072dc211 Bug 692879. Implement CoreGraphics Azure backend. r=mwoodrow
--HG--
extra : rebase_source : 94f8c205e16e961b5407396c0d0d3b41067222dc
2012-01-09 13:54:44 -05:00
Joe Drew
cafbfddf58 Bug 473236 - Remove executable bits from ScaledFontSkia.*. r=jrmuizel DONTBUILD 2012-01-16 16:29:42 -05:00
Joe Drew
75e6f69da6 Bug 715513 - Implement text in the new 2D API's Cairo backend. r=jrmuizel
--HG--
extra : rebase_source : 75350d02ec31e60c356b1d9f05bf14b2b2dee9f4
2012-01-10 13:26:59 -05:00
Joe Drew
2a87535698 Bug 715652 - Jeff's review requested changes which were easier to implement on top of path support. r=jrmuizel
--HG--
extra : rebase_source : 1918afdd0ea2629169dff36353fdf01d66377e26
2012-01-09 17:19:11 -05:00
Joe Drew
200475920f Bug 707848 - Implement paths in the 2D API's Cairo backend. r=jrmuizel
--HG--
extra : rebase_source : a127cd96d48077c02f32d64b89984995c02fc38b
2012-01-09 17:15:10 -05:00
Joe Drew
879f7f3954 Bug 715652 - Implement significantly more of the 2D API for the Cairo backend. r=jrmuizel
--HG--
extra : rebase_source : b23314691fef65db2518d3e738a66039e3c18909
2012-01-09 16:50:01 -05:00
Bas Schouten
419c357802 Bug 711063 - Part 1.5: Add operator to gfx::Matrix for size transformation. r=jrmuizel 2012-01-05 08:17:51 +01:00
Joe Drew
031c31b01f Bug 715243 - Add the ability to use gfx logging on Matrix. r=Bas 2012-01-04 18:02:59 -05:00
Joe Drew
6636e5870d Bug 705204 - Add mozilla::gfx::Matrix::operator!= and operator==. r=Bas 2012-01-04 18:02:59 -05:00
Joe Drew
2a86c4f308 Bug 705200 - Add mozilla::gfx::Matrix::IsIdentity(). r=Bas 2012-01-04 18:02:59 -05:00
Bas Schouten
9be9c0d565 Bug 702878: Extend gfx::2d API and D2D backend with new functionality. r=jrmuizel sr=roc 2011-12-28 06:56:11 +01:00
Phil Ringnalda
65d20c6b05 Back out 9c78b4872333 (bug 702878) for Win M1 crashes and reftest orange 2011-12-27 21:09:44 -08:00
Bas Schouten
c30eae6661 Bug 702878: Extend gfx::2d API and D2D backend with new functionality. r=jrmuizel sr=roc 2011-12-28 03:51:38 +01:00
Jacek Caban
2da79dd182 Bug 711385 - DrawTargetD2D.h fails to compile on mingw r=bas.schouten 2011-12-19 14:06:10 +01:00
Bas Schouten
b6b1c04f23 Bug 710509: Allow Skia to be easily switched off. r=khuey 2011-12-14 08:04:32 -05:00
Robert O'Callahan
b22b8717f9 Bug 705559. Part 4: Speed up AddDependencyOnSource by exiting early when we already have the dependency. r=bas 2011-12-09 22:53:14 +13:00
Robert O'Callahan
2e41d40aa7 Bug 705559. Part 3: Use mDirtyTransform to avoid unnecessary SetTransform calls. r=bas 2011-12-09 22:53:14 +13:00
Robert O'Callahan
bf1ffae6f7 Bug 705559. Part 2: Keep only one snapshot per DrawTargetD2D since all stored snapshots represent the 'last state'. Reuse that snapshot if the state hasn't changed since the last snapshot. Keep the last snapshot alive and make the snapshot's mDrawTarget weak instead. Change mDependingOnTargets/mDependentTargets to be hashsets instead of vectors. Remove SourceSurfaceD2DTarget::mIsCopy since the null-ness of mDrawTarget means the same thing. r=bas 2011-12-09 22:51:57 +13:00
Jeff Walden
91683ae3e3 Bug 704313 - Implement mozilla/StdInt.h. r=cjones
--HG--
extra : rebase_source : b221134fdfbde13a37a6ef621bba3ca183a46101
2011-11-22 17:42:57 -08:00
Robert O'Callahan
7d22b4bdb5 Bug 705173. Make mDependentTargets weak by tracking the inverse relationship in mDependingOnTargets. In Flush(), remove dependencies on other targets. r=bas 2011-11-25 15:12:40 +13:00
Kyle Huey
3d4b98aef2 Bug 703028: Fix obnoxious warning spew from gfx 2d stuff. r=me 2011-11-21 09:56:24 -05:00
Joe Drew
9faa8a6d27 Bug 685767 - Factor blurring out into its own class, and use it from gfxAlphaBoxBlur. r=mattwoodrow 2011-11-18 22:19:24 +13:00
Ed Morley
d06867876a Merge last green changeset of mozilla-inbound to mozilla-central 2011-11-18 08:43:10 +00:00
Kyle Huey
053e18194b Back out Bug 685767 for leaking. 2011-11-17 13:01:11 -05:00
Joe Drew
890d07996d Bug 685767 - Factor blurring out into its own class, and use it from gfxAlphaBoxBlur. r=mattwoodrow 2011-11-14 17:29:28 +13:00
Joe Drew
303a252576 Bug 685326 - Move Round{,In,Out} from gfxRect to BaseRect, and make them no-ops on IntRect. r=Bas 2011-11-14 17:29:14 +13:00
Joe Drew
3b842a0678 Bug 685322 - Create explicit conversion constructors for Rect and Point taking IntRect and IntPoint. r=roc 2011-11-14 17:29:01 +13:00
Matt Brubeck
d9a00c1f73 Back out 5ddda2b25e28 and 3abfdb807a4f (bug 699258) for crashes in WinXP tests 2011-11-11 17:49:47 -08:00
Marco Castelluccio
f70d384da0 Bug 699258 - Part 2: [Skia] Get Skia backend working on Windows. 2011-11-11 15:51:00 -05:00
Matt Woodrow
0160cea238 Bug 703463 - Let SourceSurfaceSkia snapshots take ownership of DrawTargetSkia pixel data when it is destroyed. r=jrmuizel 2011-11-18 17:00:38 +13:00
Matt Woodrow
26c2668d5a Bug 703428 - Handle invalid stroke options. r=jrmuizel 2011-11-18 17:00:38 +13:00
Matt Woodrow
c57d11d687 Bug 702515 - Implement GetStrokedBounds for Skia. r=jrmuizel 2011-11-18 17:00:38 +13:00
Matt Woodrow
01449931d4 Bug 702516 - Enable bilinear filtering for Skia. r=jrmuizel 2011-11-18 17:00:38 +13:00
Marco Castelluccio
65fe650cde Bug 699258 - Get skia backend compiling and running on Windows. r=mattwoodrow 2011-11-18 17:00:37 +13:00
Matt Woodrow
02854b30fc Bug 688368 - Make SourceSurfaceSkia data surfaces copy-on-write. r=joe 2011-11-03 08:55:03 +13:00
Matt Woodrow
b74458f46e Bug 698318 - Share ArcToBezier code. r=jrmuizel 2011-11-03 08:55:03 +13:00
Matt Woodrow
bc5c7f13cf Bug 688367 - Add Skia backend to Azure. r=jrmuizel 2011-11-03 08:55:03 +13:00
Bas Schouten
f8f9365920 Bug 691571: Properly mark Azure DrawTarget changed on all drawing operations. r=jrmuizel 2011-10-05 16:08:56 +02:00
Chris Coulson
4f70e5207f Bug 690432: Fix "format not a string literal and no format arguments" error in gfx logging code. r=bas 2011-09-29 12:25:07 -07:00
Jeff Muizelaar
531d78716c Bug 688902. 2d: Document Color as being non-premultiplied. r=bas 2011-09-24 11:51:29 -04:00
Atul Aggarwal
3360aa4b4c Bug 679618 - Uninitialized memory in gfx/2d/SourceSurfaceCG.cpp; r=jmuizelaar 2011-08-31 13:16:12 +01:00
Matt Woodrow
f9d4b0bc4e Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf 2011-08-27 12:06:03 +12:00
Jacek Caban
0cbb10bd5d Bug 670093 - gfx/2d fails to compile on mingw r=bas.schouten 2011-08-23 17:35:13 +02:00
Bas Schouten
773198cdeb Bug 676753: Support subpixel-AA for the Azure D2D backend. r=jrmuizel 2011-08-16 04:37:00 +02:00
Matt Woodrow
9486dc0d39 Bug 505115 - Part 8a - Add BasePoint3D and gfxPoint3D. r=roc 2011-08-03 15:04:20 +12:00
Jeff Muizelaar
783a3434f0 Bug 674003. D2D: Fix premultiplying to only premultiply the color components. r=bjacob
We were accidentally squaring alpha this caused our surface to end up with superluminescent values.
Fix this by only multiplying alpha with the color componenets and not itself.
2011-07-28 16:31:28 -04:00
Jeff Muizelaar
49346550bd Bug 672646. D2D: Fix trasparent radial gradients. r=roc
The output merger stage was expecting premultiplied alpha
and we were giving non-premultiplied. Fix by premultiplying
in the shader.

Also adds a reftest for this situation.
2011-07-21 18:40:41 -04:00
Bas Schouten
9df92e2b44 Bug 666452 - Part 3: Create a minimal size temp surface for canvas shadow drawing. r=roc 2011-07-13 02:36:28 +02:00
Bas Schouten
d364586638 Bug 666452 - Part 2: Minimize drawing done with shadow in the Azure D2D backend. r=BenWa 2011-07-13 02:34:43 +02:00
Bas Schouten
aa8d9fe0e0 Bug 666452 - Part 1: Expose functions to get the (stroked) bounds of a path. r=BenWa sr=roc 2011-07-13 02:34:40 +02:00
Bas Schouten
70cf943058 Bug 666097 - Fix radial gradient drawing in Azure. r=jrmuizel
* * *
Part 2: Adjust tests to properly confirm passing. r=jrmuizel
2011-07-08 18:49:35 +00:00
Jeff Muizelaar
a4fa82cf61 2D: Add a comment about why we need to know the fill mode early. r=bas 2011-07-07 12:57:52 -04:00
Bas Schouten
20707018d6 Bug 668801 - Followup: Properly address review comments. 2011-07-05 08:52:48 +00:00
Bas Schouten
951afc154e Bug 668801 - Part 3: Adjust dealing with clipped shadows to be accurate. r=jrmuizel 2011-07-05 06:28:20 +00:00
Bas Schouten
1234946c68 Bug 668801 - Part 2: Fix small bug in Azure shadow drawing. r=jrmuizel 2011-07-05 06:28:17 +00:00
Bas Schouten
756d1c7e15 Bug 668801 - Part 1: Adjust Azure for traditional shadow drawing style. r=jrmuizel 2011-07-05 06:28:14 +00:00
Ehsan Akhgari
68be621524 Merge mozilla-central and mozilla-inbound 2011-06-30 05:08:20 -04:00
Oleg Romashin
fdc131bf41 Bug 668368 - Logging.h compile fail due to missing stdio.h r=bas.schouten 2011-06-29 15:13:21 -07:00
Bas Schouten
915c27a3f4 Bug 667290: Properly clear the downsampled destination before blending to it. r=jrmuizel 2011-06-28 02:10:06 +02:00
Takanori MATSUURA
bd263d1c2f Bug 667286 - Include cairo.h as "cairo.h" instead of "cairo/cairo.h"; r=bas 2011-06-26 23:10:35 +09:00
Chris Jones
1ed2dae061 Bug 662038, part 3: Implement dashing for d2d. r=Bas 2011-06-29 14:34:58 -07:00
Chris Jones
546a15416f Bug 662038, part 2: Add dashing API to Azure. r=Bas sr=roc 2011-06-29 14:34:58 -07:00
Bas Schouten
1fb2634ff2 Bug 651858 - Part 1: Add the Azure API and Direct2D backend. r=jrmuizel sr=roc
--HG--
rename : gfx/src/BaseMargin.h => gfx/2d/BaseMargin.h
rename : gfx/src/BasePoint.h => gfx/2d/BasePoint.h
rename : gfx/src/BaseRect.h => gfx/2d/BaseRect.h
rename : gfx/src/BaseSize.h => gfx/2d/BaseSize.h
2011-06-24 19:41:16 +02:00