pdfviewer: 1) debug code for drawText (show magenta background for text, to show text even when we fail to load/show it), 2) some cleanup: refactor and rename classes and files

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

git-svn-id: http://skia.googlecode.com/svn/trunk@10716 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/experimental/PdfViewer/SkPdfGraphicsState.cpp b/experimental/PdfViewer/SkPdfGraphicsState.cpp
new file mode 100644
index 0000000..3e7f7a8
--- /dev/null
+++ b/experimental/PdfViewer/SkPdfGraphicsState.cpp
@@ -0,0 +1,43 @@
+#include "SkPdfGraphicsState.h"
+#include "SkPdfNativeTokenizer.h"
+
+#include "SkDashPathEffect.h"
+
+SkPdfContext::SkPdfContext(SkPdfNativeDoc* doc)
+    : fPdfDoc(doc)
+    , fTmpPageAllocator(new SkPdfAllocator()) {
+}
+
+SkPdfContext::~SkPdfContext() {
+    delete fTmpPageAllocator;
+}
+
+void SkPdfGraphicsState::applyGraphicsState(SkPaint* paint, bool stroking) {
+    if (stroking) {
+        fStroking.applyGraphicsState(paint);
+    } else {
+        fNonStroking.applyGraphicsState(paint);
+    }
+
+    // TODO(edisonn): get this from pdfContext->options,
+    // or pdfContext->addPaintOptions(&paint);
+    paint->setAntiAlias(true);
+
+    // TODO(edisonn): miter, ...
+    if (stroking) {
+        paint->setStrokeWidth(SkDoubleToScalar(fLineWidth));
+        // TODO(edisonn): perf, two sets of allocs, create SkDashPathEffect constr that takes ownership
+        // of the intervals
+        if (fDashArrayLength > 0) {
+            paint->setPathEffect(new SkDashPathEffect(fDashArray, fDashArrayLength, fDashPhase))->unref();
+        }
+    }
+
+    // TODO(edisonn): NYI multiple blend modes
+    if (fBlendModesLength == 1 && fBlendModes[0] != SkXfermode::kSrc_Mode) {
+        paint->setXfermodeMode(fBlendModes[0]);
+    }
+
+    //paint->setStrokeMiter(SkDoubleToScalar(fMiterLimit));
+    // TODO(edisonn): impl cap and join
+}