aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPictureRecord.h
Commit message (Collapse)AuthorAge
* The motivation for this CL is to de-clutter SkPicture's beginRecording method.Gravatar commit-bot@chromium.org2014-03-04
| | | | | | | | | | R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/186813003 git-svn-id: http://skia.googlecode.com/svn/trunk@13658 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of r13620 (add new onClip* methods to SkCanvas - ↵Gravatar robertphillips@google.com2014-02-28
| | | | | | 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
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
* Culling APIGravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** SKP format breaking change *** Adding a couple of culling primitives: pushCull(SkRect) & popCull(). These are currently only plumbed for SKP playback quickreject. At record time, we perform a couple of optimizations to trim down the number of redundant culls: * collapse empty pushCull/popCull pairs * skip pushCull/popCull pairs nested within an identical cull rect Things still missing/to consider: * use an inlineable, simplified quickreject (Mike's old prototype) * debugger visualization for cull boxes * BBH integration: the initial prototype had some minimal BBH support, but since the optimizations required expensive rewinds and culling is expected to be a BBH alternative, it got dropped. R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/138013009 git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkCanvas::drawDRRectGravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com, robertphillips@google.com, humper@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/174243003 git-svn-id: http://skia.googlecode.com/svn/trunk@13524 2bbb7eff-a529-9590-31e7-b0007b416f81
* change PictureRecord (and its private subclasses) to take size instead of deviceGravatar commit-bot@chromium.org2014-02-17
| | | | | | | | | | | BUG=skia: R=mtklein@google.com, scroggo@google.com, reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/168983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13477 2bbb7eff-a529-9590-31e7-b0007b416f81
* still trying to kill setDevice: rename to setRootDevice (better name) and ↵Gravatar commit-bot@chromium.org2014-02-17
| | | | | | | | | | | | | | make private BUG=skia: COLLABORATOR=reed@google.com R=bsalomon@google.com, scroggo@google.com, reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/169023002 git-svn-id: http://skia.googlecode.com/svn/trunk@13476 2bbb7eff-a529-9590-31e7-b0007b416f81
* add peekPixels to SkCanvas and SkSurfaceGravatar commit-bot@chromium.org2014-02-13
| | | | | | | | | | | | | | fix reference to SkBaseDevice, which was only a problem in no-gpu build This reverts commit 4fa44a6bf73891b21917fb90d02beef9143bffa3. R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/163603003 git-svn-id: http://skia.googlecode.com/svn/trunk@13432 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of add peekPixels to SkCanvas and SkSurface ↵Gravatar commit-bot@chromium.org2014-02-13
| | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/161733002/) Reason for revert: compile issues with gm/xfermodes3 Original issue's description: > add peekPixels to SkCanvas and SkSurface > > clone of https://codereview.chromium.org/159723006/ > > Committed: https://code.google.com/p/skia/source/detail?r=13427 R=jvanverth@google.com NOTREECHECKS=true NOTRY=true Author: reed@chromium.org Review URL: https://codereview.chromium.org/163823002 git-svn-id: http://skia.googlecode.com/svn/trunk@13428 2bbb7eff-a529-9590-31e7-b0007b416f81
* add peekPixels to SkCanvas and SkSurfaceGravatar mike@reedtribe.org2014-02-13
| | | | | | | | clone of https://codereview.chromium.org/159723006/ Review URL: https://codereview.chromium.org/161733002 git-svn-id: http://skia.googlecode.com/svn/trunk@13427 2bbb7eff-a529-9590-31e7-b0007b416f81
* Collapse matrix & clip stack in PictureRecordGravatar robertphillips@google.com2014-02-11
| | | | | | | | https://codereview.chromium.org/137093004/ git-svn-id: http://skia.googlecode.com/svn/trunk@13402 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurfaceGravatar reed@google.com2014-02-05
| | | | | | | | | BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/154163002 git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-02-05
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13316 2bbb7eff-a529-9590-31e7-b0007b416f81
* Update SkPictureRecord to allow some ops to be written separatelyGravatar robertphillips@google.com2014-02-04
| | | | | | | | https://codereview.chromium.org/153883002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13311 2bbb7eff-a529-9590-31e7-b0007b416f81
* No deduping dictionaries for matrices and regions.Gravatar commit-bot@chromium.org2014-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | There's little benefit to deduping matrices and regions: they're infrequently used, and doubly infrequently reused. Their use-weighted byte cost is tiny. There is some downside to deduping matrices and regions. Even when they're not used, we prepare dictionaries for deduping them for every picture. Each of these dictionaries costs 160 bytes, so two unused dictionaries make a big chunk of the ~1100 bytes it takes to allocate an SkPictureRecord. (~330 come from parent class SkCanvas, 768 from SkPictureRecord itself, here reduced to 448). One side benefit of not deduping these guys is that the change weighs -140 lines of code. It may go without saying, but this breaks the picture format. Testing: out/Debug/tests && out/Debug/dm (which runs all picture modes by default) BUG=skia:1850 R=reed@google.com, bensong@google.com, robertphillips@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/143883006 git-svn-id: http://skia.googlecode.com/svn/trunk@13149 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | | 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
* Revert "add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it ↵Gravatar reed@google.com2013-10-31
| | | | | | | | triggers a warning" This reverts commit 1d22c4aaf9d8f053f25194a1ed74b137bfb19497. git-svn-id: http://skia.googlecode.com/svn/trunk@12056 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SK_ATTR_DEPRECATED -- will need to disable for chrome, since it triggers ↵Gravatar reed@google.com2013-10-31
| | | | | | | | | | | 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
* Revert "If the path is a rect, call drawRect to raster the geometry in ↵Gravatar bsalomon@google.com2013-10-22
| | | | | | | | | | 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
* If the path is a rect, call drawRect to raster the geometry in ↵Gravatar bsalomon@google.com2013-10-22
| | | | | | | | | | | | 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
* Revert r11842 (call drawRect to try GrAARectRenderer if the path is a rect - ↵Gravatar robertphillips@google.com2013-10-17
| | | | | | | | | | | | 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
* If the path is a rect, call drawRect to raster the geometry in ↵Gravatar commit-bot@chromium.org2013-10-17
| | | | | | | | | | | | 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
* Second wave of Win64 warning cleanupGravatar robertphillips@google.com2013-10-15
| | | | | | | | https://codereview.chromium.org/27343002/ git-svn-id: http://skia.googlecode.com/svn/trunk@11778 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice into SkBaseDevice and SkBitmapDeviceGravatar robertphillips@google.com2013-08-29
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove the call to getFontMetrics from SkBBoxRecordGravatar commit-bot@chromium.org2013-08-22
| | | | | | | | | | R=reed@google.com, caryclark@google.com Author: sglez@google.com Review URL: https://chromiumcodereview.appspot.com/23001007 git-svn-id: http://skia.googlecode.com/svn/trunk@10876 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get ↵Gravatar robertphillips@google.com2013-08-20
| | | | | | Chromium ready. git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
* Split SkDevice out of SkBitmapDeviceGravatar robertphillips@google.com2013-08-20
| | | | | | | | https://codereview.chromium.org/22978012/ git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-08-17
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@10790 2bbb7eff-a529-9590-31e7-b0007b416f81
* This CL plumbs in the drawBitmapRectToRect "bleed" flag and makes it live on ↵Gravatar commit-bot@chromium.org2013-08-16
| | | | | | | | | | | | 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
* Moving updateClipConservativelyUsingBounds into SkCanvasGravatar junov@chromium.org2013-05-29
| | | | | | | | | | | 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
* First pass at Comment APIGravatar robertphillips@google.com2013-05-29
| | | | | | | | https://codereview.chromium.org/13957009/ git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix behavior of SkPicture::kUsePathBoundsForClip_RecordingFlag to handle ↵Gravatar junov@chromium.org2013-05-08
| | | | | | | | | | | inverse fills and all clip ops correctly. BUG=crbug.com/229011 TEST=Picture unit test + complexclip* GMs Review URL: https://codereview.chromium.org/14820021 git-svn-id: http://skia.googlecode.com/svn/trunk@9063 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing SkPicture command pattern optimizations to make them work correctly ↵Gravatar commit-bot@chromium.org2013-03-15
| | | | | | | | | | | | | | | with bounding box hierarchies BUG=https://code.google.com/p/chromium/issues/detail?id=180645 TEST=render_pictures -r <skp_dir> --validate --bbh <grid|rtree> --mode tile 256 256 Author: junov@chromium.org Reviewed By: robertphillips@google.com Review URL: https://chromiumcodereview.appspot.com/12817011 git-svn-id: http://skia.googlecode.com/svn/trunk@8171 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-02-16
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7755 2bbb7eff-a529-9590-31e7-b0007b416f81
* Now store chunk size in skp file formatGravatar robertphillips@google.com2013-02-15
| | | | | | | | https://codereview.appspot.com/7308087/ git-svn-id: http://skia.googlecode.com/svn/trunk@7747 2bbb7eff-a529-9590-31e7-b0007b416f81
* Simple Build fix. Unreviewed.Gravatar junov@chromium.org2013-01-22
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7313 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing invalid text clipping on SkPicture playbackGravatar junov@chromium.org2013-01-22
| | | | | | | | | | | | | | | The bug was caused by an invalid assumption that a flattend object's index is related to its array index in SkFlatDictionary::fData. The data in SkFlatDictionary is sorted by flattened data content, not by index number. Problem was solved by passing down the SkFlatData* through addPaint, rather than the index value. The bug was causing SkPictureRecord::addFontMetricsTopBottom to use cached font metrics from the wrong SkPaint instance. BUG=https://code.google.com/p/chromium/issues/detail?id=170964 Review URL: https://codereview.appspot.com/7178045 git-svn-id: http://skia.googlecode.com/svn/trunk@7312 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 6766, thereby re-landing 6762-6763 now that the bots are readyGravatar reed@google.com2012-12-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 6762-6763, since those require new skps to be generated, and we can'tGravatar reed@google.com2012-12-12
| | | | | | | | 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
* make RRect and Oval first-class drawing primitives in SkCanvas.Gravatar reed@google.com2012-12-12
| | | | | | | 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
* cache fontmetrics in picture-recordGravatar reed@google.com2012-12-07
| | | | | | Review URL: https://codereview.appspot.com/6908049 git-svn-id: http://skia.googlecode.com/svn/trunk@6706 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added ability to extract SkBitmaps to filter toolGravatar robertphillips@google.com2012-10-19
| | | | | | | | https://codereview.appspot.com/6748043/ git-svn-id: http://skia.googlecode.com/svn/trunk@6021 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove call to setBitmapDevice (deprecated).Gravatar reed@google.com2012-09-27
| | | | | | Review URL: https://codereview.appspot.com/6569070 git-svn-id: http://skia.googlecode.com/svn/trunk@5715 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-re-land 5578Gravatar reed@google.com2012-09-18
| | | | | | | | 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
* revert 5580Gravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-land 5578 w/ pipe fixGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 5578 -- broke pipeGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. ThisGravatar reed@google.com2012-09-18
| | | | | | | | | | | | | | | | | | 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
* Add SkBBoxRecord subclass that builds up a BBoxHierarchy and PictureStateTree.Gravatar rileya@google.com2012-09-11
| | | | | | Review URL: https://codereview.appspot.com/6490104 git-svn-id: http://skia.googlecode.com/svn/trunk@5500 2bbb7eff-a529-9590-31e7-b0007b416f81