Index: experimental/PdfViewer/SkPdfBasics.h |
=================================================================== |
--- experimental/PdfViewer/SkPdfBasics.h (revision 9813) |
+++ experimental/PdfViewer/SkPdfBasics.h (working copy) |
@@ -3,24 +3,22 @@ |
#include "SkCanvas.h" |
#include "SkPaint.h" |
+#include "SkPdfConfig.h" |
#include <iostream> |
#include <cstdio> |
+#include <map> |
#include <stack> |
-#define PDF_TRACE |
-//#define PDF_TRACE_DIFF_IN_PNG |
-//#define PDF_DEBUG_NO_CLIPING |
-//#define PDF_DEBUG_NO_PAGE_CLIPING |
-//#define PDF_DEBUG_3X |
- |
class SkPdfFont; |
class SkPdfDoc; |
class SkPdfObject; |
class SkPdfResourceDictionary; |
+class SkPodofoParsedPDF; |
+ |
// TODO(edisonn): better class design. |
-struct PdfColorOperator { |
+struct SkPdfColorOperator { |
std::string fColorSpace; // TODO(edisonn): use SkString |
SkColor fColor; |
double fOpacity; // ca or CA |
@@ -31,7 +29,7 @@ |
fColor = color; |
} |
// TODO(edisonn): double check the default values for all fields. |
- PdfColorOperator() : fColor(SK_ColorBLACK), fOpacity(1) {} |
+ SkPdfColorOperator() : fColor(SK_ColorBLACK), fOpacity(1) {} |
void applyGraphicsState(SkPaint* paint) { |
paint->setColor(SkColorSetA(fColor, fOpacity * 255)); |
@@ -39,7 +37,7 @@ |
}; |
// TODO(edisonn): better class design. |
-struct PdfGraphicsState { |
+struct SkPdfGraphicsState { |
SkMatrix fMatrix; |
SkMatrix fMatrixTm; |
SkMatrix fMatrixTlm; |
@@ -57,19 +55,19 @@ |
bool fHasClipPathToApply; |
SkPath fClipPath; |
- PdfColorOperator fStroking; |
- PdfColorOperator fNonStroking; |
+ SkPdfColorOperator fStroking; |
+ SkPdfColorOperator fNonStroking; |
double fLineWidth; |
double fTextLeading; |
double fWordSpace; |
double fCharSpace; |
- SkPdfResourceDictionary* fResources; |
+ const SkPdfResourceDictionary* fResources; |
SkBitmap fSMask; |
- PdfGraphicsState() { |
+ SkPdfGraphicsState() { |
fCurPosX = 0.0; |
fCurPosY = 0.0; |
fCurFontSize = 0.0; |
@@ -104,26 +102,30 @@ |
}; |
// TODO(edisonn): better class design. |
-struct PdfInlineImage { |
+// TODO(edisonn): could we remove it? |
+// TODO(edisonn): rename to SkPdfInlineImage |
+struct SkPdfInlineImage { |
std::map<std::string, std::string> fKeyValuePairs; |
std::string fImageData; |
}; |
// TODO(edisonn): better class design. |
+// TODO(edisonn): rename to SkPdfContext |
struct PdfContext { |
std::stack<SkPdfObject*> fObjectStack; |
- std::stack<PdfGraphicsState> fStateStack; |
- PdfGraphicsState fGraphicsState; |
- SkPdfDoc* fPdfDoc; |
+ std::stack<SkPdfGraphicsState> fStateStack; |
+ SkPdfGraphicsState fGraphicsState; |
+ const SkPodofoParsedPDF* fPdfDoc; |
SkMatrix fOriginalMatrix; |
- PdfInlineImage fInlineImage; |
+ SkPdfInlineImage fInlineImage; |
- PdfContext(SkPdfDoc* doc) : fPdfDoc(doc) {} |
+ PdfContext(const SkPodofoParsedPDF* doc) : fPdfDoc(doc) {} |
}; |
-// TODO(edisonn): temporary code, to report how much of the PDF we actually think we rendered. |
+// TODO(edisonn): temporary code, to report how much of the PDF we actually think we rendered. |
+// TODO(edisonn): rename to SkPdfResult |
enum PdfResult { |
kOK_PdfResult, |
kPartial_PdfResult, |