| Index: src/pdf/SkPDFUtils.h
|
| diff --git a/src/pdf/SkPDFUtils.h b/src/pdf/SkPDFUtils.h
|
| index cb6e29fe4151ad35ed7a1c99132aa1a5e7a68cd2..124e19961481a6d48da583f8a00c923fe1ef0b03 100644
|
| --- a/src/pdf/SkPDFUtils.h
|
| +++ b/src/pdf/SkPDFUtils.h
|
| @@ -11,11 +11,11 @@
|
|
|
| #include "SkPaint.h"
|
| #include "SkPath.h"
|
| +#include "SkStream.h"
|
|
|
| class SkMatrix;
|
| class SkPDFArray;
|
| struct SkRect;
|
| -class SkWStream;
|
|
|
| #if 0
|
| #define PRINT_NOT_IMPL(str) fprintf(stderr, str)
|
| @@ -31,41 +31,52 @@ class SkWStream;
|
| } \
|
| } while (0)
|
|
|
| -class SkPDFUtils {
|
| -public:
|
| - static sk_sp<SkPDFArray> RectToArray(const SkRect& rect);
|
| - static sk_sp<SkPDFArray> MatrixToArray(const SkMatrix& matrix);
|
| - static void AppendTransform(const SkMatrix& matrix, SkWStream* content);
|
| +namespace SkPDFUtils {
|
|
|
| - static void MoveTo(SkScalar x, SkScalar y, SkWStream* content);
|
| - static void AppendLine(SkScalar x, SkScalar y, SkWStream* content);
|
| - static void AppendCubic(SkScalar ctl1X, SkScalar ctl1Y,
|
| - SkScalar ctl2X, SkScalar ctl2Y,
|
| - SkScalar dstX, SkScalar dstY, SkWStream* content);
|
| - static void AppendRectangle(const SkRect& rect, SkWStream* content);
|
| - static void EmitPath(const SkPath& path, SkPaint::Style paintStyle,
|
| - bool doConsumeDegerates, SkWStream* content);
|
| - static void EmitPath(const SkPath& path, SkPaint::Style paintStyle,
|
| - SkWStream* content) {
|
| - SkPDFUtils::EmitPath(path, paintStyle, true, content);
|
| - }
|
| - static void ClosePath(SkWStream* content);
|
| - static void PaintPath(SkPaint::Style style, SkPath::FillType fill,
|
| - SkWStream* content);
|
| - static void StrokePath(SkWStream* content);
|
| - static void DrawFormXObject(int objectIndex, SkWStream* content);
|
| - static void ApplyGraphicState(int objectIndex, SkWStream* content);
|
| - static void ApplyPattern(int objectIndex, SkWStream* content);
|
| +sk_sp<SkPDFArray> RectToArray(const SkRect& rect);
|
| +sk_sp<SkPDFArray> MatrixToArray(const SkMatrix& matrix);
|
| +void AppendTransform(const SkMatrix& matrix, SkWStream* content);
|
|
|
| - // 3 = '-', '.', and '\0' characters.
|
| - // 9 = number of significant digits
|
| - // abs(FLT_MIN_10_EXP) = number of zeros in FLT_MIN
|
| - static const size_t kMaximumFloatDecimalLength = 3 + 9 - FLT_MIN_10_EXP;
|
| - // FloatToDecimal is exposed for unit tests.
|
| - static size_t FloatToDecimal(float value,
|
| - char output[kMaximumFloatDecimalLength]);
|
| - static void AppendScalar(SkScalar value, SkWStream* stream);
|
| - static void WriteString(SkWStream* wStream, const char* input, size_t len);
|
| -};
|
| +void MoveTo(SkScalar x, SkScalar y, SkWStream* content);
|
| +void AppendLine(SkScalar x, SkScalar y, SkWStream* content);
|
| +void AppendCubic(SkScalar ctl1X, SkScalar ctl1Y,
|
| + SkScalar ctl2X, SkScalar ctl2Y,
|
| + SkScalar dstX, SkScalar dstY, SkWStream* content);
|
| +void AppendRectangle(const SkRect& rect, SkWStream* content);
|
| +void EmitPath(const SkPath& path, SkPaint::Style paintStyle,
|
| + bool doConsumeDegerates, SkWStream* content);
|
| +inline void EmitPath(const SkPath& path, SkPaint::Style paintStyle,
|
| + SkWStream* content) {
|
| + SkPDFUtils::EmitPath(path, paintStyle, true, content);
|
| +}
|
| +void ClosePath(SkWStream* content);
|
| +void PaintPath(SkPaint::Style style, SkPath::FillType fill,
|
| + SkWStream* content);
|
| +void StrokePath(SkWStream* content);
|
| +void DrawFormXObject(int objectIndex, SkWStream* content);
|
| +void ApplyGraphicState(int objectIndex, SkWStream* content);
|
| +void ApplyPattern(int objectIndex, SkWStream* content);
|
| +
|
| +// 3 = '-', '.', and '\0' characters.
|
| +// 9 = number of significant digits
|
| +// abs(FLT_MIN_10_EXP) = number of zeros in FLT_MIN
|
| +const size_t kMaximumFloatDecimalLength = 3 + 9 - FLT_MIN_10_EXP;
|
| +// FloatToDecimal is exposed for unit tests.
|
| +size_t FloatToDecimal(float value,
|
| + char output[kMaximumFloatDecimalLength]);
|
| +void AppendScalar(SkScalar value, SkWStream* stream);
|
| +void WriteString(SkWStream* wStream, const char* input, size_t len);
|
| +
|
| +inline void WriteUInt16BE(SkDynamicMemoryWStream* wStream, uint16_t value) {
|
| + static const char gHex[] = "0123456789ABCDEF";
|
| + char result[4];
|
| + result[0] = gHex[ value >> 12 ];
|
| + result[1] = gHex[0xF & (value >> 8 )];
|
| + result[2] = gHex[0xF & (value >> 4 )];
|
| + result[3] = gHex[0xF & (value )];
|
| + wStream->write(result, 4);
|
| +}
|
| +
|
| +} // namespace SkPDFUtils
|
|
|
| #endif
|
|
|