Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1611)

Unified Diff: experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.h

Issue 23020003: pdfviewer: debug code for drawText (show magenta background for text, to show text even when we fai… (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.h
===================================================================
--- experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.h (revision 10712)
+++ experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.h (working copy)
@@ -1,105 +0,0 @@
-#ifndef EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKNATIVEPARSEDPDF_H_
-#define EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKNATIVEPARSEDPDF_H_
-
-#include "SkRect.h"
-#include "SkTDArray.h"
-
-class SkCanvas;
-
-class SkPdfAllocator;
-class SkPdfMapper;
-class SkPdfObject;
-class SkPdfReal;
-class SkPdfInteger;
-class SkPdfString;
-class SkPdfResourceDictionary;
-class SkPdfCatalogDictionary;
-class SkPdfPageObjectDictionary;
-class SkPdfPageTreeNodeDictionary;
-
-class SkPdfNativeTokenizer;
-
-class SkStream;
-
-class SkNativeParsedPDF {
-private:
- struct PublicObjectEntry {
- long fOffset;
- // long endOffset; // TODO(edisonn): determine the end of the object, to be used when the doc is corrupted
- SkPdfObject* fObj;
- // TODO(edisonn): perf ... probably it does not make sense to cache the ref. test it!
- SkPdfObject* fResolvedReference;
- };
-
-public:
- // TODO(edisonn): read methods: file, stream, http(s)://url, url with seek?
- // TODO(edisonn): read first page asap, linearized
- // TODO(edisonn): read page N asap, read all file
- // TODO(edisonn): allow corruptions of file (e.g. missing endobj, missing stream length, ...)
- // TODO(edisonn): encryption
-
- SkNativeParsedPDF(const char* path);
- SkNativeParsedPDF(SkStream* stream);
-
- ~SkNativeParsedPDF();
-
- int pages() const;
- SkPdfResourceDictionary* pageResources(int page);
- SkRect MediaBox(int page);
- SkPdfNativeTokenizer* tokenizerOfPage(int n, SkPdfAllocator* allocator);
-
- SkPdfNativeTokenizer* tokenizerOfStream(SkPdfObject* stream, SkPdfAllocator* allocator);
- SkPdfNativeTokenizer* tokenizerOfBuffer(const unsigned char* buffer, size_t len,
- SkPdfAllocator* allocator);
-
- size_t objects() const;
- SkPdfObject* object(int i);
- SkPdfPageObjectDictionary* page(int page);
-
- const SkPdfMapper* mapper() const;
- SkPdfAllocator* allocator() const;
-
- SkPdfReal* createReal(double value) const;
- SkPdfInteger* createInteger(int value) const;
- // the string does not own the char*
- SkPdfString* createString(const unsigned char* sz, size_t len) const;
-
- SkPdfObject* resolveReference(SkPdfObject* ref);
-
- // Reports an approximation of all the memory usage.
- size_t bytesUsed() const;
-
-private:
-
- // Takes ownership of bytes.
- void init(const void* bytes, size_t length);
- void loadWithoutXRef();
-
- const unsigned char* readCrossReferenceSection(const unsigned char* xrefStart, const unsigned char* trailerEnd);
- const unsigned char* readTrailer(const unsigned char* trailerStart, const unsigned char* trailerEnd, bool storeCatalog, long* prev, bool skipKeyword);
-
- // TODO(edisonn): updates not supported right now, generation ignored
- void addCrossSectionInfo(int id, int generation, int offset, bool isFreed);
- static void reset(PublicObjectEntry* obj) {
- obj->fObj = NULL;
- obj->fResolvedReference = NULL;
- obj->fOffset = -1;
- }
-
- SkPdfObject* readObject(int id/*, int generation*/);
-
- void fillPages(SkPdfPageTreeNodeDictionary* tree);
-
- // private fields
- SkPdfAllocator* fAllocator;
- SkPdfMapper* fMapper;
- const unsigned char* fFileContent;
- size_t fContentLength;
- SkPdfObject* fRootCatalogRef;
- SkPdfCatalogDictionary* fRootCatalog;
-
- mutable SkTDArray<PublicObjectEntry> fObjects;
- SkTDArray<SkPdfPageObjectDictionary*> fPages;
-};
-
-#endif // EXPERIMENTAL_PDFVIEWER_PDFPARSER_NATIVE_SKNATIVEPARSEDPDF_H_
« no previous file with comments | « experimental/PdfViewer/generate_code.py ('k') | experimental/PdfViewer/pdfparser/native/SkNativeParsedPDF.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698