fmalita
b7425173f9
SkTextBlob plumbing
...
Add SkTextBlob serialization + drawTextBlob() overrides.
R=mtklein@google.com , reed@google.com , robertphillips@google.com
BUG=269080
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/499413002
2014-08-26 07:56:44 -07:00
dandov
b3c9d1c33c
SkCanvas::drawPatch param SkPoint[12]
...
drawPatch now receives as parameter const SkPoint cubics[12]
Adjusted derived classes and serialization.
Ajusted GM's and benches that take into account combinations of optional
parameters, the scale of the patch and 4 different types of patches.
Planning on adding the extra functionality of SkPatch in another CL.
BUG=skia:
R=egdaniel@google.com , reed@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/463493002
2014-08-12 08:34:29 -07:00
reed
d5fa1a455a
add drawPicture variant that takes a matrix and paint
...
will need some staging strategy, since chrome and blink have overrides of onDrawPicture
R=robertphillips@google.com , fmalita@google.com , bsalomon@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/448793004
2014-08-09 11:08:05 -07:00
dandov
ecfff21bde
SkCanvas interface for drawing a patch.
...
Added function SkCanvas::drawPatch to the API. This function
receives the patch to draw and the paint.
Added function SkBaseDevice::drawPatch to the API. This function also receives the patch to draw and the paint.
Currently SkGpuDevice and SkBitmapDevice generate the mesh taking into
account the scale factor and call the corresponding device's drawVertices.
BUG=skia:
R=jvanverth@google.com , egdaniel@google.com , bsalomon@google.com
Author: dandov@google.com
Review URL: https://codereview.chromium.org/424663006
2014-08-04 10:02:00 -07:00
reed
52d9ac6c92
stop calling SkCanvas::getDevice
...
BUG=skia:
R=bsalomon@google.com , robertphillips@google.com , junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/355193006
2014-06-30 09:05:34 -07:00
Florin Malita
5f6102d079
SaveFlags be-gone
...
Remove the deprecated save(SaveFlags), willSave(SaveFlags) and all
traces of kMatrix_SaveFlags/kClip_SaveFlag.
BUG=skia:2297
R=mtklein@google.com , reed@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/340403003
2014-06-30 10:13:28 -04:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
reed
868074b50b
remove SkBounder -- unused and unloved
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/312553006
2014-06-03 10:54:00 -07:00
reed@google.com
e0d9ce890e
Make drawText calls non-virtual, to ease SkFont and TextBlob ( https://codereview.chromium.org/243853006/ )"
...
associated chrome change (to be committed with DEPS roll)
https://codereview.chromium.org/248693002/
This reverts commit bfaceb53f58c9625b5471fcff35b5ca9ca3ae29c.
TBR=bsalomon@google.com
Review URL: https://codereview.chromium.org/248083002
git-svn-id: http://skia.googlecode.com/svn/trunk@14321 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 04:00:17 +00:00
commit-bot@chromium.org
945ec3a2be
Revert of make drawText calls non-virtual, to ease SkFont and TextBlob ( https://codereview.chromium.org/243853006/ )
...
Reason for revert:
need to test more the code-path where we don't opt into the new virtuals
Original issue's description:
> make drawText calls non-virtual, to ease SkFont and TextBlob
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14307
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/247983003
git-svn-id: http://skia.googlecode.com/svn/trunk@14314 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 20:07:30 +00:00
commit-bot@chromium.org
4325d114a5
make drawText calls non-virtual, to ease SkFont and TextBlob
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/243853006
git-svn-id: http://skia.googlecode.com/svn/trunk@14307 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 19:03:02 +00:00
commit-bot@chromium.org
d9ea09e1f2
Consolidate SkCanvas matrix virtuals.
...
Remove didTranslate, didScale, didRotate & didSkew, and rely on
didConcat instead. Subclasses can sniff the matrix type if they want to
differentiate.
(work in progress)
R=reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/203203004
git-svn-id: http://skia.googlecode.com/svn/trunk@13940 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 17:32:26 +00:00
commit-bot@chromium.org
44c48d062f
De-virtualize SkCanvas matrix ops.
...
This moves the matrix management logic into non-virtual SkCanvas
methods, and turns the virtuals into protected notifiers.
R=reed@google.com , robertphillips@google.com , bsalomon@google.com
BUG=skia:2297
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/195793012
git-svn-id: http://skia.googlecode.com/svn/trunk@13799 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 20:03:58 +00:00
commit-bot@chromium.org
e54a23fcfa
De-virtualize SkCanvas save/restore.
...
This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.
R=reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/194713008
git-svn-id: http://skia.googlecode.com/svn/trunk@13776 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 20:21:48 +00:00
reed@google.com
9c135db83d
support direct writing to top layer, and hide getTopLayer()
...
this should remove many of the chrome callers that today call
accessBitmap on the toplayer, so they can read/write those pixels.
The ultimate fix will be to support custom allocation of raster layers
(via GDI/cairo/mac) so we can remove PlatformDevice subclassing in
skia/ext
BUG=skia:
R=bsalomon@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/197433002
git-svn-id: http://skia.googlecode.com/svn/trunk@13774 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 18:28:35 +00:00
commit-bot@chromium.org
069a55a7fe
Revert of Revert of Revert "De-virtualize SkCanvas save/restore." ( https://codereview.chromium.org/196323003/ )
...
Reason for revert:
Pulling out to rename the virtuals.
Original issue's description:
> Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/ )
>
> Reason for revert:
> Re-landing after roll fix.
>
> Original issue's description:
> > Revert "De-virtualize SkCanvas save/restore."
> >
> > (To allow a roll fix into the tree).
> >
> > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
> >
> > R=halcanary@google.com
> >
> > Committed: https://code.google.com/p/skia/source/detail?r=13748
>
> TBR=halcanary@google.com ,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=13754
R=halcanary@google.com , fmalita@chromium.org
TBR=fmalita@chromium.org , halcanary@google.com
NOTREECHECKS=true
NOTRY=true
Author: fmalita@google.com
Review URL: https://codereview.chromium.org/197553002
git-svn-id: http://skia.googlecode.com/svn/trunk@13765 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 15:08:22 +00:00
commit-bot@chromium.org
4fcd92d0bf
Revert of Revert "De-virtualize SkCanvas save/restore." ( https://codereview.chromium.org/194923008/ )
...
Reason for revert:
Re-landing after roll fix.
Original issue's description:
> Revert "De-virtualize SkCanvas save/restore."
>
> (To allow a roll fix into the tree).
>
> This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
>
> R=halcanary@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13748
R=halcanary@google.com , fmalita@chromium.org
TBR=fmalita@chromium.org , halcanary@google.com
NOTREECHECKS=true
NOTRY=true
Author: fmalita@google.com
Review URL: https://codereview.chromium.org/196323003
git-svn-id: http://skia.googlecode.com/svn/trunk@13754 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 23:47:35 +00:00
fmalita@google.com
f1292bc01f
Revert "De-virtualize SkCanvas save/restore."
...
(To allow a roll fix into the tree).
This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
R=halcanary@google.com
Review URL: https://codereview.chromium.org/194923008
git-svn-id: http://skia.googlecode.com/svn/trunk@13748 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 21:46:56 +00:00
fmalita@google.com
80b10518a2
De-virtualize SkCanvas save/restore.
...
This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.
R=robertphillips@google.com , reed@google.com
Review URL: https://codereview.chromium.org/194713008
git-svn-id: http://skia.googlecode.com/svn/trunk@13747 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 21:04:41 +00:00
robertphillips@google.com
8f90a892c5
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 18:19:39 +00:00
robertphillips@google.com
03fc3b4f67
Revert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium.org/183453002/ ) due to broken Chrome Canary and failing tests.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 15:28:02 +00:00
robertphillips@google.com
392c9be344
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 14:35:45 +00:00
commit-bot@chromium.org
ab5827354e
override new virtual onDrawDRRect in util canvas subclasses
...
BUG=skia:
R=robertphillips@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/174593003
git-svn-id: http://skia.googlecode.com/svn/trunk@13529 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 12:20:45 +00:00
reed@google.com
28183b4043
remove (unused by chrome) SkDeferredCanvas(device) factory signature
...
BUG=skia:
R=junov@chromium.org
Review URL: https://codereview.chromium.org/136753016
git-svn-id: http://skia.googlecode.com/svn/trunk@13302 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 15:34:10 +00:00
commit-bot@chromium.org
eddb02c82d
Adding SkDeferredCanvas::NoticifationClient to the exported API.
...
R=reed@android.com , robertphillips@google.com , reed, robertphillips
BUG=1861
Author: schenney@chromium.org
Review URL: https://codereview.chromium.org/83383007
git-svn-id: http://skia.googlecode.com/svn/trunk@12380 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 15:44:37 +00:00
bsalomon@google.com
7ce564cccb
Revert "If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance."
...
This reverts commit r11904
Review URL: https://codereview.chromium.org/35543002
git-svn-id: http://skia.googlecode.com/svn/trunk@11909 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 16:54:15 +00:00
bsalomon@google.com
ad254fee73
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
Committed: http://code.google.com/p/skia/source/detail?r=11842
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11904 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-22 13:19:12 +00:00
robertphillips@google.com
c2cc1dbe81
Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - https://codereview.chromium.org/23484007 ) due to changes to the following GM images:
...
inverse_paths
pathopsinverse
git-svn-id: http://skia.googlecode.com/svn/trunk@11845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 17:34:20 +00:00
commit-bot@chromium.org
521a46750d
If the path is a rect, call drawRect to raster the geometry in SkCanvas::drawPath to get better performance.
...
R=bsalomon@google.com , robertphillips@google.com , reed@google.com
Author: yunchao.he@intel.com
Review URL: https://codereview.chromium.org/23484007
git-svn-id: http://skia.googlecode.com/svn/trunk@11842 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-17 16:29:21 +00:00
robertphillips@google.com
1f2f338e23
Split SkDevice into SkBaseDevice and SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
robertphillips@google.com
9b051a375b
Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018
Split SkDevice out of SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
eed779d866
This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on the simplest GPU path.
...
R=bsalomon@google.com , reed@google.com , edisonn@google.com , scroggo@google.com , jvanverth@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://chromiumcodereview.appspot.com/20806003
git-svn-id: http://skia.googlecode.com/svn/trunk@10765 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-16 10:24:37 +00:00
commit-bot@chromium.org
cb62224996
Removing deprecated constructors and setDevice from SkDeferredCanvas
...
R=senorblanco@google.com , senorblanco@chromium.org
BUR=crbug.com/270143
Author: junov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22385011
git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
junov@chromium.org
66070a527c
Changing SkDeferredCanvas to use factories for creation
...
The objective of this change is to remove all calls to
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.
A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack. This changes nothing for chrome, but it
impacts skia test programs.
Review URL: https://codereview.chromium.org/16040002
git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:39:08 +00:00
junov@chromium.org
7070f76b90
Adding setSurface public API method to SkDeferredCanvas
...
The purpose of this change is to provide an API that Blink 2D canvas layers can use
to install a new render target when recovering from a lost graphics context.
Review URL: https://codereview.chromium.org/15896005
git-svn-id: http://skia.googlecode.com/svn/trunk@9276 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-24 17:13:00 +00:00
junov@chromium.org
5ee449af74
Fixing viral copy/paste typo Shapshot -> Snapshot
...
Unreviewed
git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 20:20:50 +00:00
junov@chromium.org
67d7422844
Adding SkSurface support to SkDeferredCanvas
...
Review URL: https://codereview.chromium.org/14178002
git-svn-id: http://skia.googlecode.com/svn/trunk@8648 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-12 13:33:01 +00:00
robertphillips@google.com
5990397d08
Address google3 compiler warning
...
https://codereview.appspot.com/7308063/
git-svn-id: http://skia.googlecode.com/svn/trunk@7655 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 21:02:23 +00:00
reed@google.com
4ed0fb7684
revert 6766, thereby re-landing 6762-6763 now that the bots are ready
...
git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 20:48:18 +00:00
reed@google.com
25c1408c3d
revert 6762-6763, since those require new skps to be generated, and we can't
...
do that immediately right now... will re-submit when we can.
git-svn-id: http://skia.googlecode.com/svn/trunk@6766 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:15:31 +00:00
reed@google.com
68d61ed83e
make RRect and Oval first-class drawing primitives in SkCanvas.
...
add RRect as a first-class clip primitive.
Review URL: https://codereview.appspot.com/6923058
git-svn-id: http://skia.googlecode.com/svn/trunk@6762 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-12-12 19:02:53 +00:00
sugoi@google.com
7775fd5779
Deferred canvas can now be flushed if an image is beyond a certain size to avoid a costly image copy.
...
BUG=http://code.google.com/p/chromium/issues/detail?id=137924
TEST=TestDeferredCanvasBitmapSizeThreshold unit test
Review URL: https://codereview.appspot.com/6852071
git-svn-id: http://skia.googlecode.com/svn/trunk@6527 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-21 15:47:04 +00:00
junov@google.com
52a00cac51
Adding virtual method to SkDeferredCanvas::NotificationClient for signaling when commands are skipped due to the skip on clear optimization.
...
TEST=DeferredCanvas unit test
BUG=http://code.google.com/p/chromium/issues/detail?id=116840
Review URL: https://codereview.appspot.com/6590050
git-svn-id: http://skia.googlecode.com/svn/trunk@5747 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 15:27:14 +00:00
junov@chromium.org
a38dfb6981
Adding hasPendingCommands API method to SkDeferredCanvas
...
BUG=http://code.google.com/p/chromium/issues/detail?id=146178
Review URL: https://codereview.appspot.com/6550050
git-svn-id: http://skia.googlecode.com/svn/trunk@5632 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 22:10:33 +00:00
junov@chromium.org
fb10389403
Adding a silent playback option to SkGPipeRead
...
Testing state consistency after silent playback in CanvasTest indirectly
through SkDeferredCanvas.
BUG=http://code.google.com/p/chromium/issues/detail?id=146178
TEST=CanvasTest unit test, and bench with --mode deferredSilent
Review URL: https://codereview.appspot.com/6542047
git-svn-id: http://skia.googlecode.com/svn/trunk@5619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 19:35:43 +00:00
reed@google.com
7112173c3c
re-re-land 5578
...
will follow w/ new .skp files to keep the waterfall green (I hope)
git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 15:14:33 +00:00
reed@google.com
10f9f4a844
revert 5580
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 14:04:54 +00:00
reed@google.com
eab16dea1c
re-land 5578 w/ pipe fix
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 13:47:20 +00:00
reed@google.com
c75c36a14b
revert 5578 -- broke pipe
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 13:20:52 +00:00