1 /*
2 * Copyright 2013 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8 #ifdef PDF_REPORT
9
10 #include "SkPdfReporter.h"
11
12 #include "SkTypes.h"
13
14 const char* severityName[] = {
15 "Info",
16 "CodeWarning",
17 "Warning",
18 "IgnoreError",
19 "Error",
20 "FatalError",
21 };
22
getSeverityName(SkPdfIssueSeverity sev)23 const char* getSeverityName(SkPdfIssueSeverity sev) {
24 if (0 <= sev && sev < _kCount__SkPdfIssueSeverity) {
25 return severityName[sev];
26 }
27 SkASSERT(false);
28 return "UNKOWN SEVERITY";
29 }
30
31 // TODO(edisonn): add a flag to set the minimum warning level
32 // TODO(edisonn): get the address in the file, and report it.
33 // TODO(edisonn): build a html file based on warnings which would showe the original pdf
34 // content, with tooltips where warnings/errors were reported.
35
36
SkPdfReport(SkPdfIssueSeverity sev,SkPdfIssue issue,const char * context,const SkPdfNativeObject * obj,SkPdfContext * pdfContext)37 void SkPdfReport(SkPdfIssueSeverity sev, SkPdfIssue issue,
38 const char* context,
39 const SkPdfNativeObject* obj,
40 SkPdfContext* pdfContext) {
41 if (sev >= kIgnoreError_SkPdfIssueSeverity) {
42 printf("%s: %s\n", getSeverityName(sev), context);
43 }
44 }
45
SkPdfReportIf(bool report,SkPdfIssueSeverity sev,SkPdfIssue issue,const char * context,const SkPdfNativeObject * obj,SkPdfContext * pdfContext)46 void SkPdfReportIf(bool report,
47 SkPdfIssueSeverity sev, SkPdfIssue issue,
48 const char* context,
49 const SkPdfNativeObject* obj,
50 SkPdfContext* pdfContext) {
51 if (!report) {
52 return;
53 }
54 SkPdfReport(sev, issue, context, obj, pdfContext);
55 }
56
SkPdfReportUnexpectedType(SkPdfIssueSeverity sev,const char * context,const SkPdfNativeObject * obj,int anyOfTypes,SkPdfContext * pdfContext)57 void SkPdfReportUnexpectedType(SkPdfIssueSeverity sev,
58 const char* context,
59 const SkPdfNativeObject* obj,
60 int anyOfTypes, SkPdfContext* pdfContext) {
61 if (sev >= kIgnoreError_SkPdfIssueSeverity) {
62 printf("%s: %s\n", getSeverityName(sev), context);
63 }
64 }
65
66 #endif // PDF_REPORT
67