Commit Graph

86 Commits

Author SHA1 Message Date
Jeff Muizelaar
47c54b3ec4 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
2b85454eab 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
c2025c36cd Bug 987292 - drawImage does not resample outside source rect r=jmuizelaar 2014-03-24 14:10:00 +01:00
Jonathan Watt
534c6469a6 Bug 981857 - Make DrawTargetCG::CopySurface() support data surfaces. r=jrmuizel 2014-03-11 07:24:43 +00:00
Ehsan Akhgari
e1b60f2947 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
2eebe74598 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
3d43c4a5c0 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
e78fe056a6 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
74facd2be0 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
d9e5ef0b89 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
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
ccaa35314d 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
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
Benoit Jacob
80ebacd7e6 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
3d81a4584f 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
dc08516cff 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
8db97bd05e 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
976a163b61 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
e78ed5364f Bug 929471. Make DrawTargetCG independent from QuartzSupport.mm. r=bgirard 2013-11-07 22:53:54 -05:00
Matt Woodrow
8a32a82431 Bug 922942 - Update BufferTextureClients using Azure. r=nical 2013-10-16 14:00:30 +13:00
Markus Stange
5b20ac846a 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
a175167f8d 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
73ed2ff64e Bug 912945 - Use aligned data storage for DrawTargetCG. r=jrmuizel 2013-09-27 17:20:28 +02:00
Anthony Jones
e8c48e7df8 Bug 918138 - Move Borrowed*Context to a separate header file; r=mattwoodrow 2013-09-23 15:28:16 +12:00
Milan Sreckovic
b4d9d2a9b0 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
adccee1f7f Bug 909128 - Support snapshot source surfaces in DrawTargetCG's CopySurface. r=jrmuizel 2013-08-28 10:54:52 +12:00
Jeff Muizelaar
8818ab3b07 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
9fc67ed1e7 Back out d10581fd8202 (bug 897532) on suspicion of causing intermittent pgo-only Metro crashes 2013-08-08 14:58:00 -07:00
Jeff Muizelaar
caf604a77c 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
6db2981894 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
c1ed3910f5 Bug 898267 - support font smoothing in Azure CG backend. r=jrmuizel 2013-07-30 05:00:53 +09:00
Jeff Muizelaar
b17dfd732b 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
9ddd2f5d8f Bug 896290. Support drawing with antialaising in DrawTargetCG. r=mattwoodrow 2013-07-19 08:18:18 -04:00
Jeff Muizelaar
9eda8ae743 Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
7fa5ac69af 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
c7291d2df1 Backout df425bca5665 (bug 893977) for breaking the build on a CLOSED TREE 2013-07-18 21:16:20 -07:00
Wes Kocher
2528692e6a Backout 7c2fd5db93b2 (bug bug 895646) for breaking the build on a CLOSED TREE 2013-07-18 21:15:29 -07:00
Jeff Muizelaar
3b763c6381 Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
39c3bb9c5c 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
8d17852f86 Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
cf7c30ed33 Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
c45ae27d7e 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
eb8de189ea 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
ad0a0a9bd8 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
b2487e960c Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
eb65fc3063 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
86c0401d89 Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
2362fcace6 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
e44e34c767 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
Jeff Muizelaar
1e6e84f8d1 Bug 891660. Add support for Azure on Mac with OMTC. r=mattwoodrow
This is not the best approach but it works for now.  We basically pull the cg
context from gfxASurface and wrap a DrawTarget around it. In the end we'll need
to plumb the DrawTarget through more.

--HG--
rename : dom/ipc/PTabContext.ipdlh => dom/ipc/PContent.ipdl
extra : rebase_source : 49eac0354864ae9f2e7434b8b1efacc37d69fc23
2013-07-09 21:02:41 -04:00