aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkRecords.h
Commit message (Collapse)AuthorAge
* Clean up dead clear() code in SkRecord.Gravatar mtklein2015-01-05
| | | | | | | | | | | | | This removes the SkRecords::Clear struct and everything that refers to it. Notice there is nothing actually creating a Clear, which means this is all dead code. Now that all ops obey the clip, I don't think we need the weird inflate-empty-to-epsilon hack for BBH queries. BUG=skia: Review URL: https://codereview.chromium.org/835813002
* remove unused drawDataGravatar reed2015-01-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/830083002
* Cull pushCull and popCull from Skia.Gravatar mtklein2014-12-12
| | | | | | | | These calls are unused and going away. Waiting on crrev.com/796083002. BUG=skia: Review URL: https://codereview.chromium.org/794263002
* Enforce thread-safety of bitmaps in pictures via the type.Gravatar mtklein2014-12-11
| | | | | | | | | | | No runtime difference here, but it makes it impossible to forget to make a shallow copy; you can't get at the full bitmap without it. NOTREECHECKS=true BUG=skia: Review URL: https://codereview.chromium.org/799603002
* Remove SkCanvas::drawBitmapMatrix()Gravatar Florin Malita2014-12-10
| | | | | | R=mtklein@google.com, reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/789033002
* Change clear() to respect the clipGravatar reed2014-12-04
| | | | | | | | | This reverts commit af641a1c10f176cb9617026d3cc93c117a85d13d. BUG=skia: TBR= Review URL: https://codereview.chromium.org/783493002
* Revert "Change clear() to respect the clip"Gravatar reed2014-12-02
| | | | | | | | | This reverts commit 3729469d6a12266037b697c2192768545e097ab0. BUG=skia: TBR= Review URL: https://codereview.chromium.org/778563002
* Change clear() to respect the clipGravatar reed2014-12-02
| | | | | | | | patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1) BUG=skia: Review URL: https://codereview.chromium.org/772533004
* Force SkMatrix type while recording too.Gravatar mtklein2014-12-01
| | | | | | | | | | | | | | | | | | | | | This switches to a new way of doing this, enforcing the caching with the type recorded rather than having to do it in SkRecorder. Should be more foolproof. Updated SkPath and SkBitmap's equivalents too. ImmutableBitmap was close, but using inheritance now makes the rest of the code less weird. BUG=437511 I'm not sure whether or not this will _fix_ the SkMatrix aspect of that bug. There may be other SkMatrices that we're racing on. It does cover the obvious ones, though, and removing the SkTRacy<> wrapper will allow TSAN to show us any other races. It turned out to be easier to turn missing optional matrices into I early rather than late. I figure this should be harmless. Recording and playback perf both look neutral. Review URL: https://codereview.chromium.org/773433003
* All the small packing tweaks mentioned in the bug.Gravatar mtklein2014-11-21
| | | | | | BUG=skia:3144 Review URL: https://codereview.chromium.org/748063002
* SkRecord: Pack SkRegion::Op and AA bit together.Gravatar mtklein2014-11-20
| | | | | | | | Saves 4 bytes per clip op. BUG=skia: Review URL: https://codereview.chromium.org/741093002
* wip for drawablesGravatar reed2014-11-18
| | | | | | | | | | | | Idea: 1. in its mutable recording state, keep a table of drawables on the side, and store an index in the record list. 2. In "immediate-mode" draw, just call the clients drawable directly (need access to our private list to turn the stored index into a proc) 3. when we "snap", we replace the list of drawables with a list of (sub) pictures, and then during playback of the snapped picture, we invoke a private drawable which just calls "drawPicture" on the index'd subpicture. Review URL: https://codereview.chromium.org/727363003
* Override SkCanvas::drawImage() in SkRecorder.Gravatar piotaixr2014-10-16
| | | | | | BUG=skia:2947 Review URL: https://codereview.chromium.org/610003002
* Simplify a little in SkRecords.h:Gravatar mtklein2014-09-18
| | | | | | | | | | | | | - ACT_AS_PTR can just expose const methods to get at the pointers. (If the thing stored must stay const, we pass a const T.) - DrawPatch works fine with Record# macros, so use Record5. BUG=skia: R=fmalita@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/585523003
* Implement all SkCanvas overrides that SkPictureRecord does.Gravatar mtklein2014-09-04
| | | | | | | | | | | | Primarily this is for isDrawingToLayer(). drawData() and onNewSurface() are for completeness. BUG=409138 R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/545613002
* Can't hurt to make this SkNoncopyable.Gravatar mtklein2014-08-27
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/510953002
* Support comment groups in SkRecord.Gravatar mtklein2014-08-22
| | | | | | | | | | | This should fix the failing paint-command-log-nodes.html layout test. BUG=406425 R=tomhudson@chromium.org Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/501533003
* Our SkPicture::Analysis visitors should recurse into nested pictures.Gravatar mtklein2014-08-21
| | | | | | | | | BUG=skia: R=tomhudson@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/495793002
* SkTextBlobGravatar fmalita2014-08-21
| | | | | | | | | | Initial implementation. R=bungeman@google.com, jbroman@chromium.org, mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/473633002
* Implement SkPicture::hasText() for SkRecord backend.Gravatar mtklein2014-08-20
| | | | | | | | | | | | Plus, some small tweaks to the existing code surrounding it. Just proposals, will undo whatever you don't like. BUG=skia: R=mtklein@google.com, tomhudson@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/494683003
* Record concat as setMatrix.Gravatar mtklein2014-08-19
| | | | | | | | | | | | | Mainly this cuts out a type to have to think about in SkRecord world. It also means all the CTMs are recorded directly in the SkRecord, so we can track the current CTM by pointer rather than by copying. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/484673003
* SkRecordDraw: incorporate clip into BBHGravatar mtklein2014-08-15
| | | | | | | | | | | NOTREECHECKS=true BUG=skia: R=robertphillips@google.com, senorblanco@chromium.org, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/474983002
* Start tracking the CTM while filling the BBH in SkRecordDraw.Gravatar mtklein2014-08-13
| | | | | | | | | | | Depends on https://codereview.chromium.org/475473002/ BUG=skia: R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/468193003
* SkCanvas::drawPatch param SkPoint[12]Gravatar dandov2014-08-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
* add drawPicture variant that takes a matrix and paintGravatar reed2014-08-09
| | | | | | | | | | 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
* SkRecord: Strip out cull-skipping and y-only drawPosTextH skipping.Gravatar mtklein2014-08-08
| | | | | | | | | | | | These optimizations are outclassed by a general bounding-box hierarchy, and are just going to make plugging that into SkRecordDraw more complicated. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/452983002
* change drawPicture in SkRecord to just ref the pictureGravatar reed2014-08-07
| | | | | | | | | | | also fix some int/unsigned/size_t warnings BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/449933002
* Stopped skipping tests in dm of SkPatch by implementing theGravatar dandov2014-08-07
| | | | | | | | | | | corresponding drawPath calls on classes that derive from SkCanvas. BUG=skia: R=egdaniel@google.com, bsalomon@google.com, mtklein@google.com, robertphillips@google.com Author: dandov@google.com Review URL: https://codereview.chromium.org/429343004
* SaveFlags be-goneGravatar Florin Malita2014-06-30
| | | | | | | | | | 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
* Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.Gravatar mtklein2014-06-17
The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP. After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/331573004