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
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
rmistry@google.com
fbfcd56021
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part I of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6485054
git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:09:54 +00:00
junov@chromium.org
5280548558
Stop refcounting SkDeferredCanvas::NotificationClient
...
User code (i.e. WebKit) is now responsible for the lifetime scope of the notification client.
With http://trac.webkit.org/changeset/125804 skia-side ref counting has become unnecessary and undesirable.
Review URL: https://codereview.appspot.com/6443146
git-svn-id: http://skia.googlecode.com/svn/trunk@5169 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 14:25:04 +00:00
junov@chromium.org
d433c4eb67
Cleaning up deprecated API in SkDeferredCanvas
...
Review URL: https://codereview.appspot.com/6461077
git-svn-id: http://skia.googlecode.com/svn/trunk@5152 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-17 14:50:16 +00:00
bungeman@google.com
e8f0592ae8
DirectWrite font host for skia.
...
https://codereview.appspot.com/5417063/
git-svn-id: http://skia.googlecode.com/svn/trunk@5128 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 16:13:40 +00:00
robertphillips@google.com
a22e2117e4
Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)
...
http://codereview.appspot.com/6453127/
git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 14:58:06 +00:00
junov@chromium.org
9ed02b9da2
Augmenting SkDeferredCanvas notification interface to signal flushes and memory allocations
...
Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient
BUG=http://code.google.com/p/chromium/issues/detail?id=136828
TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost.
Review URL: https://codereview.appspot.com/6442108
git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 13:36:26 +00:00
junov@chromium.org
88e29146c1
Moving DeferredDevice and DeferredGPipeController classes out of the deferred canvas API header
...
Review URL: https://codereview.appspot.com/6449104
git-svn-id: http://skia.googlecode.com/svn/trunk@4989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:48:22 +00:00
junov@chromium.org
3de7acc180
Removing the SkPicture backend from SkDeferredCanvas code
...
Review URL: https://codereview.appspot.com/6446095
git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:53:59 +00:00
junov@chromium.org
2e14ba8ceb
Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage externally
...
BUG=http://code.google.com/p/chromium/issues/detail?id=136828
Review URL: https://codereview.appspot.com/6454102
git-svn-id: http://skia.googlecode.com/svn/trunk@4971 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:26:57 +00:00
junov@chromium.org
d122fd5ab5
Turning on deferred canvas SkGPipe backend by default
...
Review URL: https://codereview.appspot.com/6452080
git-svn-id: http://skia.googlecode.com/svn/trunk@4897 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:00:03 +00:00
scroggo@google.com
15011ee5e4
Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.
...
SkGPipe now has a method to report how much memory is used for its shared heap.
BUG=http://code.google.com/p/skia/issues/detail?id=738
TEST=DeferredCanvasTest
Review URL: https://codereview.appspot.com/6445046
git-svn-id: http://skia.googlecode.com/svn/trunk@4791 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 20:03:32 +00:00
junov@chromium.org
b10a6bd0a7
Refactoring how SkDeferredCanvas manages mutable bitmaps
...
This CL makes the SkGPipe flavor of SkDeferredCanvas properly
decide whether to flush or record mutable bitmaps. The flushing
is now managed by conditionally switching the canvas to non-deferred
mode, which avoids an unnecessary transient copy of the bitmap.
BUG=http://code.google.com/p/chromium/issues/detail?id=137884
TEST=DeferredCanvas unit test, sub test TestDeferredCanvasMemoryLimit
Review URL: https://codereview.appspot.com/6421060
git-svn-id: http://skia.googlecode.com/svn/trunk@4756 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 17:27:13 +00:00
bungeman@google.com
0eec2d0486
Remove SkSfntUtils, as it is not longer used.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 17:50:25 +00:00
bungeman@google.com
aa8483b49d
SkSfntUtils should use public types.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 17:34:41 +00:00
junov@chromium.org
8317e17448
Response to post-commit review comments on r4714
...
Correcting formatting and adding const in SkDeferredCanvas.h
Unreviewed
git-svn-id: http://skia.googlecode.com/svn/trunk@4718 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 14:17:45 +00:00
junov@chromium.org
bfeddae9da
Fix unbound memory consumption problem with run away deferred canvases.
...
With this CL, deferred canvases will trigger a flush when then the
memory allocated for recording commands (including flattened objects)
exceeds 64MB.
TEST=DeferredCanvas skia unit test, test step TestDeferredCanvasMemoryLimit
BUG=http://code.google.com/p/chromium/issues/detail?id=137884
Review URL: https://codereview.appspot.com/6425053
git-svn-id: http://skia.googlecode.com/svn/trunk@4714 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 13:35:14 +00:00
junov@chromium.org
8e1678ff9e
Reverting r4695
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4697 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 18:32:39 +00:00
junov@chromium.org
278de8b3b3
Try turning on the SkGPipe path in SkDeferredCanvas
...
Unreviewed
git-svn-id: http://skia.googlecode.com/svn/trunk@4695 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 18:00:59 +00:00
junov@chromium.org
6a0d010e2d
Fixing heap corruption issue in deferred canvas when using SkGPipe.
...
Swapping the declaration order of fPipeController and fPipeWriter to
make sure that the writer is destroyed first before the controller.
Review URL: https://codereview.appspot.com/6427054
git-svn-id: http://skia.googlecode.com/svn/trunk@4682 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-19 21:00:07 +00:00
junov@chromium.org
77eec248cb
Refactoring SkDeferredCanvas to use SkGPipe.
...
Keeping the refactor hidden behind a config macro for now.
TEST=covered by existing skia gm tests
BUG=https://code.google.com/p/chromium/issues/detail?id=133432
Review URL: https://codereview.appspot.com/6405054
git-svn-id: http://skia.googlecode.com/svn/trunk@4656 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 17:54:45 +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
mike@reedtribe.org
bad1b2ff1d
add SkPath::contains(x, y)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4526 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 01:51:33 +00:00
mike@reedtribe.org
a2a95f9def
experimental hittest for paths (incomplete)
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4437 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-03 02:35:36 +00:00
reed@google.com
563a3b4102
more SkInstCnt plumbing
...
fix some typeface leaks
git-svn-id: http://skia.googlecode.com/svn/trunk@4348 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-26 19:24:50 +00:00
djsollen@google.com
64a0ec3655
Move SkColorTable into its own header and reduce includes in SkFlattenable.h
...
Review URL: https://codereview.appspot.com/6299072
git-svn-id: http://skia.googlecode.com/svn/trunk@4236 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 15:17:27 +00:00
bsalomon@google.com
4151341273
Add SK_API to null canvas create method
...
git-svn-id: http://skia.googlecode.com/svn/trunk@4221 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 15:41:25 +00:00
bsalomon@google.com
19bbd3d02e
Null canvas
...
Review URL: http://codereview.appspot.com/6117051/
git-svn-id: http://skia.googlecode.com/svn/trunk@4220 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 15:39:15 +00:00
robertphillips@google.com
d414406073
Windows compiler complaint cleanup
...
http://codereview.appspot.com/6262047/
git-svn-id: http://skia.googlecode.com/svn/trunk@4098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 15:29:44 +00:00
djsollen@google.com
f0a062bc45
Add device to top level N-way canvas.
...
Review URL: https://codereview.appspot.com/6131062
git-svn-id: http://skia.googlecode.com/svn/trunk@3811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 16:50:25 +00:00
bsalomon@google.com
8a189b0632
Add coverage AA support for SampleApp root layers (windows only)
...
Review URL: http://codereview.appspot.com/6043045/
git-svn-id: http://skia.googlecode.com/svn/trunk@3703 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-17 12:43:00 +00:00
djsollen@google.com
54924243c1
Cleanup code related to SkFlattenable::flatten()
...
The following changes were made by this CL:
1. Make flatten() a protected method as callers should use
SkFlattenableWriteBuffer to flatten an object
2. Make flatten a const method (including subclasses)
3. Mark subclass implementation of flatten with SK_OVERRIDE
4. Ensure overridden flatten impls call their parent
5. Remove no-op implementations of flatten from subclasses
Additionally, if necessary the unflattening constructor was
also moved to the protected section of the subclasses
header if it was not already there.
git-svn-id: http://skia.googlecode.com/svn/trunk@3540 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-29 15:18:04 +00:00
bungeman@google.com
802eee956c
Move SkTextBox.h from utils to views.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3531 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 20:01:06 +00:00
djsollen@google.com
ba28d03e94
Create macro for registering classes for deserialization
...
Review URL: https://codereview.appspot.com/5909063
git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:57:35 +00:00
bungeman@google.com
cbd76ae138
Utils must not depend on Views.
...
http://codereview.appspot.com/5867051/
git-svn-id: http://skia.googlecode.com/svn/trunk@3459 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 20:59:49 +00:00
djsollen@google.com
e63793a2c8
Upstream changes from Android repository.
...
Review URL: https://codereview.appspot.com/5752055
git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 15:39:03 +00:00
junov@chromium.org
5e5a095a94
reverting r3268 because of test failures
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3270 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 15:27:59 +00:00
junov@chromium.org
feba689917
SkDeferredCanvas, performance: small refactor to remove unnecessary conditional branches on all canvas API calls
...
REVIEW=http://codereview.appspot.com/5700086/
git-svn-id: http://skia.googlecode.com/svn/trunk@3268 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-28 15:02:06 +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
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
reed@google.com
61c22047dc
add SkCreateDataProviderFromStream to SkCGUtils
...
implement SkFontHost create_from_file/stream using SkCGUtils
git-svn-id: http://skia.googlecode.com/svn/trunk@3249 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 15:29:00 +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