Commit Graph

86 Commits

Author SHA1 Message Date
Jeff Muizelaar
8fe9179a5d 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
6e3ee59a02 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
36410d994f Bug 987292 - drawImage does not resample outside source rect r=jmuizelaar 2014-03-24 14:10:00 +01:00
Jonathan Watt
880a3e3b3a Bug 981857 - Make DrawTargetCG::CopySurface() support data surfaces. r=jrmuizel 2014-03-11 07:24:43 +00:00
Ehsan Akhgari
5664081d99 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
72f4431fe8 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
b09c5a8340 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
bb055b7334 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
80443d62bf 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
8e5b6af66c 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
873406e3f0 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
300f4ba3a9 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
535a216635 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
1d401ace71 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
caa0777649 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
ce6793e97f 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
d20d7c9a8b 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
63bb72465e 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
7fc84d38a3 Bug 929471. Make DrawTargetCG independent from QuartzSupport.mm. r=bgirard 2013-11-07 22:53:54 -05:00
Matt Woodrow
105a6104cc Bug 922942 - Update BufferTextureClients using Azure. r=nical 2013-10-16 14:00:30 +13:00
Markus Stange
991115729d 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
e7fe35ece1 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
c9a470f6fb Bug 912945 - Use aligned data storage for DrawTargetCG. r=jrmuizel 2013-09-27 17:20:28 +02:00
Anthony Jones
af656ab898 Bug 918138 - Move Borrowed*Context to a separate header file; r=mattwoodrow 2013-09-23 15:28:16 +12:00
Milan Sreckovic
9618b4a696 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
9fd4f7c1c4 Bug 909128 - Support snapshot source surfaces in DrawTargetCG's CopySurface. r=jrmuizel 2013-08-28 10:54:52 +12:00
Jeff Muizelaar
ecae027e49 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
c53520d691 Back out d10581fd8202 (bug 897532) on suspicion of causing intermittent pgo-only Metro crashes 2013-08-08 14:58:00 -07:00
Jeff Muizelaar
949f85802a 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
06379397bc 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
64789c29d2 Bug 898267 - support font smoothing in Azure CG backend. r=jrmuizel 2013-07-30 05:00:53 +09:00
Jeff Muizelaar
71a7916743 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
bda5f61652 Bug 896290. Support drawing with antialaising in DrawTargetCG. r=mattwoodrow 2013-07-19 08:18:18 -04:00
Jeff Muizelaar
f4d062eadf Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
c9db22097b 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
27bac0ed90 Backout df425bca5665 (bug 893977) for breaking the build on a CLOSED TREE 2013-07-18 21:16:20 -07:00
Wes Kocher
dfff5aa2ec Backout 7c2fd5db93b2 (bug bug 895646) for breaking the build on a CLOSED TREE 2013-07-18 21:15:29 -07:00
Jeff Muizelaar
5a65f982f2 Bug 895646. Use the pattern transform when drawing gradients with DrawTargetCG. r=mattwoodrow 2013-07-16 11:27:12 -04:00
Jeff Muizelaar
1ea74c7e1a 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
0debdb2a99 Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
6450d9080b Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
a3629d3dbc 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
82da68ce77 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
4e9a81da93 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
fd6c011a54 Bug 892966 - Make gfxQuartzNativeDrawing support Moz2D surfaces. r=jrmuizel 2013-07-12 17:19:29 -04:00
Matt Woodrow
c1f63582a2 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
beabad00b7 Bug 892966 - Setup dashing correctly in DrawTargetCG::StrokeRect. r=jrmuizel 2013-07-12 17:19:28 -04:00
Matt Woodrow
3449d72a96 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
a814b7f1d1 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
d4c95018cd 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