7#ifndef SkPDFUtils_DEFINED
8#define SkPDFUtils_DEFINED
30 return 0 == memcmp(u, v, n *
sizeof(
T));
34#define PRINT_NOT_IMPL(str) fprintf(stderr, str)
36#define PRINT_NOT_IMPL(str)
39#define NOT_IMPLEMENTED(condition, assert) \
41 if ((bool)(condition)) { \
42 PRINT_NOT_IMPL("NOT_IMPLEMENTED: " #condition "\n"); \
43 SkDEBUGCODE(SkASSERT(!assert);) \
90 stream->write(
result, len);
108 uint16_t utf16[2] = {0, 0};
127 std::unique_ptr<SkPDFDict> resources,
132#ifdef SK_PDF_BASE85_BINARY
unsigned SkFloatToDecimal(float value, char output[kMaximumSkFloatToDecimalLength])
constexpr unsigned kMaximumSkFloatToDecimalLength
bool SkPackedArrayEqual(T *u, T *v, size_t n)
SkShaderBase * as_SB(SkShader *shader)
static const SkMatrix & I()
virtual bool write(const void *buffer, size_t size)=0
static const uint8_t buffer[]
union flutter::testing::@2838::KeyboardChange::@76 content
void GetDateTime(SkPDF::DateTime *)
void ApplyGraphicState(int objectIndex, SkWStream *content)
void PopulateTilingPatternDict(SkPDFDict *pattern, SkRect &bbox, std::unique_ptr< SkPDFDict > resources, const SkMatrix &matrix)
void WriteUInt8(SkWStream *wStream, uint8_t value)
size_t ColorToDecimalF(float value, char result[kFloatColorDecimalCount+2])
size_t ColorToDecimal(uint8_t value, char result[5])
void AppendColorComponent(uint8_t value, SkWStream *wStream)
const char * BlendModeName(SkBlendMode)
std::unique_ptr< SkPDFArray > MatrixToArray(const SkMatrix &matrix)
void EmitPath(const SkPath &path, SkPaint::Style paintStyle, bool doConsumeDegerates, SkWStream *content, SkScalar tolerance=0.25f)
void AppendRectangle(const SkRect &rect, SkWStream *content)
void PaintPath(SkPaint::Style style, SkPathFillType fill, SkWStream *content)
void AppendScalar(SkScalar value, SkWStream *stream)
void MoveTo(SkScalar x, SkScalar y, SkWStream *content)
void AppendLine(SkScalar x, SkScalar y, SkWStream *content)
void WriteUInt16BE(SkWStream *wStream, uint16_t value)
void AppendTransform(const SkMatrix &, SkWStream *)
SkMatrix GetShaderLocalMatrix(const SkShader *shader)
void ApplyPattern(int objectIndex, SkWStream *content)
bool ToBitmap(const SkImage *img, SkBitmap *dst)
void AppendColorComponentF(float value, SkWStream *wStream)
bool InverseTransformBBox(const SkMatrix &matrix, SkRect *bbox)
void ClosePath(SkWStream *content)
static constexpr unsigned kFloatColorDecimalCount
void StrokePath(SkWStream *content)
std::unique_ptr< SkPDFArray > RectToArray(const SkRect &rect)
void WriteUTF16beHex(SkWStream *wStream, SkUnichar utf32)
SK_SPI size_t ToUTF16(SkUnichar uni, uint16_t utf16[2]=nullptr)