Commit Graph

572 Commits

Author SHA1 Message Date
reed@google.com
c0784dbd40 remove SkScalarCompare type and header
BUG=
R=fmalita@chromium.org

Review URL: https://codereview.chromium.org/113193004

git-svn-id: http://skia.googlecode.com/svn/trunk@12681 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 21:16:12 +00:00
commit-bot@chromium.org
91246b9fc7 Update documentation around drawBitmap and shaders
R=reed@google.com

Author: djsollen@google.com

Review URL: https://codereview.chromium.org/105823004

git-svn-id: http://skia.googlecode.com/svn/trunk@12507 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 15:43:19 +00:00
commit-bot@chromium.org
644629c1c7 Implement a benchmark for GrResourceCache
Adds "grresourcecache_add" and "grresourcecache_find" bench tests to test
GrResourceCache::add and GrResourceCache::find. The tests work only
with GPU backends, since GrResourceCache needs an GrGpu.

Modifies bench tests to override SkBenchmark::isSuitableFor(Backend)
function that specifies what kind of backend the test is inteded
for. This replaces the previous "fIsRendering" flag that would
indicate test that did no rendering.

Adds SkCanvas::getGrContext() call to get the GrContext that the
canvas ends up drawing to. The member function solves a common
use-case that is also used in the benchmark added here.

R=mtklein@google.com, bsalomon@google.com

Author: kkinnunen@nvidia.com

Review URL: https://codereview.chromium.org/73643005

git-svn-id: http://skia.googlecode.com/svn/trunk@12334 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-21 06:21:58 +00:00
commit-bot@chromium.org
e61a86cfa0 Guard against most unintentionally ephemeral SkAutoFoo instantiations.
I think I applied the trick everywhere possible.  Limitations:
    - can't be used with templated classes
    - all constructors and destructors must be defined inline

A couple of the SkAutoFoo were unused in Skia, Chromium, and Android, so I
deleted them.  This change caught the same bugs Cary found in SkPath, plus one
more in SampleApp.

BUG=
R=reed@google.com, caryclark@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/72603005

git-svn-id: http://skia.googlecode.com/svn/trunk@12301 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-18 16:03:59 +00:00
reed@google.com
5308c83a36 drawPosTextOnPath is now deprecated, removing all overrides and impls
BUG=
R=djsollen@google.com

Review URL: https://codereview.chromium.org/61743017

git-svn-id: http://skia.googlecode.com/svn/trunk@12270 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-13 15:22:15 +00:00
reed@google.com
4469938e92 Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning""
This reverts commit 1e787c38fa71f2a21fd728f1b1d620b9b09b0d3d.

BUG=

Review URL: https://codereview.chromium.org/54603004

git-svn-id: http://skia.googlecode.com/svn/trunk@12057 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 17:28:30 +00:00
reed@google.com
6fcbfcead5 Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning"
This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497.

git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:31:11 +00:00
reed@google.com
081560e3ab add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers a warning
BUG=
R=robertphillips@google.com, senorblanco@chromium.org, vandebo@chromium.org

Review URL: https://codereview.chromium.org/51033004

git-svn-id: http://skia.googlecode.com/svn/trunk@12055 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-31 16:24:08 +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
commit-bot@chromium.org
2887119a63 save/restore the canvas around every bench draw call
BUG=

Committed: http://code.google.com/p/skia/source/detail?r=11728

R=djsollen@google.com, reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/26848013

git-svn-id: http://skia.googlecode.com/svn/trunk@11755 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-14 15:28:01 +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
robertphillips@google.com
31acc11977 Fix name of "bleed" flag
https://codereview.chromium.org/22812014/



git-svn-id: http://skia.googlecode.com/svn/trunk@10805 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 12:13:48 +00:00
skia.committer@gmail.com
7475811143 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@10790 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-17 07:01:54 +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
djsollen@google.com
d4236574cf Prevent picture recording from over optimizing the culling of clips.
BUG=skia:1496
R=mtklein@google.com, reed@google.com, robertphillips@google.com

Review URL: https://codereview.chromium.org/22875008

git-svn-id: http://skia.googlecode.com/svn/trunk@10689 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-13 14:29:06 +00:00
reed@google.com
1cc07d940f Revert "Add SkCanvas::drawPosTextBounded."
This reverts commit e158aea941a6202a40b75fcee013d002089854bb.

