aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPictureRecord.h
Commit message (Collapse)AuthorAge
* 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
* peephole optimize save/restore brackets that contain no draw calls.Gravatar reed@google.com2012-08-30
| | | | | | Review URL: https://codereview.appspot.com/6443149 git-svn-id: http://skia.googlecode.com/svn/trunk@5347 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement multi-threaded picture playback via cloning.Gravatar djsollen@google.com2012-08-29
| | | | | | | | | | | | | | The CL adds SkPicture.clone() which produces a thread-safe copy by creating a shallow copy of the thread-safe data within the picture and a deep copy of the data that is not (e.g. SkPaint). This implementation re-flattens the paints when cloning instead of retaining the flattened paints from the recording process. Changes were also needed to various classes to ensure thread safety Review URL: https://codereview.appspot.com/6459105 git-svn-id: http://skia.googlecode.com/svn/trunk@5335 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add caching of the snapshot image form a surfaceGravatar reed@google.com2012-08-28
| | | | | | | | | 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
* Refactor Bitmap Storage for SkPicture using SkPipe's design.Gravatar djsollen@google.com2012-08-07
| | | | | | | | | | | | | | | | | | | | | Refactor Picture and Pipe bitmap storage into common data structure Update SkFlattenable buffers to be more modular. This CL is an effort to stage the conversion to named parameters for all SkFlattenable commands. This particular stage only does the following two things... 1. Move flattenable buffers from SkFlattenable.h into their own header. 2. Update and Add new read write methods for better clarity and convenience. BUG= Review URL: https://codereview.appspot.com/6445079 git-svn-id: http://skia.googlecode.com/svn/trunk@4994 2bbb7eff-a529-9590-31e7-b0007b416f81
* Store more behavior of SkFlatDictionary in SkFlatController.Gravatar scroggo@google.com2012-08-02
| | | | | | | | Code refactoring for simplicity. Review URL: https://codereview.appspot.com/6427046 git-svn-id: http://skia.googlecode.com/svn/trunk@4929 2bbb7eff-a529-9590-31e7-b0007b416f81
* Always store pixels of mutable bitmaps when recording a SkPicture.Gravatar djsollen@google.com2012-07-27
| | | | | | | | | | | | | | | | | | | | | | | Prior to this CL mutable bitmaps only saved a copy of their pixels if a flag was set at recording time. That flag has been removed and the default behavior when recording a mutable bitmap is to make a copy of it's pixels. This is the only way to ensure that the pixels are not manipulated before we playback their contents. However, enabling this behavior breaks the recording of extracted bitmaps in SkPicture. This is because we currently cache bitmaps within a picture based only on their pixelRef. This results in false positive cache hit when drawing an extracted bitmap as it shares a pixelRef with its orginating bitmap. Therefore we must update the index of the bitmap cache to be both the pixelRef AND the size and offset of the bitmap using those pixels. BUG= TEST=extractbitmap.cpp Review URL: https://codereview.appspot.com/6439043 git-svn-id: http://skia.googlecode.com/svn/trunk@4809 2bbb7eff-a529-9590-31e7-b0007b416f81
* Use SkFlatDictionary in SkGPipe to take advantage of its new features.Gravatar scroggo@google.com2012-07-17
| | | | | | | | | | | | Add a controller class to perform the allocation/unallocation for the dictionary and to provide an entry to be replaced, if replacements are allowed. TODO: Use LRU caching in my custom controller so replacements will be done less often. More refactoring on SkFlatDictionary so picture recording's use of the dictionary does not require going through the path to replace. Review URL: https://codereview.appspot.com/6345102 git-svn-id: http://skia.googlecode.com/svn/trunk@4639 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding bracketing save/restore calls to SkPicture at record time andGravatar junov@chromium.org2012-07-16
| | | | | | | | | | preparing tests for enforcing save/restore balancing constraints on SkPicture Review URL: http://codereview.appspot.com/6354105/ git-svn-id: http://skia.googlecode.com/svn/trunk@4618 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup restore offsets at end of SkPicture recordingGravatar junov@chromium.org2012-07-12
| | | | | | | | | | Review URL: http://codereview.appspot.com/6355099/ TEST=skia unit test CanvasTest, test step TwoClipOps BUG=https://code.google.com/p/chromium/issues/detail?id=133432 git-svn-id: http://skia.googlecode.com/svn/trunk@4577 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactoring code in SkPictureRecord that touches fRestoreOffsetStackGravatar junov@chromium.org2012-07-09
| | | | | | | | | Review URL: http://codereview.appspot.com/6350059/ BUG=http://code.google.com/p/chromium/issues/detail?id=133432 git-svn-id: http://skia.googlecode.com/svn/trunk@4472 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding option to serialize mutable bitmaps in SkPictureGravatar junov@chromium.org2012-06-01
| | | | | | | | | BUG=http://code.google.com/p/chromium/issues/detail?id=115654 REVIEW=http://codereview.appspot.com/6221066/ git-svn-id: http://skia.googlecode.com/svn/trunk@4130 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor dictionaries for use by entities other than just SkPictureGravatar djsollen@google.com2012-05-30
| | | | | | Review URL: https://codereview.appspot.com/6101043 git-svn-id: http://skia.googlecode.com/svn/trunk@4077 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding more unit testing for SkCanvas and derived classes.Gravatar junov@chromium.org2012-02-22
| | | | | | | | | | BUG=http://code.google.com/p/skia/issues/detail?id=481 REVIEW=http://codereview.appspot.com/5674077/ TEST=unit test CanvasTest git-svn-id: http://skia.googlecode.com/svn/trunk@3228 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding API and unit testing for deferred canvas clearing/purgingGravatar junov@chromium.org2012-02-13
| | | | | | | | | 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
* extend fastbounds impls to include maskfilters and drawloopers. This allowsGravatar reed@google.com2012-01-30
| | | | | | | | | | us to perform quick-rejects when drawing objects with shadows (esp. text). WebKit draws shadows w/ a looper (fg and shadow) and a maskfilter on the shadow layer. git-svn-id: http://skia.googlecode.com/svn/trunk@3103 2bbb7eff-a529-9590-31e7-b0007b416f81
* Formatting cleanup: remove extra whitespaceGravatar vandebo@chromium.org2012-01-28
| | | | | | | | 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