1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkXPSDocument_DEFINED
#define SkXPSDocument_DEFINED
#include "include/core/SkTypes.h"
#ifdef SK_BUILD_FOR_WIN
#include "include/core/SkDocument.h"
struct IXpsOMObjectFactory;
class SKWStream;
class SkPixmap;
namespace SkXPS {
using EncodePngCallback = bool (*)(SkWStream* dst, const SkPixmap& src);
struct Options {
float dpi = SK_ScalarDefaultRasterDPI;
/** Clients can provide a way to encode png. */
EncodePngCallback pngEncoder = nullptr;
/** Skia's XPS support depends on having a png encoder registered to handle
* XPS image brushes. Clients that create XPS documents without images may
* set `allowNoPngs` to true to acknowledge this.
*/
bool allowNoPngs = false;
};
SK_API sk_sp<SkDocument> MakeDocument(SkWStream* stream,
IXpsOMObjectFactory* xpsFactory,
Options opts);
} // namespace SkXPS
#endif // SK_BUILD_FOR_WIN
#endif // SkXPSDocument_DEFINED
|