This was an experimental API change. We will reintroduce this feature
with a different API approach, and support it w/ detailed testing
and performance measurements.

BUG=
R=robertphillips@google.com

Review URL: https://codereview.chromium.org/22861002

git-svn-id: http://skia.googlecode.com/svn/trunk@10680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 15:40:11 +00:00
commit-bot@chromium.org
2515242ee0 Add SkCanvas::drawPosTextBounded.
This allows subclasses which need bounding box information to get it
from the caller if it has already been computed.

BUG=chromium:269080
R=reed@google.com, tomhudson@chromium.org, tomhudson@google.com

Author: jbroman@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22585002

git-svn-id: http://skia.googlecode.com/svn/trunk@10612 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-07 16:22:47 +00:00
robertphillips@google.com
631a59b939 added drawVertices path to GameBench
https://codereview.chromium.org/21168006/



git-svn-id: http://skia.googlecode.com/svn/trunk@10459 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-31 14:57:53 +00:00
robertphillips@google.com
9bf380ce7f drawBitmap* cleanup
https://codereview.chromium.org/19977003/



git-svn-id: http://skia.googlecode.com/svn/trunk@10342 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-07-25 12:10:42 +00:00
skia.committer@gmail.com
a5d3e77420 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@9343 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-30 07:01:29 +00:00
junov@chromium.org
ed8d6bb2be Moving updateClipConservativelyUsingBounds into SkCanvas
This method is being moved from SkPictureRecord to become a protected member of SkCanvas so that other classes derived from SkCanvas can use it.
This Patch also applies the fix provided by updateClipConservativelyUsingBounds to SkPictureUtils::GatherPixelRefs

BUG=https://code.google.com/p/chromium/issues/detail?id=244893

Review URL: https://codereview.chromium.org/15894005

git-svn-id: http://skia.googlecode.com/svn/trunk@9326 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 19:09:48 +00:00
robertphillips@google.com
0a4805e33f First pass at Comment API
https://codereview.chromium.org/13957009/



git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:24:23 +00:00
caryclark@google.com
45a75fb4d0 path ops : make it real
Add an option to SkCanvas to turn on path
ops when combining clips. 

Allow Op() to use one of the input paths
as an output path.

Fix a bug in Op() when the minuend is empty
and the subtrahend is not (for difference).

Change the build to allow core to depend on pathops.
Review URL: https://codereview.chromium.org/14474002

git-svn-id: http://skia.googlecode.com/svn/trunk@8855 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-25 13:34:40 +00:00
junov@chromium.org
45c3db827d Fixed bug in SkSurface_Gpu to make the surface receive the new copy when copy
on write happens.
Review URL: https://codereview.chromium.org/13195002

git-svn-id: http://skia.googlecode.com/svn/trunk@8622 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 17:52:05 +00:00
reed@google.com
8d3cd7a170 clone of https://codereview.appspot.com/7208043/
Review URL: https://codereview.appspot.com/7232062

git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 21:36:11 +00:00
djsollen@google.com
a44de9617a Update documentation around picture playback.
Review URL: https://codereview.appspot.com/7034045

git-svn-id: http://skia.googlecode.com/svn/trunk@6967 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-02 16:59:19 +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
reed@google.com
f6c9a5ba5c add restore() to SkAutoCanvasRestore
git-svn-id: http://skia.googlecode.com/svn/trunk@6505 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-20 15:12:21 +00:00
reed@google.com
260eae59b4 move setDevice() to protected: in preparation for its eventual demise
git-svn-id: http://skia.googlecode.com/svn/trunk@6416 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 19:07:24 +00:00
reed@google.com
cd5f7e2222 mark SkCanvas::setDevice as DEPRECATED -- need to remove all callers in chrome
git-svn-id: http://skia.googlecode.com/svn/trunk@6414 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-14 14:40:07 +00:00
caryclark@google.com
8f0a7b8e73 Add temporary interfaces in blur and clip to
permit testing if it is to our advantage
to selectively disable soft clipping and
high quality blurs during animations.
Review URL: https://codereview.appspot.com/6812092

git-svn-id: http://skia.googlecode.com/svn/trunk@6328 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-11-07 14:54:49 +00:00
skia.committer@gmail.com
fc84359aa9 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-11 02:01:14 +00:00
bsalomon@google.com
a6926b1f03 Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a partial revert of r5871 which reverted r5861).
Unreviewed
Review URL: https://codereview.appspot.com/6631062

