aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* 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
* rename private animator type SkImage to SkImageBitmapBase, to avoid conflictsGravatar reed@google.com2012-07-27
| | | | | | | | with new public type SkImage git-svn-id: http://skia.googlecode.com/svn/trunk@4807 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.Gravatar scroggo@google.com2012-07-26
| | | | | | | | | | | 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
* Fixing canvas writePixels malfunctioning with SkDeferredCanvas with SkGPipe ↵Gravatar junov@chromium.org2012-07-25
| | | | | | | | | backend and GPU rendering BUG=http://code.google.com/p/chromium/issues/detail?id=138935 Review URL: https://codereview.appspot.com/6450045 git-svn-id: http://skia.googlecode.com/svn/trunk@4769 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactoring how SkDeferredCanvas manages mutable bitmapsGravatar junov@chromium.org2012-07-25
| | | | | | | | | | | | | 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
* Remove SkSfntUtils, as it is not longer used.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkSfntUtils should use public types.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix unbound memory consumption problem with run away deferred canvases.Gravatar junov@chromium.org2012-07-23
| | | | | | | | | | | | 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
* Refactoring SkDeferredCanvas to use SkGPipe.Gravatar junov@chromium.org2012-07-18
| | | | | | | | | | 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
* add SkPath::contains(x, y)Gravatar mike@reedtribe.org2012-07-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4526 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add an SK_PRINTF_LIKE macro, which declares a function to have printf-likeGravatar senorblanco@chromium.org2012-07-09
| | | | | | | | | | | | | semantics, allowing gcc and clang to check the format string against the arguments. Enable its use on SkString (printf, appendf, and prependf). Also define an SK_SIZE_T_SPECIFIER macro so there's a cross-platform way of printing a size_t. Review URL: http://codereview.appspot.com/6375043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4485 2bbb7eff-a529-9590-31e7-b0007b416f81
* HitTest: 10% speedup by adding quick-reject/accept using X boundsGravatar mike@reedtribe.org2012-07-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4461 2bbb7eff-a529-9590-31e7-b0007b416f81
* add support for cubics to SkHitTestPathExGravatar mike@reedtribe.org2012-07-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4460 2bbb7eff-a529-9590-31e7-b0007b416f81
* Ensure that SkDeferredCanvas::onCreateCompatibleDevice unrefs its temp device.Gravatar scroggo@google.com2012-07-03
| | | | | | | | Also update my GM to use createCompatibleDevice. Review URL: https://codereview.appspot.com/6357061 git-svn-id: http://skia.googlecode.com/svn/trunk@4450 2bbb7eff-a529-9590-31e7-b0007b416f81
* experimental hittest for paths (incomplete)Gravatar mike@reedtribe.org2012-07-03
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4437 2bbb7eff-a529-9590-31e7-b0007b416f81
* Added Inst counting to SkFlattenable-derived classesGravatar robertphillips@google.com2012-06-27
| | | | | | | | http://codereview.appspot.com/6355043/ git-svn-id: http://skia.googlecode.com/svn/trunk@4359 2bbb7eff-a529-9590-31e7-b0007b416f81
* more SkInstCnt plumbingGravatar reed@google.com2012-06-26
| | | | | | | | fix some typeface leaks git-svn-id: http://skia.googlecode.com/svn/trunk@4348 2bbb7eff-a529-9590-31e7-b0007b416f81
* Register some flattenable factories.Gravatar scroggo@google.com2012-06-25
| | | | | | | | | | | Now, SkComposeShaders, SkDiscreteMapper, SkCosineMapper, Line2DPathEffect, and SkTransparentShader can be flattened and unflattened. This makes more of our samples work when using a pipe. Review URL: https://codereview.appspot.com/6338064 git-svn-id: http://skia.googlecode.com/svn/trunk@4334 2bbb7eff-a529-9590-31e7-b0007b416f81
* Compiler complaints + some minor cleanupGravatar robertphillips@google.com2012-06-12
| | | | | | | | http://codereview.appspot.com/6295070/ git-svn-id: http://skia.googlecode.com/svn/trunk@4238 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix include name (masked by case insensitiviy on windows)Gravatar bsalomon@google.com2012-06-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4225 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix SkNWayCanvas cons call again.Gravatar bsalomon@google.com2012-06-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4224 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix SkNWayCanvas cons call when creating null canvas.Gravatar bsalomon@google.com2012-06-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4223 2bbb7eff-a529-9590-31e7-b0007b416f81
* Null canvasGravatar bsalomon@google.com2012-06-11
| | | | | | | | Review URL: http://codereview.appspot.com/6117051/ git-svn-id: http://skia.googlecode.com/svn/trunk@4220 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix warnings on Mac in miscellaneous filesGravatar caryclark@google.com2012-06-06
| | | | | | | | | | | | | | | | | | Fix these class of warnings: - unused functions - unused locals - sign mismatch - missing function prototypes - missing newline at end of file - 64 to 32 bit truncation The changes prefer to link in dead code in the debug build with 'if (false)' than to comment it out, but trivial cases are commented out or sometimes deleted if it appears to be a copy/paste error. Review URL: https://codereview.appspot.com/6305047 git-svn-id: http://skia.googlecode.com/svn/trunk@4186 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
* Iter::next takes a bool (defaults to true for now) if we want to consume ↵Gravatar reed@google.com2012-05-16
| | | | | | | | | | degenerates. path-filling and stroking pass false, as they already are written to handle small segments (and it makes next() run 2x faster if you pass false). Review URL: https://codereview.appspot.com/6214049 git-svn-id: http://skia.googlecode.com/svn/trunk@3974 2bbb7eff-a529-9590-31e7-b0007b416f81
* Android does not support pthread_cancel / pthread_testcancel.Gravatar bungeman@google.com2012-05-14
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3923 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add bench and test for SkRefCnt.Gravatar bungeman@google.com2012-05-14
| | | | | | | | | http://codereview.appspot.com/6195071/ This also adds a cross platform SkThread for testing purposes. git-svn-id: http://skia.googlecode.com/svn/trunk@3921 2bbb7eff-a529-9590-31e7-b0007b416f81
* use std qsort instead of our (now gone) versionGravatar reed@google.com2012-05-07
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3847 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add device to top level N-way canvas.Gravatar djsollen@google.com2012-05-01
| | | | | | Review URL: https://codereview.appspot.com/6131062 git-svn-id: http://skia.googlecode.com/svn/trunk@3811 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add coverage AA support for SampleApp root layers (windows only)Gravatar bsalomon@google.com2012-04-17
| | | | | | | | | Review URL: http://codereview.appspot.com/6043045/ git-svn-id: http://skia.googlecode.com/svn/trunk@3703 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix miscellaneous compiler warnings from Visual Studio 2010.Gravatar tomhudson@google.com2012-04-10
| | | | | | | | | Changes serialization path for MorphologyImageFilter, handling of Windows HRESULTS; otherwise just tweaks tests. git-svn-id: http://skia.googlecode.com/svn/trunk@3642 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup code related to SkFlattenable::flatten()Gravatar djsollen@google.com2012-03-29
| | | | | | | | | | | | | | | | | 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
* Move SkColorMatrix to effects.Gravatar bungeman@google.com2012-03-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3535 2bbb7eff-a529-9590-31e7-b0007b416f81
* Create macro for registering classes for deserializationGravatar djsollen@google.com2012-03-26
| | | | | | Review URL: https://codereview.appspot.com/5909063 git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup Macros arround static initializers for SkFlattenable.Gravatar djsollen@google.com2012-03-23
| | | | | | | This CL also removes an unused debugging function from the class Review URL: https://codereview.appspot.com/5890043 git-svn-id: http://skia.googlecode.com/svn/trunk@3483 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move SkBitSet to utils.Gravatar vandebo@chromium.org2012-03-21
| | | | | | Review URL: https://codereview.appspot.com/5875043 git-svn-id: http://skia.googlecode.com/svn/trunk@3460 2bbb7eff-a529-9590-31e7-b0007b416f81
* Utils must not depend on Views.Gravatar bungeman@google.com2012-03-21
| | | | | | | http://codereview.appspot.com/5867051/ git-svn-id: http://skia.googlecode.com/svn/trunk@3459 2bbb7eff-a529-9590-31e7-b0007b416f81
* Re-attempting Linux debug GL interface compiler complaint fix.Gravatar robertphillips@google.com2012-03-21
| | | | | | | | | | Fixed two additional compiler complaints. http://codereview.appspot.com/5845068/ git-svn-id: http://skia.googlecode.com/svn/trunk@3456 2bbb7eff-a529-9590-31e7-b0007b416f81
* Upstream changes from Android repository.Gravatar djsollen@google.com2012-03-21
| | | | | | Review URL: https://codereview.appspot.com/5752055 git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
* reverting r3268 because of test failuresGravatar junov@chromium.org2012-02-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3270 2bbb7eff-a529-9590-31e7-b0007b416f81
* build fixGravatar junov@chromium.org2012-02-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3269 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkDeferredCanvas, performance: small refactor to remove unnecessary ↵Gravatar junov@chromium.org2012-02-28
| | | | | | | | | | 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
* Coding style corrections in SkDeferredCanvas.cpp: brace placement, 80col, etc.Gravatar junov@chromium.org2012-02-24
| | | | | | | | unreviewed. git-svn-id: http://skia.googlecode.com/svn/trunk@3262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track ↵Gravatar junov@chromium.org2012-02-24
| | | | | | | | | | | | | | 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
* reverting r3257 because of gm failure.Gravatar junov@chromium.org2012-02-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
* Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track ↵Gravatar junov@chromium.org2012-02-24
| | | | | | | | | | | | | | 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
* Remove SkFontHost::ValidFontID PART 2: remove definition and skia callers ↵Gravatar bungeman@google.com2012-02-24
| | | | | | | | | | not that Chrome's font host has been updated. See also https://chromiumcodereview.appspot.com/9347043/ http://codereview.appspot.com/5654055/ git-svn-id: http://skia.googlecode.com/svn/trunk@3255 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkCreateDataProviderFromStream to SkCGUtilsGravatar reed@google.com2012-02-24
| | | | | | | | implement SkFontHost create_from_file/stream using SkCGUtils git-svn-id: http://skia.googlecode.com/svn/trunk@3249 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix for crash in SkDeferredCanvas when optional SkPaint argument is NULLGravatar junov@chromium.org2012-02-23
| | | | | | | | | | BUG=http://code.google.com/p/skia/issues/detail?id=505 TEST=Canvas unit test REVIEW=http://codereview.appspot.com/5699054/ git-svn-id: http://skia.googlecode.com/svn/trunk@3246 2bbb7eff-a529-9590-31e7-b0007b416f81