pdfviewer: add indexed rbg image support, enhanche caching(setData) for SkPdfObject
Review URL: https://codereview.chromium.org/21738005
git-svn-id: http://skia.googlecode.com/svn/trunk@10534 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/pdfparser/native/SkPdfObject.cpp b/experimental/PdfViewer/pdfparser/native/SkPdfObject.cpp
index eb342af..a02d789 100644
--- a/experimental/PdfViewer/pdfparser/native/SkPdfObject.cpp
+++ b/experimental/PdfViewer/pdfparser/native/SkPdfObject.cpp
@@ -6,6 +6,9 @@
#include "SkStream.h"
#include "SkPdfNativeTokenizer.h"
+#include "SkBitmap.h"
+#include "SkPdfFont.h"
+
SkPdfObject SkPdfObject::kNull = SkPdfObject::makeNull();
bool SkPdfObject::applyFlateDecodeFilter() {
@@ -86,3 +89,21 @@
return true;
}
+
+void SkPdfObject::releaseData() {
+ if (fData) {
+ switch (fDataType) {
+ case kFont_Data:
+ delete (SkPdfFont*)fData;
+ break;
+ case kBitmap_Data:
+ delete (SkBitmap*)fData;
+ break;
+ default:
+ SkASSERT(false);
+ break;
+ }
+ }
+ fData = NULL;
+ fDataType = kEmpty_Data;
+}