Files
react-native/ReactCommon/fabric/imagemanager/ImageInstrumentation.h
T
Kevin Gozali 55142efd3a iOS Fabric: added support for image instrumentation [1]
Summary:
Added basic hook to enable image instrumentation. The hook passes information to the existing image loader, where instrumentation is done, specific for each app, if any.

Changelog: [Internal]

Reviewed By: mdvacca

Differential Revision: D19047899

fbshipit-source-id: 6c013806cce98bcf1ea240d696a7ede9697e5cd9
2019-12-16 22:50:44 -08:00

41 lines
956 B
C++

/*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#pragma once
#include <react/core/ReactPrimitives.h>
namespace facebook {
namespace react {
/*
* A base class for performing image loading instrumentation.
* The actual instrumentation is app, platform, and image loader-specific.
*/
class ImageInstrumentation {
public:
virtual ~ImageInstrumentation() noexcept = default;
/**
* Mark that the image content is set on the native image component on screen.
*/
virtual void didSetImage() const = 0;
/**
* Mark that the image view starts to be visible on screen.
*/
virtual void didEnterVisibilityRange() const = 0;
/**
* Mark that the image view is no longer visible on screen.
*/
virtual void didExitVisibilityRange() const = 0;
};
} // namespace react
} // namespace facebook