git-svn-id: http://skia.googlecode.com/svn/trunk@5881 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-10 15:25:50 +00:00
robertphillips@google.com
3fffb2ee9f Reverting r5861 (remove gainfocus and setMatixClip) due to Chrome compilation issues
git-svn-id: http://skia.googlecode.com/svn/trunk@5871 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 22:30:18 +00:00
bsalomon@google.com
a1c3d78f22 Remove gainFocus() and setMatrixClip() virtuals from SkDevice.
R=reed@google.com,robertphillips@google.com
Review URL: https://codereview.appspot.com/6636050

git-svn-id: http://skia.googlecode.com/svn/trunk@5861 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-09 14:20:37 +00:00
bsalomon@google.com
0e354aacd8 Remove external matrix feature.
We haven't been testing this for nearly two years.

R=reed@google.com
Review URL: https://codereview.appspot.com/6640044

git-svn-id: http://skia.googlecode.com/svn/trunk@5857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-08 20:44:25 +00:00
reed@google.com
dde646afb5 re-land removal of setBitmapDevice
git-svn-id: http://skia.googlecode.com/svn/trunk@5746 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-01 14:58:57 +00:00
robertphillips@google.com
35e535a10f Rolling back r5732 due to Chrome Mac compiler issues
git-svn-id: http://skia.googlecode.com/svn/trunk@5744 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-30 21:05:15 +00:00
reed@google.com
768d59b97d remove setBitmapDevice -- no longer called, and is a necessary step on our way
to removing setDevice (and hopefully getDevice after that).



