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

Function loadAssetFromBitmap

valdi/src/valdi/android/AndroidAssetLoader.cpp:123–154  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123static void loadAssetFromBitmap(const Valdi::Ref<ResourceLoader>& resourceLoader,
124 const Valdi::Ref<Valdi::IBitmap>& bitmap,
125 int32_t preferredWidth,
126 int32_t preferredHeight,
127 const Valdi::Value& attachedData,
128 const Valdi::Ref<Valdi::AssetLoaderCompletion>& completion) {
129 auto androidBitmap = Valdi::castOrNull<AndroidBitmap>(bitmap);
130 if (androidBitmap == nullptr) {
131 completion->onLoadComplete(Valdi::Error("SVG rasterization did not return an Android bitmap"));
132 return;
133 }
134
135 auto* completionHandle = Valdi::unsafeBridgeRetain(completion.get());
136
137 const float* colorMatrixFilter = nullptr;
138 float blurRadiusFilter = 0.0f;
139
140 auto typedFilter = attachedData.getTypedRef<Valdi::ImageFilter>();
141 if (typedFilter != nullptr) {
142 if (!typedFilter->isIdentityColorMatrix()) {
143 colorMatrixFilter = typedFilter->getColorMatrix();
144 }
145 blurRadiusFilter = typedFilter->getBlurRadius();
146 }
147
148 resourceLoader->loadAssetFromBitmap(androidBitmap->getJavaBitmap(),
149 preferredWidth,
150 preferredHeight,
151 colorMatrixFilter,
152 blurRadiusFilter,
153 reinterpret_cast<jlong>(completionHandle));
154}
155
156class AndroidAssetLoaderWithDownloader : public Valdi::AssetLoader {
157public:

Callers 1

loadAssetMethod · 0.85

Calls 9

unsafeBridgeRetainFunction · 0.85
isIdentityColorMatrixMethod · 0.80
getColorMatrixMethod · 0.80
getBlurRadiusMethod · 0.80
getJavaBitmapMethod · 0.80
getMethod · 0.65
ErrorInterface · 0.50
onLoadCompleteMethod · 0.45
loadAssetFromBitmapMethod · 0.45

Tested by

no test coverage detected