blob: 905041bab6f13ba8cfc4110df810e1dd806e0e5e [file] [log] [blame]
edisonn@google.comcf2cfa12013-08-21 16:31:37 +00001/*
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#ifndef SkPdfConfig_DEFINED
9#define SkPdfConfig_DEFINED
edisonn@google.com3aac1f92013-07-02 22:42:53 +000010
edisonn@google.combca421b2013-09-05 20:00:21 +000011//#define PDF_TRACK_OBJECT_USAGE
edisonn@google.com0fd25d82013-09-05 16:40:34 +000012//#define PDF_TRACK_STREAM_OFFSETS
edisonn@google.com3aac1f92013-07-02 22:42:53 +000013//#define PDF_TRACE
edisonn@google.com2ccc3af2013-07-23 17:43:18 +000014//#define PDF_TRACE_READ_TOKEN
edisonn@google.com3aa35552013-08-14 18:26:20 +000015//#define PDF_TRACE_DRAWTEXT
edisonn@google.com3aac1f92013-07-02 22:42:53 +000016//#define PDF_TRACE_DIFF_IN_PNG
17//#define PDF_DEBUG_NO_CLIPING
18//#define PDF_DEBUG_NO_PAGE_CLIPING
19//#define PDF_DEBUG_3X
20
edisonn@google.com0fd25d82013-09-05 16:40:34 +000021
22// TODO(edisonn): pass a flag to say how it was used? e.g. asked the type? Obtained value?
23// Implement it when it will be needed the first time to fix some bug.
24#ifdef PDF_TRACK_OBJECT_USAGE
25#define SkPdfMarkObjectUsed() fUsed = true
26#else
27#define SkPdfMarkObjectUsed()
28#endif // PDF_TRACK_OBJECT_USAGE
29
30#ifdef PDF_TRACK_OBJECT_USAGE
31#define SkPdfMarkObjectUnused() fUsed = false
32#else
33#define SkPdfMarkObjectUnused()
34#endif // PDF_TRACK_OBJECT_USAGE
35
edisonn@google.combca421b2013-09-05 20:00:21 +000036#ifdef PDF_TRACK_STREAM_OFFSETS
37
38// TODO(edisonn): track source files
39#define SkPdfTrackSrourceFile(foo) -2
40
41#define GET_TRACK_STREAM , int streamId, const unsigned char* streamStart
42#define PUT_TRACK_STREAM_ARGS , streamId, streamStart
43#define PUT_TRACK_STREAM(start,end) , streamId, start-streamStart, end-streamStart
44#define PUT_TRACK_STREAM_ARGS_EXPL(a,b,c) , a, b, c
45#define PUT_TRACK_STREAM_ARGS_EXPL2(a,b) , a, b
46
47
48#define PUT_TRACK_PARAMETERS , streamId, offsetStart, offsetEnd
49#define PUT_TRACK_PARAMETERS_OBJ(obj) , (obj)->streamId(), (obj)->offsetStart(), (obj)->offsetEnd()
50#define PUT_TRACK_PARAMETERS_OBJ2(obj,objEnd) , (obj)->streamId(), (obj)->offsetStart(), (objEnd)->offsetEnd()
51#define PUT_TRACK_PARAMETERS_SRC , SkPdfTrackSrourceFile(__FILE__), __LINE__, __LINE__
52#define PUT_TRACK_PARAMETERS_SRC0 SkPdfTrackSrourceFile(__FILE__), __LINE__, __LINE__
53#define GET_TRACK_PARAMETERS , int streamId, int offsetStart, int offsetEnd
54#define GET_TRACK_PARAMETERS0 int streamId, int offsetStart, int offsetEnd
55#define STORE_TRACK_PARAMETERS(obj) (obj)->fStreamId = streamId; (obj)->fOffsetStart = offsetStart; (obj)->fOffsetEnd = offsetEnd;
56#define STORE_TRACK_PARAMETER_OFFSET_END(obj,offsetEnd) (obj)->fOffsetEnd = (offsetEnd)-streamStart;
57#else
58#define GET_TRACK_STREAM
59#define PUT_TRACK_STREAM_ARGS
60#define PUT_TRACK_STREAM(start,end)
61#define PUT_TRACK_STREAM_ARGS_EXPL(a,b,c)
62#define PUT_TRACK_STREAM_ARGS_EXPL2(a,b)
63
64
65#define PUT_TRACK_PARAMETERS
66#define PUT_TRACK_PARAMETERS_OBJ(obj)
67#define PUT_TRACK_PARAMETERS_OBJ2(obj,objEnd)
68#define PUT_TRACK_PARAMETERS_SRC
69#define PUT_TRACK_PARAMETERS_SRC0
70#define GET_TRACK_PARAMETERS
71#define GET_TRACK_PARAMETERS0
72#define STORE_TRACK_PARAMETERS(obj)
73#define STORE_TRACK_PARAMETER_OFFSET_END(obj,offsetEnd)
74#endif //PDF_TRACK_STREAM_OFFSETS
75
76
edisonn@google.comcf2cfa12013-08-21 16:31:37 +000077#endif // SkPdfConfig_DEFINED