aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
diff options
context:
space:
mode:
authorGravatar mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-09-04 17:20:18 +0000
committerGravatar mtklein@google.com <mtklein@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-09-04 17:20:18 +0000
commitbd6343b1d60d2a85e930f33f4b06b4502b3e8caa (patch)
tree4c8e362b21994e36c823e260f32b2f31ace9ffe9 /gm
parent339e79fbeabae18a8b9ea094293c7c25eaf9dd68 (diff)
Rewrite SkTRegistry to take any trivially-copyable type.
Obviously these are all currently function pointers of type T(*)(P) for various T and P. In bench refactoring, I'm trying to register a function pointer of type T(*)(), which can't be done as is (passing P=void doesn't work). This also lets us register things like primitives, which is conceivable useful. BUG= R=reed@google.com, scroggo@google.com Review URL: https://codereview.chromium.org/23453031 git-svn-id: http://skia.googlecode.com/svn/trunk@11082 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'gm')
-rw-r--r--gm/gm.cpp2
-rw-r--r--gm/gm.h2
2 files changed, 2 insertions, 2 deletions
diff --git a/gm/gm.cpp b/gm/gm.cpp
index c1e75e9d43..f794fbf999 100644
--- a/gm/gm.cpp
+++ b/gm/gm.cpp
@@ -63,4 +63,4 @@ void GM::drawSizeBounds(SkCanvas* canvas, SkColor color) {
}
// need to explicitly declare this, or we get some weird infinite loop llist
-template GMRegistry* SkTRegistry<GM*, void*>::gHead;
+template GMRegistry* SkTRegistry<GM*(*)(void*)>::gHead;
diff --git a/gm/gm.h b/gm/gm.h
index 022536d4b8..6cd97b5a2b 100644
--- a/gm/gm.h
+++ b/gm/gm.h
@@ -111,7 +111,7 @@ namespace skiagm {
bool fHaveCalledOnceBeforeDraw;
};
- typedef SkTRegistry<GM*, void*> GMRegistry;
+ typedef SkTRegistry<GM*(*)(void*)> GMRegistry;
}
#endif