diff options
author | bungeman <bungeman@google.com> | 2014-08-25 12:00:49 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-08-25 12:00:49 -0700 |
commit | a6785ccb540b1b752ab536cdf579a698eadbf7d2 (patch) | |
tree | 475c911f255876f32a25aa365522d8e9331170a1 /include | |
parent | 5fc226641a0926dddbf70ba784f344881f4c05b9 (diff) |
Add a working SkFontMgr_fontconfig.
R=tomhudson@google.com, reed@google.com, mtklein@google.com
Author: bungeman@google.com
Review URL: https://codereview.chromium.org/396143004
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkTemplates.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/core/SkTemplates.h b/include/core/SkTemplates.h index 5d3fa2d10c..434fcb8c0e 100644 --- a/include/core/SkTemplates.h +++ b/include/core/SkTemplates.h @@ -77,7 +77,19 @@ template <typename T, void (*P)(T*)> class SkAutoTCallVProc : SkNoncopyable { public: SkAutoTCallVProc(T* obj): fObj(obj) {} ~SkAutoTCallVProc() { if (fObj) P(fObj); } + + operator T*() const { return fObj; } + T* operator->() const { SkASSERT(fObj); return fObj; } + T* detach() { T* obj = fObj; fObj = NULL; return obj; } + void reset(T* obj = NULL) { + if (fObj != obj) { + if (fObj) { + P(fObj); + } + fObj = obj; + } + } private: T* fObj; }; |