78 fillMap.set(fillKey, ref);
95 state.insertColorComponentF(
"CA", strokeKey.
fAlpha);
96 state.insertColorComponentF(
"ca", strokeKey.
fAlpha);
101 state.insertBool(
"SA",
true);
104 sMap.set(strokeKey, ref);
114 static const char psInvert[] =
"{1 exch sub}";
119 dict->insertInt(
"FunctionType", 4);
127 SkPDFSMaskMode sMaskMode,
133 sMaskDict->insertName(
"S",
"Alpha");
135 sMaskDict->insertName(
"S",
"Luminosity");
137 sMaskDict->insertRef(
"G", sMask);
146 result.insertObject(
"SMask", std::move(sMaskDict));
@ kSrcOver
r = s + (1-sa)*d
@ kXor
r = s*(1-da) + d*(1-sa)
static int to_stroke_cap(uint8_t cap)
static SkPDFIndirectReference make_invert_function(SkPDFDocument *doc)
static uint8_t pdf_blend_mode(SkBlendMode mode)
static int to_stroke_join(uint8_t join)
static const char * as_pdf_blend_mode_name(SkBlendMode mode)
SkPDFIndirectReference SkPDFStreamOut(std::unique_ptr< SkPDFDict > dict, std::unique_ptr< SkStreamAsset > content, SkPDFDocument *doc, SkPDFSteamCompressionEnabled compress)
static std::unique_ptr< SkPDFDict > SkPDFMakeDict(const char *type=nullptr)
static std::unique_ptr< SkPDFArray > SkPDFMakeArray(Args... args)
constexpr uint8_t SkToU8(S x)
static sk_sp< SkData > MakeWithoutCopy(const void *data, size_t length)
static std::unique_ptr< SkMemoryStream > Make(sk_sp< SkData > data)
skia_private::THashMap< SkPDFStrokeGraphicState, SkPDFIndirectReference, SkPDFStrokeGraphicState::Hash > fStrokeGSMap
SkPDFIndirectReference emit(const SkPDFObject &, SkPDFIndirectReference)
skia_private::THashMap< SkPDFFillGraphicState, SkPDFIndirectReference, SkPDFFillGraphicState::Hash > fFillGSMap
SkPDFIndirectReference fInvertFunction
@ kButt_Cap
no stroke extension
@ kFill_Style
set to fill geometry
@ kMiter_Join
extends to miter limit
@ kBevel_Join
connects outside edges
SkPDFIndirectReference GetGraphicStateForPaint(SkPDFDocument *, const SkPaint &)
SkPDFIndirectReference GetSMaskGraphicState(SkPDFIndirectReference sMask, bool invert, SkPDFSMaskMode sMaskMode, SkPDFDocument *doc)
const char * BlendModeName(SkBlendMode)
DEF_SWITCHES_START aot vmservice shared library name
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
static SkString join(const CommandLineFlags::StringArray &)