| Index: experimental/PdfViewer/src/SkPdfContext.cpp
|
| diff --git a/experimental/PdfViewer/src/SkPdfContext.cpp b/experimental/PdfViewer/src/SkPdfContext.cpp
|
| deleted file mode 100644
|
| index 835a89c86abf46cf233097afb786cc3a865d63c8..0000000000000000000000000000000000000000
|
| --- a/experimental/PdfViewer/src/SkPdfContext.cpp
|
| +++ /dev/null
|
| @@ -1,126 +0,0 @@
|
| -/*
|
| - * Copyright 2013 Google Inc.
|
| - *
|
| - * Use of this source code is governed by a BSD-style license that can be
|
| - * found in the LICENSE file.
|
| - */
|
| -
|
| -#include "SkPdfContext.h"
|
| -#include "SkPdfNativeDoc.h"
|
| -#include "SkPdfReporter.h"
|
| -#include "SkPdfTokenLooper.h"
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -
|
| -class PdfMainLooper : public SkPdfTokenLooper {
|
| -public:
|
| - PdfMainLooper(SkPdfNativeTokenizer* tokenizer,
|
| - SkPdfContext* pdfContext,
|
| - SkCanvas* canvas)
|
| - : INHERITED(tokenizer, pdfContext, canvas) {}
|
| -
|
| - SkPdfResult consumeToken(PdfToken& token) override;
|
| - void loop() override;
|
| -
|
| -private:
|
| - typedef SkPdfTokenLooper INHERITED;
|
| -};
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -
|
| -SkPdfContext::SkPdfContext(SkPdfNativeDoc* doc)
|
| - : fPdfDoc(doc)
|
| -{
|
| - SkASSERT(fPdfDoc != NULL);
|
| -}
|
| -
|
| -void SkPdfContext::parseStream(SkPdfNativeObject* stream, SkCanvas* canvas) {
|
| - if (NULL == stream) {
|
| - // Nothing to parse.
|
| - return;
|
| - }
|
| -
|
| - SkPdfNativeTokenizer tokenizer(stream, &fTmpPageAllocator, fPdfDoc);
|
| - PdfMainLooper looper(&tokenizer, this, canvas);
|
| - looper.loop();
|
| -}
|
| -
|
| -///////////////////////////////////////////////////////////////////////////////
|
| -
|
| -// FIXME (scroggo): This probably belongs in a debugging file.
|
| -// For reportRenderStats declaration.
|
| -#include "SkPdfRenderer.h"
|
| -
|
| -// Temp code to measure what operands fail.
|
| -template <typename T> class SkTDictWithDefaultConstructor : public SkTDict<T> {
|
| -public:
|
| - SkTDictWithDefaultConstructor() : SkTDict<T>(10) {}
|
| -};
|
| -
|
| -SkTDictWithDefaultConstructor<int> gRenderStats[kCount_SkPdfResult];
|
| -
|
| -const char* gRenderStatsNames[kCount_SkPdfResult] = {
|
| - "Success",
|
| - "Partially implemented",
|
| - "Not yet implemented",
|
| - "Ignore Error",
|
| - "Error",
|
| - "Unsupported/Unknown"
|
| -};
|
| -
|
| -// Declared in SkPdfRenderer.h. Should be moved to a central debugging location.
|
| -void reportPdfRenderStats() {
|
| - for (int i = 0 ; i < kCount_SkPdfResult; i++) {
|
| - SkTDict<int>::Iter iter(gRenderStats[i]);
|
| - const char* key;
|
| - int value = 0;
|
| - while ((key = iter.next(&value)) != NULL) {
|
| - SkDebugf("%s: %s -> count %i\n", gRenderStatsNames[i], key, value);
|
| - }
|
| - }
|
| -}
|
| -
|
| -#include "SkPdfOps.h"
|
| -
|
| -SkPdfResult PdfMainLooper::consumeToken(PdfToken& token) {
|
| - if (token.fType == kKeyword_TokenType && token.fKeywordLength < 256)
|
| - {
|
| - PdfOperatorRenderer pdfOperatorRenderer = NULL;
|
| - if (gPdfOps.find(token.fKeyword, token.fKeywordLength, &pdfOperatorRenderer) &&
|
| - pdfOperatorRenderer) {
|
| - // Main work is done by pdfOperatorRenderer(...)
|
| - SkPdfResult result = pdfOperatorRenderer(fPdfContext, fCanvas, this);
|
| -
|
| - int cnt = 0;
|
| - gRenderStats[result].find(token.fKeyword, token.fKeywordLength, &cnt);
|
| - gRenderStats[result].set(token.fKeyword, token.fKeywordLength, cnt + 1);
|
| - } else {
|
| - int cnt = 0;
|
| - gRenderStats[kUnsupported_SkPdfResult].find(token.fKeyword,
|
| - token.fKeywordLength,
|
| - &cnt);
|
| - gRenderStats[kUnsupported_SkPdfResult].set(token.fKeyword,
|
| - token.fKeywordLength,
|
| - cnt + 1);
|
| - }
|
| - }
|
| - else if (token.fType == kObject_TokenType)
|
| - {
|
| - fPdfContext->fObjectStack.push( token.fObject );
|
| - }
|
| - else {
|
| - // TODO(edisonn): store the keyword as a object, so we can track the location in file,
|
| - // and report where the error was triggered
|
| - SkPdfReport(kCodeWarning_SkPdfIssueSeverity, kNYI_SkPdfIssue, token.fKeyword, NULL,
|
| - fPdfContext);
|
| - return kIgnoreError_SkPdfResult;
|
| - }
|
| - return kOK_SkPdfResult;
|
| -}
|
| -
|
| -void PdfMainLooper::loop() {
|
| - PdfToken token;
|
| - while (fTokenizer->readToken(&token, true)) {
|
| - this->consumeToken(token);
|
| - }
|
| -}
|
|
|