| 94 | } |
| 95 | |
| 96 | static void loadAssetFromBytes(const Valdi::Ref<ResourceLoader>& resourceLoader, |
| 97 | const Valdi::BytesView& bytes, |
| 98 | int32_t preferredWidth, |
| 99 | int32_t preferredHeight, |
| 100 | const Valdi::Value& attachedData, |
| 101 | const Valdi::Ref<Valdi::AssetLoaderCompletion>& completion) { |
| 102 | auto* completionHandle = Valdi::unsafeBridgeRetain(completion.get()); |
| 103 | |
| 104 | const float* colorMatrixFilter = nullptr; |
| 105 | float blurRadiusFilter = 0.0f; |
| 106 | |
| 107 | auto typedFilter = attachedData.getTypedRef<Valdi::ImageFilter>(); |
| 108 | if (typedFilter != nullptr) { |
| 109 | if (!typedFilter->isIdentityColorMatrix()) { |
| 110 | colorMatrixFilter = typedFilter->getColorMatrix(); |
| 111 | } |
| 112 | blurRadiusFilter = typedFilter->getBlurRadius(); |
| 113 | } |
| 114 | |
| 115 | resourceLoader->loadAssetFromBytes(bytes, |
| 116 | preferredWidth, |
| 117 | preferredHeight, |
| 118 | colorMatrixFilter, |
| 119 | blurRadiusFilter, |
| 120 | reinterpret_cast<jlong>(completionHandle)); |
| 121 | } |
| 122 | |
| 123 | static void loadAssetFromBitmap(const Valdi::Ref<ResourceLoader>& resourceLoader, |
| 124 | const Valdi::Ref<Valdi::IBitmap>& bitmap, |
no test coverage detected