aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkData.h
Commit message (Collapse)AuthorAge
* Require SK_DECLARE_STATIC_LAZY_PTR is used in global scope.Gravatar mtklein2014-10-13
| | | | | | | | | | | | | Function- or method- local scope isn't threadsafe; the pointer is generally zero-initialized on first use in function scope (i.e. lazily... we have to go deeper), but for globals we can be pretty sure the linker will do that for us. BUG=skia: No public API changes. TBR=reed@google.com Review URL: https://codereview.chromium.org/651723003
* use SkData::NewUninitializedGravatar reed2014-09-12
| | | | | | | | | BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/565803005
* SkData can allocate room for its contents in the same blockGravatar reed2014-09-11
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/560653004
* SkLazyPtr, mk. 2Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | SK_DECLARE_STATIC_LAZY_PTR and SK_DECLARE_STATIC_LAZY_PTR_ARRAY let you declare a single or array of static pointers that are lazily initialized. You can think of this as a restricted, lighter-weight version of SkOnce. There's no guarantee that Create will be called exactly once, but we do guarantee all threads will agree on the resulting pointer. We'll clean up any other extra pointers we Create()ed by calling Destroy(), which defaults to SkDELETE. In debug mode, we also clean up the winning pointer at process exit, so we can make sure we didn't leak it or free it early. I've ported SkData (singleton) and SkXfermode (array) as examples. Once this lands I'll port most other users of SkOnce. BUG=skia: R=bungeman@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/306943003 git-svn-id: http://skia.googlecode.com/svn/trunk@14976 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkOnce: add option to call another cleanup function once at exit.Gravatar commit-bot@chromium.org2014-01-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use this to clean up empty SkData and SkPathRef. Current leaks: Leaked SkRefCntBase: 40 Leaked SkFlattenable: 32 Leaked SkPixelRef: 32 Leaked SkMallocPixelRef: 32 Leaked SkFontConfigInterface: 1 Leaked SkWeakRefCnt: 1 Leaked SkTypeface: 1 Leaked SkFontMgr: 1 Leaked SkDataTable: 3 Leaked SkImage: 1 Leaked ???: 1 Leaked ???: 1 BUG=skia: R=halcanary@google.com, reed@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/132803005 git-svn-id: http://skia.googlecode.com/svn/trunk@13180 2bbb7eff-a529-9590-31e7-b0007b416f81
* SK_ONCE for SkData and SkPathRefGravatar commit-bot@chromium.org2013-10-23
| | | | | | | | | | | | | Adds SK_ONCE_FRIEND, to allow SK_DEF_ONCE code to be friends with a class. This had to go in include/core to be visible to headers there. BUG= R=reed@google.com, bungeman@google.com Author: mtklein@google.com Review URL: https://codereview.chromium.org/26491003 git-svn-id: http://skia.googlecode.com/svn/trunk@11914 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkData need not be a Flattenable, since it does not need subclass/factoriesGravatar reed@google.com2013-10-14
| | | | | | | | | BUG= R=mtklein@google.com Review URL: https://codereview.chromium.org/26928002 git-svn-id: http://skia.googlecode.com/svn/trunk@11754 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-06-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9501 2bbb7eff-a529-9590-31e7-b0007b416f81
* add drawImage to luaGravatar mike@reedtribe.org2013-06-11
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9500 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2013-06-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@9423 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkData::NewFromFD.Gravatar bungeman@google.com2013-06-03
| | | | | | | | | | | Chromium needs a SkStream backed by a file descriptor. Skia already has the code and can do the work, this change exposes the functionality in Skia in a clean way. https://codereview.chromium.org/15941025/ git-svn-id: http://skia.googlecode.com/svn/trunk@9408 2bbb7eff-a529-9590-31e7-b0007b416f81
* Move MMap to SkData.Gravatar commit-bot@chromium.org2013-04-24
| | | | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://chromiumcodereview.appspot.com/14336003 git-svn-id: http://skia.googlecode.com/svn/trunk@8848 2bbb7eff-a529-9590-31e7-b0007b416f81
* Remove 'friend SkRefCnt' from SkData.Gravatar bungeman@google.com2013-04-16
| | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/13925021/ If a non-POD class does not provide a default destructor, one is provided by teh compiler. GCC will do so, but only at the point where the vtable is output; since BlockRef has no implementation its destructor is never output, so there is no complaint. VC++, however, provides the destructor implementation as soon as it sees the type. If the destructor of BlockRef is ever defined an error will be reported (since the destructor of SkData is private). Declaring (but does not defining) a destructor for BlockRef fixes two issues. First, it prevents a default destructor from being provided, removing the VC++ error. Second, BlockRef now blocks access to the destructor through '->'. git-svn-id: http://skia.googlecode.com/svn/trunk@8697 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-03-19
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8211 2bbb7eff-a529-9590-31e7-b0007b416f81
* reland 8200 w/ fix for android (use fullpath instead of path)Gravatar reed@google.com2013-03-18
| | | | | | Review URL: https://codereview.chromium.org/12921003 git-svn-id: http://skia.googlecode.com/svn/trunk@8206 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 8204 -- what is happening???Gravatar reed@google.com2013-03-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8205 2bbb7eff-a529-9590-31e7-b0007b416f81
* reland 8200 w/ fix for android (need fullpath instead of path)Gravatar reed@google.com2013-03-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8204 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 8200 to figure out android breakGravatar reed@google.com2013-03-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@8201 2bbb7eff-a529-9590-31e7-b0007b416f81
* move SK_MMAP_SUPPORT into SkPreConfig, so we can know about its availabilityGravatar reed@google.com2013-03-18
| | | | | | | | | | | throughout the code. Add SkData::NewFromMMap() help factory. Refactor (now gone) SkMMapStream into SkStream::NewFromFile() factory Review URL: https://codereview.chromium.org/12919013 git-svn-id: http://skia.googlecode.com/svn/trunk@8200 2bbb7eff-a529-9590-31e7-b0007b416f81
* update doxGravatar reed@google.com2012-11-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6591 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | 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
* Update SkData and SkDataSet to make better use of SkFlattenable.Gravatar djsollen@google.com2012-07-31
| | | | | | | | TEST=DataRefTest.cpp Review URL: https://codereview.appspot.com/6441076 git-svn-id: http://skia.googlecode.com/svn/trunk@4850 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SK_API for SkData. Needed for https://bugs.webkit.org/show_bug.cgi?id=91171Gravatar vandebo@chromium.org2012-07-18
| | | | | | Review URL: https://codereview.appspot.com/6420047 git-svn-id: http://skia.googlecode.com/svn/trunk@4658 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed Windows compiler complaintsGravatar robertphillips@google.com2012-07-10
| | | | | | | | http://codereview.appspot.com/6392044 git-svn-id: http://skia.googlecode.com/svn/trunk@4511 2bbb7eff-a529-9590-31e7-b0007b416f81
* change NewWithCString to allocate room for the terminating NULL, so the dataGravatar reed@google.com2012-07-02
| | | | | | | | can be treated as a cstring (duh). git-svn-id: http://skia.googlecode.com/svn/trunk@4430 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkData::NewFromCString()Gravatar reed@google.com2012-06-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4383 2bbb7eff-a529-9590-31e7-b0007b416f81
* Expanded distribution of instance countingGravatar robertphillips@google.com2012-06-21
| | | | | | | | http://codereview.appspot.com/6300114/ git-svn-id: http://skia.googlecode.com/svn/trunk@4291 2bbb7eff-a529-9590-31e7-b0007b416f81
* update dox for NewFromMalloc() to clarify ownershipGravatar reed@google.com2012-05-21
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4017 2bbb7eff-a529-9590-31e7-b0007b416f81
* Automatic update of all copyright notices to reflect new license terms.Gravatar epoger@google.com2011-07-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have manually examined all of these diffs and restored a few files that seem to require manual adjustment. The following files still need to be modified manually, in a separate CL: android_sample/SampleApp/AndroidManifest.xml android_sample/SampleApp/res/layout/layout.xml android_sample/SampleApp/res/menu/sample.xml android_sample/SampleApp/res/values/strings.xml android_sample/SampleApp/src/com/skia/sampleapp/SampleApp.java android_sample/SampleApp/src/com/skia/sampleapp/SampleView.java experimental/CiCarbonSampleMain.c experimental/CocoaDebugger/main.m experimental/FileReaderApp/main.m experimental/SimpleCocoaApp/main.m experimental/iOSSampleApp/Shared/SkAlertPrompt.h experimental/iOSSampleApp/Shared/SkAlertPrompt.m experimental/iOSSampleApp/SkiOSSampleApp-Base.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Debug.xcconfig experimental/iOSSampleApp/SkiOSSampleApp-Release.xcconfig gpu/src/android/GrGLDefaultInterface_android.cpp gyp/common.gypi gyp_skia include/ports/SkHarfBuzzFont.h include/views/SkOSWindow_wxwidgets.h make.bat make.py src/opts/memset.arm.S src/opts/memset16_neon.S src/opts/memset32_neon.S src/opts/opts_check_arm.cpp src/ports/SkDebug_brew.cpp src/ports/SkMemory_brew.cpp src/ports/SkOSFile_brew.cpp src/ports/SkXMLParser_empty.cpp src/utils/ios/SkImageDecoder_iOS.mm src/utils/ios/SkOSFile_iOS.mm src/utils/ios/SkStream_NSData.mm tests/FillPathTest.cpp Review URL: http://codereview.appspot.com/4816058 git-svn-id: http://skia.googlecode.com/svn/trunk@1982 2bbb7eff-a529-9590-31e7-b0007b416f81
* replace detach/getStream apis on dynamicwstream with SkDataGravatar reed@google.com2011-06-24
| | | | | | | | http://codereview.appspot.com/4657046/ git-svn-id: http://skia.googlecode.com/svn/trunk@1714 2bbb7eff-a529-9590-31e7-b0007b416f81
* add (replacing SkDataRef)Gravatar reed@google.com2011-06-24
git-svn-id: http://skia.googlecode.com/svn/trunk@1698 2bbb7eff-a529-9590-31e7-b0007b416f81