Commit Graph

87 Commits

Author SHA1 Message Date
Matt Woodrow
375c837dc3 Bug 996929 - Implement OptimizeSourceSurface for all Moz2D backends. r=Bas 2014-04-17 12:45:25 +12:00
Jeff Muizelaar
3fc24ea7d9 Bug 990854. Update CopySurface() to be as fast as DrawSurface(). r=mwoodrow
Bug 987292 made DrawSurface faster by avoiding creating CGImageRef.
We can do the same for CopySurface.
2014-04-03 11:24:05 +08:00
Matt Woodrow
f11261b42c Bug 990357 - Don't push layer for OPERATOR_SOURCE when the drawing operation covers the entire clip for DrawTargetCG. r=jrmuizel 2014-04-01 16:57:35 +08:00
Rik Cabanier
8ce82a7204 Bug 987292 - drawImage does not resample outside source rect r=jmuizelaar 2014-03-24 14:10:00 +01:00
Jonathan Watt
7887504abd Bug 981857 - Make DrawTargetCG::CopySurface() support data surfaces. r=jrmuizel 2014-03-11 07:24:43 +00:00
Ehsan Akhgari
cc2dbcc735 Bug 935778 - Part 0.6: Add support for MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME and use it in moz2d
X-Git-Commit-ID: bc256ac44cbba52b04f8f0390965632ec4507608
2014-02-24 08:23:37 -05:00
Markus Stange
7801698af8 Bug 973308 - Don't let empty clip rects put infinities into the gradient calculations. r=jrmuizel 2014-02-18 23:18:29 +01:00
Jeff Muizelaar
069e63be95 Bug 821475. Moz2D: Remove flip when drawing gradient. r=mstange
We muck with the matrix before we draw the text. We need to set it back after.

--HG--
rename : mobile/android/base/FilePicker.java => mobile/android/base/ActivityHandlerHelper.java
extra : rebase_source : 4f937b0b2779ee6c771e030a7ae0894f14a7b211
2014-02-15 18:21:43 -05:00
Markus Stange
6c1f71473b Bug 966996 - The computed gradient stops need not cover the origin, so don't start at zero. r=jrmuizel
--HG--
extra : rebase_source : cc8afae8083129aee8765855037fc89ea1280b1c
2014-02-13 12:11:16 +01:00
Markus Stange
3a1354b2f9 Bug 966996 - Clamp the gradient extents to the current clip extents so that we don't compute unseen gradient stops. r=jrmuizel
--HG--
extra : rebase_source : 5ccf62603305ff2d88c98512e795fed87badc2c8
2014-02-13 12:10:43 +01:00
Markus Stange
57aa1c3ea0 Bug 950511 - Back out part 1 from bug 941095 (DrawTargetCG::SetPermitSubpixelAA) because it's unnecessary and causes bad text rendering in context menus. 2014-02-04 21:03:12 +01:00
Benoit Jacob
06f7a9c4a2 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
2d5774ca0a Bug 958375 - 6/9 - Make BackendType and NativeSurfaceType typed enums - 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
Benoit Jacob
55e7c24065 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
Benoit Jacob
b493201ca4 Bug 958375 - 1/9 - Make SurfaceType 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 13:55:24 -05:00
Markus Stange
41fb4612d8 Bug 951443 - Don't attempt to create 0x0-sized CGContexts when the UnboundnessFixer encounters an empty clip. r=jrmuizel 2014-01-08 10:31:17 +01:00
Benoit Girard
63dbe4cee0 Bug 941095 - Part 1: Support SetPermitSubpixelAA with Quartz. r=bas
--HG--
extra : rebase_source : 69171a8a17a34c822b34f48babecf18ffa08bf56
2013-12-11 23:16:03 -05:00
Markus Stange
3b8525bea8 Bug 924102 - Implement DrawTarget filter APIs with FilterNodeSoftware for Cairo, CG, D2D, D2D1 and Dual. r=Bas 2013-11-27 12:22:56 +01:00
Markus Stange
294abc7618 Bug 930956 - Make DrawTargetCG::DrawSurface support painting a DataSourceSurface that is not a DataSourceSurfaceCG. r=jrmuizel, r=Bas 2013-11-27 12:21:43 +01:00
Jeff Muizelaar
2a66d6e9b2 Bug 929471. Make DrawTargetCG independent from QuartzSupport.mm. r=bgirard 2013-11-07 22:53:54 -05:00
Matt Woodrow
f9c1c3c562 Bug 922942 - Update BufferTextureClients using Azure. r=nical 2013-10-16 14:00:30 +13:00
Markus Stange
df71b06fc0 Bug 902591 - Choose the number of linear gradient repetitions in such a way that the whole extents rect is filled. Substantial parts of the code in this patch were written by roc in bug 508730. r=mattwoodrow
--HG--
extra : rebase_source : d7f99adc56ef4d81e14bf3ece6761dd8d5c476ed
2013-10-11 10:26:40 -04:00
Matt Woodrow
a567cd9101 Bug 923309 - Don't flush CGContext drawing to the window when we're only meant to be completing any pending drawing. r=Bas 2013-10-10 17:44:09 +13:00
Markus Stange
23c401886a Bug 912945 - Use aligned data storage for DrawTargetCG. r=jrmuizel 2013-09-27 17:20:28 +02:00
Anthony Jones
50b5f8ebf4 Bug 918138 - Move Borrowed*Context to a separate header file; r=mattwoodrow 2013-09-23 15:28:16 +12:00
Milan Sreckovic
a136a3f4b4 Bug 913614 - When the input is invalid, skip the work as we won't get anything useful anyway. r=jmuizelaar 2013-09-06 12:22:20 -07:00
Matt Woodrow
829d88b2b4 Bug 909128 - Support snapshot source surfaces in DrawTargetCG's CopySurface. r=jrmuizel 2013-08-28 10:54:52 +12:00
Jeff Muizelaar
8c90099fc3 Bug 897532. Add support for better filtering in Azure. r=bas
This fixes the quality regression on OS X.

