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

Side by Side Diff: experimental/PdfViewer/SkPdfReporter.h

Issue 27057003: pdfviewer: more code comments + concat the pdf matrix with the existing matrix in canvas, instead o… (Closed) Base URL: http://skia.googlecode.com/svn/trunk/
Patch Set: Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « experimental/PdfViewer/SkPdfRenderer.cpp ('k') | experimental/PdfViewer/SkPdfReporter.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2013 Google Inc. 2 * Copyright 2013 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #ifndef SkPdfReporter_DEFINED 9 #ifndef SkPdfReporter_DEFINED
10 #define SkPdfReporter_DEFINED 10 #define SkPdfReporter_DEFINED
11 11
12 #include "SkPdfConfig.h" 12 #include "SkPdfConfig.h"
13 13
14 class SkPdfNativeObject; 14 class SkPdfNativeObject;
15 class SkPdfContext; 15 class SkPdfContext;
16 16
17 // TODO(edisonn): ability to turn on asserts for known good files 17 // TODO(edisonn): ability to turn on asserts for known good files
18 18
19 // Severity of the issue, if it something interesting info, the result of an NYI feature,
20 // sme ignorable defect in pdf or a major issue.
19 enum SkPdfIssueSeverity { 21 enum SkPdfIssueSeverity {
20 kInfo_SkPdfIssueSeverity, 22 kInfo_SkPdfIssueSeverity,
21 kCodeWarning_SkPdfIssueSeverity, // e.g. like NYI, PDF file is Ok. 23 kCodeWarning_SkPdfIssueSeverity, // e.g. like NYI, PDF file is Ok.
22 kWarning_SkPdfIssueSeverity, 24 kWarning_SkPdfIssueSeverity,
23 kIgnoreError_SkPdfIssueSeverity, 25 kIgnoreError_SkPdfIssueSeverity,
24 kError_SkPdfIssueSeverity, 26 kError_SkPdfIssueSeverity,
25 kFatalError_SkPdfIssueSeverity, 27 kFatalError_SkPdfIssueSeverity,
26 28
27 _kCount__SkPdfIssueSeverity 29 _kCount__SkPdfIssueSeverity
28 }; 30 };
29 31
32 // The type of the issue.
30 enum SkPdfIssue { 33 enum SkPdfIssue {
31 kNoIssue_SkPdfIssue, 34 kNoIssue_SkPdfIssue,
32 35
33 kNullObject_SkPdfIssue, 36 kNullObject_SkPdfIssue,
34 kUnexpectedArraySize_SkPdfIssue, 37 kUnexpectedArraySize_SkPdfIssue,
35 kMissingEncoding_SkPdfIssue, 38 kMissingEncoding_SkPdfIssue,
36 kNYI_SkPdfIssue, 39 kNYI_SkPdfIssue,
37 kIncostistentSizes_SkPdfIssue, 40 kIncostistentSizes_SkPdfIssue,
38 kMissingRequiredKey_SkPdfIssue, 41 kMissingRequiredKey_SkPdfIssue,
39 kRecursiveReferencing_SkPdfIssue, 42 kRecursiveReferencing_SkPdfIssue,
(...skipping 11 matching lines...) Expand all
51 kMissingToken_SkPdfIssue, 54 kMissingToken_SkPdfIssue,
52 kBadReference_SkPdfIssue, 55 kBadReference_SkPdfIssue,
53 kNoFlateLibrary_SkPdfIssue, 56 kNoFlateLibrary_SkPdfIssue,
54 kBadStream_SkPdfIssue, 57 kBadStream_SkPdfIssue,
55 58
56 _kCount__SkPdfIssue 59 _kCount__SkPdfIssue
57 }; 60 };
58 61
59 #ifdef PDF_REPORT 62 #ifdef PDF_REPORT
60 63
64 // Calls SkPdfReport(...) if report is true.
61 void SkPdfReportIf(bool report, 65 void SkPdfReportIf(bool report,
62 SkPdfIssueSeverity sev, SkPdfIssue issue, 66 SkPdfIssueSeverity sev, SkPdfIssue issue,
63 const char* context, 67 const char* context,
64 const SkPdfNativeObject* obj, 68 const SkPdfNativeObject* obj,
65 SkPdfContext* pdfContext); 69 SkPdfContext* pdfContext);
70
71 // Reports an issue, along with information where it happened, for example obj c an be used to report
72 // where exactly in th pdf there is a corruption
73 // TODO(edisonn): add ability to report the callstack
66 void SkPdfReport(SkPdfIssueSeverity sev, SkPdfIssue issue, 74 void SkPdfReport(SkPdfIssueSeverity sev, SkPdfIssue issue,
67 const char* context, 75 const char* context,
68 const SkPdfNativeObject* obj, 76 const SkPdfNativeObject* obj,
69 SkPdfContext* pdfContext); 77 SkPdfContext* pdfContext);
78
79 // Reports that an object does not have the expected type
80 // TODO(edisonn): replace with SkPdfReportIfUnexpectedType() to simplify the cal lers?
81 // TODO(edisonn): pass the keyword/operator too which triggers the issue.
70 void SkPdfReportUnexpectedType(SkPdfIssueSeverity sev, 82 void SkPdfReportUnexpectedType(SkPdfIssueSeverity sev,
71 const char* context, 83 const char* context,
72 const SkPdfNativeObject* obj, int anyOfTypes, 84 const SkPdfNativeObject* obj, int anyOfTypes,
73 SkPdfContext* pdfContext); 85 SkPdfContext* pdfContext);
86
87 // Code only in builds with reporting turn on.
74 #define SkPdfREPORTCODE(code) code 88 #define SkPdfREPORTCODE(code) code
75 89
76 #else // !PDF_REPORT 90 #else // !PDF_REPORT
77 91
78 #define SkPdfReportIf(a,b,c,d,e,f) 92 #define SkPdfReportIf(a,b,c,d,e,f)
79 #define SkPdfReport(a,b,c,d,e) 93 #define SkPdfReport(a,b,c,d,e)
80 #define SkPdfReportUnexpectedType(a,b,c,d,e) 94 #define SkPdfReportUnexpectedType(a,b,c,d,e)
81 #define SkPdfREPORTCODE(code) 95 #define SkPdfREPORTCODE(code)
82 96
83 #endif // PDF_REPORT 97 #endif // PDF_REPORT
84 98
85 #endif // SkPdfReporter_DEFINED 99 #endif // SkPdfReporter_DEFINED
OLDNEW
« no previous file with comments | « experimental/PdfViewer/SkPdfRenderer.cpp ('k') | experimental/PdfViewer/SkPdfReporter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698