PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/react-native/ReactCommon/react/renderer/components/image
Просмотр файла: ImageEventEmitter.cpp
/*
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#include "ImageEventEmitter.h"
namespace facebook::react {
void ImageEventEmitter::onLoadStart() const {
dispatchEvent("loadStart");
}
void ImageEventEmitter::onLoad(const ImageSource& source) const {
dispatchEvent("load", [source](jsi::Runtime& runtime) {
auto src = jsi::Object(runtime);
src.setProperty(runtime, "uri", source.uri);
src.setProperty(runtime, "width", source.size.width * source.scale);
src.setProperty(runtime, "height", source.size.height * source.scale);
auto payload = jsi::Object(runtime);
payload.setProperty(runtime, "source", src);
return payload;
});
}
void ImageEventEmitter::onLoadEnd() const {
dispatchEvent("loadEnd");
}
void ImageEventEmitter::onProgress(
double progress,
int64_t loaded,
int64_t total) const {
dispatchEvent("progress", [progress, loaded, total](jsi::Runtime& runtime) {
auto payload = jsi::Object(runtime);
payload.setProperty(runtime, "progress", progress);
payload.setProperty(runtime, "loaded", (double)loaded);
payload.setProperty(runtime, "total", (double)total);
return payload;
});
}
void ImageEventEmitter::onError(const ImageErrorInfo& error) const {
dispatchEvent("error", [error](jsi::Runtime& runtime) {
auto payload = jsi::Object(runtime);
if (!error.error.empty()) {
payload.setProperty(runtime, "error", error.error);
}
if (error.responseCode != 0) {
payload.setProperty(runtime, "responseCode", error.responseCode);
}
if (!error.httpResponseHeaders.empty()) {
auto headers = jsi::Object(runtime);
for (const auto& x : error.httpResponseHeaders) {
headers.setProperty(runtime, x.first.c_str(), x.second);
}
payload.setProperty(runtime, "httpResponseHeaders", headers);
}
return payload;
});
}
void ImageEventEmitter::onPartialLoad() const {
dispatchEvent("partialLoad");
}
} // namespace facebook::react
Выполнить команду
Для локальной разработки. Не используйте в интернете!