git-svn-id: http://skia.googlecode.com/svn/trunk@5732 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-28 20:59:03 +00:00
mike@reedtribe.org
74bb77ee4c add getMetaData() to SkCanvas (as part of our master plan to remove
subclasses of SkCanvas and SkDevice from our clients.



git-svn-id: http://skia.googlecode.com/svn/trunk@5679 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-26 02:24:45 +00:00
skia.committer@gmail.com
c1ad022608 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5594 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-19 02:01:47 +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
reed@google.com
f1ab723033 Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. This
allows the client more control over the scaling. Because of virtual overrides
and wanting to keep the old call-sites up and running, this CL renames the
virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to
a non-virtual helper function.

The implementation is to use the float-rect for computing the matrix, but still
cons-up an integer rect for the purposes of subsetting the original bitmap. We
do this by calling float_src->roundOut(&int_src) so that we include all
(partially) covered src pixels.

No change needed on SkDevice, since that signature is explicitly passed the
computed matrix.
Review URL: https://codereview.appspot.com/6501140

git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-18 12:59:44 +00:00
reed@google.com
97af1a64ae Add caching of the snapshot image form a surface
Notify the surface when the canvas draws into it, so it can invalidate the
cached image, and (if needed) perform a copy-on-write on the surface if it
was being shared with the image.
Review URL: https://codereview.appspot.com/6441115

git-svn-id: http://skia.googlecode.com/svn/trunk@5306 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 12:19:02 +00:00
reed@google.com
3b3e895df6 remove EdgeType enum. Unimportant distinction, and removing speeds up quickReject
Review URL: https://codereview.appspot.com/6448161

git-svn-id: http://skia.googlecode.com/svn/trunk@5140 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 20:53:31 +00:00
justinlin@google.com
20a550c6ea Add virtual destructor to class with virtual functions.
BUG=
TEST=

Review URL: https://codereview.appspot.com/6453052

git-svn-id: http://skia.googlecode.com/svn/trunk@4810 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 17:37:12 +00:00
robertphillips@google.com
40a1ae4df2 Added SkDevice onAttachToCanvas & onDetachFromCanvas methods
http://codereview.appspot.com/6348100/



git-svn-id: http://skia.googlecode.com/svn/trunk@4598 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 15:36:15 +00:00
robertphillips@google.com
15e9d3e66e Expanded distribution of instance counting
http://codereview.appspot.com/6300114/



git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-21 20:25:03 +00:00
tomhudson@google.com
1f90287df3 Punctuation cleanup to satisfy idiosyncracies of OpenBSD gcc 4.2.1.
Original patch by landry.breuil.

http://code.google.com/p/skia/issues/detail?id=626



git-svn-id: http://skia.googlecode.com/svn/trunk@4112 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-01 13:15:47 +00:00
reed@google.com
90c07ea1d0 replace getTotalClipStack() with replayClips()+ClipVisitor
git-svn-id: http://skia.googlecode.com/svn/trunk@3670 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-13 13:50:27 +00:00
reed@google.com
a707f60874 mark getTotalClip as deprecated
remove unimplemented (and duplicate) getTotalClipBounds



git-svn-id: http://skia.googlecode.com/svn/trunk@3661 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 16:12:16 +00:00
junov@chromium.org
b0a7ace7cb Renaming SkCanvas::fLayerCount to fSaveLayerCount for readability
REVIEW=http://codereview.appspot.com/5992047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-05 18:33:23 +00:00
reed@google.com
8926b169f6 apply imagefilter to all draw calls
Review URL: https://codereview.appspot.com/5856048

git-svn-id: http://skia.googlecode.com/svn/trunk@3476 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 15:36:36 +00:00
reed@google.com
0b53d59a24 add optional updateMatrixClip param to getTopDevice(). Chrome should set this
only when it is needed, and in doing so it can stop using the layeriter just
to get its top device.



git-svn-id: http://skia.googlecode.com/svn/trunk@3432 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 18:26:34 +00:00
reed@google.com
49794c0cbd make commonBitmap un-virtual. That was a leftover from previous subclassing
I think.



git-svn-id: http://skia.googlecode.com/svn/trunk@3394 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 12:10:47 +00:00
djsollen@google.com
92d2a299d2 reapply r3259 (that was reverted) with fix.
The SkASSERT was incorrect and failing on debug runs.
Review URL: https://codereview.appspot.com/5699071

git-svn-id: http://skia.googlecode.com/svn/trunk@3263 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-27 16:17:59 +00:00
junov@chromium.org
a907ac3e3e Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:54:07 +00:00
djsollen@google.com
3cc0d8a6f0 reverting r3259 because of gm/test failure.
git-svn-id: http://skia.googlecode.com/svn/trunk@3260 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:21:51 +00:00
djsollen@google.com
42bbef71c7 Enable quickRejectY in SkCanvas to be inlined.
This CL was tested against the picturePlayback bench and
showed an approx 10-13% improvement on Android when playing
back text.
Review URL: https://codereview.appspot.com/5687083

git-svn-id: http://skia.googlecode.com/svn/trunk@3259 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:03:42 +00:00
junov@chromium.org
0b5b0ce39c reverting r3257 because of gm failure.
git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:44:56 +00:00
junov@chromium.org
421bcc375a Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.

BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/



git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:07:08 +00:00
junov@chromium.org
8f9ecbd346 Adding API and unit testing for deferred canvas clearing/purging
REVIEW=http://codereview.appspot.com/5646057/
TEST=DeferredCanvas unit test



git-svn-id: http://skia.googlecode.com/svn/trunk@3181 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-13 21:53:45 +00:00
junov@chromium.org
bf6c1e4aff Adding a flush method to SkCanvas
BUG=http://code.google.com/p/skia/issues/detail?id=467
REVIEW=http://codereview.appspot.com/5600044/
TEST=gm uses the new code path on all its test cases



git-svn-id: http://skia.googlecode.com/svn/trunk@3102 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-30 14:53:22 +00:00
vandebo@chromium.org
74b4619616 Formatting cleanup: remove extra whitespace
Change by arthurhsu@chromium.org, original CL: http://codereview.appspot.com/5587049/

Review URL: https://codereview.appspot.com/5594043

git-svn-id: http://skia.googlecode.com/svn/trunk@3098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-28 01:45:11 +00:00
junov@google.com
4370aedf7f Adding class SkDeferredCanvas for deferred rendering.
TEST=added a new pass to gm, so all gm tests are run through SkDeferredCanvas
REVIEW=http://codereview.appspot.com/5430058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3059 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-01-18 16:21:08 +00:00
reed@google.com
7c2029367c add canvas::isDrawingToLayer(), as a fast query for chrome; faster than
setting up a drawiter and counting the layers.



git-svn-id: http://skia.googlecode.com/svn/trunk@2875 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-12-14 18:48:05 +00:00
bsalomon@google.com
d58a1cd00b Add config8888 support to writePixels
Review URL: http://codereview.appspot.com/5374052/



git-svn-id: http://skia.googlecode.com/svn/trunk@2662 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-10 20:57:43 +00:00
djsollen@google.com
56c69773ae Update files to use SK_BUILD_FOR_ANDROID.
This CL also removes any unecessary references to
the ANDROID definition.
Review URL: http://codereview.appspot.com/5354049

git-svn-id: http://skia.googlecode.com/svn/trunk@2629 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-08 19:00:26 +00:00
bsalomon@google.com
6850eab42b Override 32BPP format in SkCanvas::readPixels
Review URL: http://codereview.appspot.com/5330073/



git-svn-id: http://skia.googlecode.com/svn/trunk@2600 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-03 20:29:47 +00:00
bsalomon@google.com
daba14b7d4 Line-endings only change (some windows line-endings snuck in)
git-svn-id: http://skia.googlecode.com/svn/trunk@2588 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 20:10:48 +00:00
bsalomon@google.com
c69809745e Recommit r2584 with gpu pass of the new ReadPixels test disabled in fixed pt (gpu code doesn't work in general in fixed pt).
git-svn-id: http://skia.googlecode.com/svn/trunk@2586 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:57:21 +00:00
bsalomon@google.com
ace7bd5623 Revert r2584 (new test fails in fixed pt builds)
git-svn-id: http://skia.googlecode.com/svn/trunk@2585 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:39:51 +00:00
bsalomon@google.com
1a8ddf0a35 Changes the SkCanvas::readPixels API. Allows caller to read into prealloced bitmap pixels. Changes how clipping to device bounds is handled.
Review URL: http://codereview.appspot.com/5307077/



git-svn-id: http://skia.googlecode.com/svn/trunk@2584 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-02 19:34:16 +00:00
reed@google.com
210ce003a5 add getDeviceSize() so callers won't need to call getDevice() so much
... we hope to make devices private in the future



git-svn-id: http://skia.googlecode.com/svn/trunk@2577 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-11-01 14:24:23 +00:00
reed@google.com
071eef918d add bool argument to canvas' clipRect and clipPath for antialiasing
(currently ignored)



git-svn-id: http://skia.googlecode.com/svn/trunk@2459 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-12 11:52:53 +00:00
reed@google.com
5e2457ef2e add getTotalClipBounds() as a partial replacement for getTotalClip. This can be
faster than getTotalClip, since it doesn't need to compute the actual complex
region for the answer.



git-svn-id: http://skia.googlecode.com/svn/trunk@2452 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-10 21:24:37 +00:00
bsalomon@google.com
fa6ac938e6 Fixup rendering of empty paths (including inverted fills)
Add GM and Sample that draw empty paths with various styles and fills

Review URL: http://codereview.appspot.com/5185047/



git-svn-id: http://skia.googlecode.com/svn/trunk@2414 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-10-05 19:57:55 +00:00
tomhudson@google.com
bcb671c82a Add SkCanvas::getClipDescription() and getClipDeviceBounds() so clients don't
need to explicitly get the exact clip & compute those values themselves. (We
may be able to provide description/bounds more cheaply than the exact clip.)



git-svn-id: http://skia.googlecode.com/svn/trunk@2255 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-13 15:07:58 +00:00
reed@google.com
f0b5e1190a add drawBitmapNine to canvas
will add to device soon I think



git-svn-id: http://skia.googlecode.com/svn/trunk@2233 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-09-07 11:57:34 +00:00
bungeman@google.com
52c748b169 Gpu can draw underlined text.
http://codereview.appspot.com/4919047/


git-svn-id: http://skia.googlecode.com/svn/trunk@2154 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-08-22 21:30:43 +00:00
epoger@google.com
ec3ed6a5eb Automatic update of all copyright notices to reflect new license terms.
I have manually examined all of these diffs and restored a few files that
seem to require manual adjustment.

The following files still need to be modified manually, in a separate CL:

android_sample/SampleApp/AndroidManifest.xml
android_sample/SampleApp/res/layout/layout.xml
android_sample/SampleApp/res/menu/sample.xml
android_sample/SampleApp/res/values/strings.xml
android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java
android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java
experimental/CiCarbonSampleMain.c
experimental/CocoaDebugger/main.m
experimental/FileReaderApp/main.m
experimental/SimpleCocoaApp/main.m
experimental/iOSSampleApp/Shared/SkAlertPrompt.h
experimental/iOSSampleApp/Shared/SkAlertPrompt.m
experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig
experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig
gpu/src/android/GrGLDefaultInterface_android.cpp
gyp/common.gypi
gyp_skia
include/ports/SkHarfBuzzFont.h
include/views/SkOSWindow_wxwidgets.h
make.bat
make.py
src/opts/memset.arm.S
src/opts/memset16_neon.S
src/opts/memset32_neon.S
src/opts/opts_check_arm.cpp
src/ports/SkDebug_brew.cpp
src/ports/SkMemory_brew.cpp
src/ports/SkOSFile_brew.cpp
src/ports/SkXMLParser_empty.cpp
src/utils/ios/SkImageDecoder_iOS.mm
src/utils/ios/SkOSFile_iOS.mm
src/utils/ios/SkStream_NSData.mm
tests/FillPathTest.cpp
Review URL: http://codereview.appspot.com/4816058

git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-28 14:26:00 +00:00
epoger@google.com
4f1151ab27 Documentation only: add warning to SkCanvas::writePixels() that this operation
will not be recorded by SkPicture.
Review URL: http://codereview.appspot.com/4815054

git-svn-id: http://skia.googlecode.com/svn/trunk@1947 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-25 15:47:33 +00:00
reed@google.com
6dc745506e remove forward declaration and reference to extinct SkDeviceFactory
git-svn-id: http://skia.googlecode.com/svn/trunk@1931 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-21 18:00:46 +00:00
reed@google.com
cde92111d5 remove SkDeviceFactory from the collective consciousness, now that devices know
how to create compatible siblings.



git-svn-id: http://skia.googlecode.com/svn/trunk@1808 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-07-06 20:00:52 +00:00
reed@google.com
5667afc5cb remove drawShape from canvas api
git-svn-id: http://skia.googlecode.com/svn/trunk@1723 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-27 14:42:15 +00:00
bsalomon@google.com
e97f0856a8 Add createNewCompatibleDevice. Allow devices to have a NULL factory and saveLayer will fall back on createNewCompatibleDevice.
Review URL: http://codereview.appspot.com/4633044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1625 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-17 13:10:25 +00:00
reed@google.com
af951c9bc4 make SkDevice constructors explicit between offscreen and on/direct
http://codereview.appspot.com/4632044/



git-svn-id: http://skia.googlecode.com/svn/trunk@1620 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-06-16 19:10:39 +00:00
reed@google.com
3048d4fd4e remove deprecated getViewport/setViewport
git-svn-id: http://skia.googlecode.com/svn/trunk@1235 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-05-04 13:50:34 +00:00
mike@reedtribe.org
ea4ac97dec make SkDeviceFactory reference counted
git-svn-id: http://skia.googlecode.com/svn/trunk@1180 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-26 11:48:33 +00:00
reed@google.com
2a98181f04 add SkCanvas::clear(SkColor color) to call the new virtual clear on device.
git-svn-id: http://skia.googlecode.com/svn/trunk@1131 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-14 18:59:28 +00:00
reed@google.com
24fb8e2cce mark viewport APIs as deprecated
git-svn-id: http://skia.googlecode.com/svn/trunk@1108 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-04-11 19:42:50 +00:00
reed@google.com
9266fed56a add getTopLayer(), so clients don't have to use a LayerIter just to get
the top. (very common for chrome)



git-svn-id: http://skia.googlecode.com/svn/trunk@1016 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-30 00:18:03 +00:00
ctguil@chromium.org
7ffb1b21ab Add code needed to build skia as a windows dll within the chromium project.
- Export/import skia APIs if SKIA_DLL is defined.
- This change has no effect on skia.

Review URL: http://codereview.appspot.com/4282042

git-svn-id: http://skia.googlecode.com/svn/trunk@944 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-15 21:27:08 +00:00
djsollen@google.com
cd9d69b9ce Upstreaming changes from android.
- fix compile warnings in the GPU code
- upstream android specific code (ifdef protected)
- fail gracefully when a custom allocator fails



git-svn-id: http://skia.googlecode.com/svn/trunk@936 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-14 20:30:14 +00:00
bsalomon@google.com
d302f1401b Add support for clipstack to Gr. GrClip is now a list of rects and paths with set operations to combine them. The stencil buffer is used to perform the set operations to put the clip into the stencil buffer. Building Gr's clip from Skia's clipStack is currently disabled due to the fact that Skia's clipStack is relative to the root layer not the current layer. This will be fixed in a subsequent CL.
git-svn-id: http://skia.googlecode.com/svn/trunk@878 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-03-03 13:54:13 +00:00
reed@google.com
7d7ca79c3e add fClipStack optional field to SkDraw (it is always set by canvas)
git-svn-id: http://skia.googlecode.com/svn/trunk@844 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-23 22:39:18 +00:00
reed@google.com
5c3d1471e4 add clipstack to canvas. not used yet, but will be for devices (e.g. gpu) that
want to see how the clip was built



git-svn-id: http://skia.googlecode.com/svn/trunk@824 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-22 19:12:23 +00:00
reed@google.com
3dd42b3c87 update dox for readPixels()
git-svn-id: http://skia.googlecode.com/svn/trunk@772 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-02-07 22:44:43 +00:00
reed@google.com
4b22602383 add getter/setter for device-factory on canvas
git-svn-id: http://skia.googlecode.com/svn/trunk@683 2bbb7eff-a529-9590-31e7-b0007b416f81
2011-01-11 18:32:13 +00:00
reed@google.com
51df9e3fe3 add gpu to gm tool
add pass-through read/write pixels API to canvas



git-svn-id: http://skia.googlecode.com/svn/trunk@660 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-23 19:29:18 +00:00
reed@android.com
f2b98d67dc merge with changes for GPU backend
git-svn-id: http://skia.googlecode.com/svn/trunk@637 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-12-20 18:26:13 +00:00
vandebo@chromium.org
b70ae310bb Fix a memory leak in the new Canvas/Device workflow.
The previous change made it difficult to inherit from SkCanvas without leaking memory.  By making SkDeviceFactory not reference counted, the right thing happens more naturally, just NewCanvas : public SkCanvas(new NewDeviceFactory()) {...}

Review URL: http://codereview.appspot.com/2530042

git-svn-id: http://skia.googlecode.com/svn/trunk@605 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-15 18:58:19 +00:00
vandebo@chromium.org
8d84fac294 Refactor SkCanvas so that backends don't need to override it.
Methods or classes that should go away are marked deprecated. The only thing I know of that breaks backward compatibility is SkCanvas((SkDevice*)NULL), but that is fairly unlikely to occur in the wild because that constructor had a default value of NULL.

Review URL: http://codereview.appspot.com/2103045

git-svn-id: http://skia.googlecode.com/svn/trunk@604 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-10-13 22:13:05 +00:00
reed@android.com
4040861465 oops, also update dox for saveLayerAlpha
git-svn-id: http://skia.googlecode.com/svn/trunk@585 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-02 17:24:23 +00:00
reed@android.com
ad164b2025 update dox for saveLayer()
git-svn-id: http://skia.googlecode.com/svn/trunk@584 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-07-02 17:20:51 +00:00
reed@android.com
dc3381fc81 update save/restore comments to mention that the drawFilter is also saved
add wrapper for harfbuzz font/fontclass



git-svn-id: http://skia.googlecode.com/svn/trunk@500 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-11 16:05:15 +00:00
reed@android.com
ba09de4c4b respect edgetype in quickreject
git-svn-id: http://skia.googlecode.com/svn/trunk@489 2bbb7eff-a529-9590-31e7-b0007b416f81
2010-02-05 20:46:05 +00:00
reed@android.com
cb60844b34 add drawData() to canvas, to record data blobs
git-svn-id: http://skia.googlecode.com/svn/trunk@452 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-12-04 21:32:27 +00:00
reed@android.com
845fdaca17 remove deprecated use of porterduff enum
git-svn-id: http://skia.googlecode.com/svn/trunk@235 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-23 03:01:32 +00:00
reed@android.com
199f108f14 only call SkDevice::gainFocus() if we're actually drawing to a different device.
Saves overhead when using GL.



git-svn-id: http://skia.googlecode.com/svn/trunk@207 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-06-10 02:12:47 +00:00
reed@android.com
f76bacff7f add SkSize for dimensions
add SkShape baseclass, in the hopes of having SkPicture inherit from that, and 
also using shapes as the extension mechanism for things like animated-gif



git-svn-id: http://skia.googlecode.com/svn/trunk@174 2bbb7eff-a529-9590-31e7-b0007b416f81
2009-05-13 14:00:33 +00:00
reed@android.com
8a1c16ff38 grab from latest android
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
2008-12-17 15:59:43 +00:00