MCPcopy Create free account
hub / github.com/Snapchat/Valdi / makeSVGDOM

Function makeSVGDOM

snap_drawing/src/snap_drawing/cpp/Utils/SVGUtils.cpp:28–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26}
27
28Valdi::Result<sk_sp<SkSVGDOM>> makeSVGDOM(const Valdi::BytesView& data) {
29 Image::initializeCodecs();
30 SkMemoryStream stream(data.data(), data.size(), false);
31
32 auto fontManager = snap_drawing::getSkFontMgrSingleton();
33 auto resourceProvider = skresources::DataURIResourceProviderProxy::Make(
34 nullptr, skresources::ImageDecodeStrategy::kPreDecode, fontManager);
35
36 auto dom =
37 SkSVGDOM::Builder().setFontManager(fontManager).setResourceProvider(std::move(resourceProvider)).make(stream);
38 if (!dom) {
39 return Valdi::Error("Unable to decode SVG");
40 }
41
42 return dom;
43}
44
45Valdi::Result<std::pair<int, int>> getSVGSize(const Valdi::BytesView& data) {
46 auto dom = makeSVGDOM(data);

Callers 3

makeMethod · 0.85
getSVGSizeFunction · 0.85
rasterizeSVGFunction · 0.85

Calls 6

getSkFontMgrSingletonFunction · 0.85
MakeFunction · 0.85
ErrorInterface · 0.50
dataMethod · 0.45
sizeMethod · 0.45
makeMethod · 0.45

Tested by

no test coverage detected