--HG--
extra : rebase_source : f045caa95800d05098ea49e05fe90fc933f8849f
2013-07-31 14:46:25 -04:00
Matt Brubeck
ce29854576 Back out d10581fd8202 (bug 897532) on suspicion of causing intermittent pgo-only Metro crashes 2013-08-08 14:58:00 -07:00
Jeff Muizelaar
6ecc49ff82 Bug 897532. Add support for better filtering in Azure. r=bas
This fixes the quality regression on OS X.

--HG--
extra : rebase_source : afbf0c332c23933096fa97a022698dc992908c12
2013-07-31 14:46:25 -04:00
Jeff Muizelaar
aca5a086d7 Bug 898803. Add support for different surface formats to DrawTargetCG. r=joe
This causes us to get cleartype when drawing with alpha with CG.

--HG--
extra : rebase_source : 611c5b76ce0ea926ea8e1e26501ca3d8d9a6b452
2013-07-29 15:01:29 -04:00
John Daggett
852023e695 Bug 898267 - support font smoothing in Azure CG backend. r=jrmuizel 2013-07-30 05:00:53 +09:00
Jeff Muizelaar
b4d1d2039a Bug 896129. Use CGContextDrawImage when appropriate in FillRect(). r=mattwoodrow
This fixes the element-paint-paintserversize-rounding-02.html reftest.
2013-07-19 20:39:31 -04:00
Jeff Muizelaar
c12f4d9523 Bug 896290. Support drawing with antialaising in DrawTargetCG. r=mattwoodrow 2013-07-19 08:18:18 -04:00
Jeff Muizelaar
ab926abff4 Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
f42d9b353e Bug 893977. Support repeating gradients in the CoreGraphics backend. r=mattwoordow
CoreGraphics doesn't support repeating gradients natively so we have to
manually repeat them. This change missing support for interpolating a
stop for the center if it doesn't line up correctly. That will come later.
2013-07-18 20:08:51 -04:00
Wes Kocher
aecc20ef97 Backout df425bca5665 (bug 893977) for breaking the build on a CLOSED TREE 2013-07-18 21:16:20 -07:00
Wes Kocher
f131bbbf4f Backout 7c2fd5db93b2 (bug bug 895646) for breaking the build on a CLOSED TREE 2013-07-18 21:15:29 -07:00
Jeff Muizelaar
6f514fa9fe Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
893fc26d2b Bug 893977. Support repeating gradients in the CoreGraphics backend. r=mattwoordow
CoreGraphics doesn't support repeating gradients natively so we have to
manually repeat them. This change missing support for interpolating a
stop for the center if it doesn't line up correctly. That will come later.
2013-07-18 20:08:51 -04:00
Matt Woodrow
9da84efe22 Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
ec01e9d892 Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
1a968529e7 Bug 892966 - Take a reference to the CGContext when constructing a DrawTargetCG from one. r=jrmuizel 2013-07-12 17:19:27 -04:00
Phil Ringnalda
8dcbf36c38 Back out 7160624804ff:69062da26093 (bug 892966) on suspicion of mochitest-4 test_bug767779.html bustage
CLOSED TREE
2013-07-12 16:39:36 -07:00
Jeff Muizelaar
aa9399ea9f Bug 892968. Implement POINT filtering properly in DrawTargetCG. r=mattwoodrow
--HG--
extra : rebase_source : 13528e2c21f96d9c5d5dba6f44593869033479f2
2013-07-12 10:01:58 -04:00
Matt Woodrow
386a557051 Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
125c1ad96b Bug 892966 - Implement CreateSourceSurfaceFromNativeSurface for DrawTargetCG and use it instead of copying pixel data. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
a452904bad Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
704e428266 Bug 892966 - Take a reference to the CGContext when constructing a DrawTargetCG from one. r=jrmuizel 2013-07-12 17:19:27 -04:00
Jeff Muizelaar
d2982ae47f Bug 892964. Rewrite DrawTargetCG::MaskSurface to avoid using FillRect(). r=mattwoodrow
With FillRect we were setting the transform twice.

The patch looks really bad because I needed to move the implementation of
MaskSurface so that it was below the helper methods.

The actual change is:

-  FillRect(Rect(aOffset.x, aOffset.y, size.width, size.height), aSource, aDrawOptions);
-
+  if (isGradient(aSource)) {
+    // we shouldn't need to clip to an additional rectangle
+    // as the cliping to the mask should be sufficient.
+    DrawGradient(cg, aSource);
+  } else {
+    SetFillFromPattern(cg, mColorSpace, aSource);
+    CGContextFillRect(cg, CGRectMake(aOffset.x, aOffset.y, size.width, size.height));
+  }

This also avoids setting up other state like alpha and the unboundness fixer twice.

--HG--
extra : rebase_source : 762f2d94ddaff129d584aab1e1f429ddfea99277
2013-07-08 17:35:56 -04:00