change SkAnnotation to not inherit from SkFlattenable (does not need dynamic factories)

BUG=
R=scroggo@google.com

Review URL: https://codereview.chromium.org/26606004

git-svn-id: http://skia.googlecode.com/svn/trunk/include@11762 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/core/SkAnnotation.h b/core/SkAnnotation.h
index 83256dd..9814f8f 100644
--- a/core/SkAnnotation.h
+++ b/core/SkAnnotation.h
@@ -8,10 +8,12 @@
 #ifndef SkAnnotation_DEFINED
 #define SkAnnotation_DEFINED
 
-#include "SkFlattenable.h"
+#include "SkRefCnt.h"
 #include "SkString.h"
 
 class SkData;
+class SkFlattenableReadBuffer;
+class SkFlattenableWriteBuffer;
 class SkStream;
 class SkWStream;
 struct SkPoint;
@@ -20,7 +22,7 @@
  *  Experimental class for annotating draws. Do not use directly yet.
  *  Use helper functions at the bottom of this file for now.
  */
-class SkAnnotation : public SkFlattenable {
+class SkAnnotation : public SkRefCnt {
 public:
     enum Flags {
         // If set, the associated drawing primitive should not be drawn
@@ -39,21 +41,15 @@
      */
     SkData* find(const char key[]) const;
 
-    SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkAnnotation)
-
-protected:
     SkAnnotation(SkFlattenableReadBuffer&);
-    virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE;
+    void writeToBuffer(SkFlattenableWriteBuffer&) const;
 
 private:
     SkString    fKey;
     SkData*     fData;
     uint32_t    fFlags;
 
-    void writeToStream(SkWStream*) const;
-    void readFromStream(SkStream*);
-
-    typedef SkFlattenable INHERITED;
+    typedef SkRefCnt INHERITED;
 };
 
 /**