| Flutter Impeller |

Classes | Namespaces | Macros | Functions
capture.h File Reference
`#include <functional>`
`#include <initializer_list>`
`#include <memory>`
`#include <string>`
`#include <type_traits>`
`#include <unordered_map>`
`#include <unordered_set>`
`#include <vector>`
`#include "flutter/fml/logging.h"`
`#include "flutter/fml/macros.h"`
`#include "impeller/geometry/color.h"`
`#include "impeller/geometry/matrix.h"`
`#include "impeller/geometry/point.h"`
`#include "impeller/geometry/rect.h"`
`#include "impeller/geometry/scalar.h"`
`#include "impeller/geometry/vector.h"`

Go to the source code of this file.

## Classes
struct | impeller::CaptureCursorListElement< Type >
struct | impeller::CaptureProperty
| A capturable property type. More...
struct | impeller::CaptureProperty::Options
struct | impeller::CaptureProperty::Options::Range
struct | impeller::CaptureProcTable
class | impeller::CapturePlaybackList< Type >
struct | impeller::CaptureElement
class | impeller::Capture
class | impeller::CaptureContext

## Namespaces
| impeller

## Macros
#define | _FOR_EACH_CAPTURE_PROPERTY(PROPERTY_V)
#define | _CAPTURE_TYPE(type_name, pascal_name, lower_name) k##pascal_name,
#define | _CAPTURE_PROPERTY_CAST_DECLARATION(type_name, pascal_name, lower_name) std::optional<type_name> As##pascal_name() const;
#define | _CAPTURE_PROPERTY_DECLARATION(type_name, pascal_name, lower_name)
#define | _CAPTURE_PROC(type_name, pascal_name, lower_name)
#define | _CAPTURE_PROPERTY_RECORDER_DECLARATION(type_name, pascal_name, lower_name)

## Functions
| impeller::_FOR_EACH_CAPTURE_PROPERTY (_CAPTURE_PROPERTY_DECLARATION)

## Macro Definition Documentation

## ◆ _CAPTURE_PROC

#define _CAPTURE_PROC | ( |  | type_name,
|  |  | pascal_name,
|  |  | lower_name
| ) |  |

Value:
std::function<void(Capture##pascal_name##Property&)> lower_name = \
[](Capture##pascal_name##Property& value) {};

Definition at line 124 of file capture.h.

## ◆ _CAPTURE_PROPERTY_CAST_DECLARATION

#define _CAPTURE_PROPERTY_CAST_DECLARATION | ( |  | type_name,
|  |  | pascal_name,
|  |  | lower_name
| ) |  | std::optional<type_name> As##pascal_name() const;

Definition at line 63 of file capture.h.

## ◆ _CAPTURE_PROPERTY_DECLARATION

#define _CAPTURE_PROPERTY_DECLARATION | ( |  | type_name,
|  |  | pascal_name,
|  |  | lower_name
| ) |  |

Value:
struct Capture##pascal_name##Property final : public CaptureProperty { \
type_name value; \
\
static std::shared_ptr<Capture##pascal_name##Property> \
Make(const std::string& label, type_name value, Options options); \
\
/* |CaptureProperty| */ \
Type GetType() const override; \
\
/* |CaptureProperty| */ \
void Invoke(const CaptureProcTable& proc_table) override; \
\
private: \
Capture##pascal_name##Property(const std::string& label, \
type_name value, \
Options options); \
\
FML_DISALLOW_COPY_AND_ASSIGN(Capture##pascal_name##Property); \
};

Definition at line 101 of file capture.h.

## ◆ _CAPTURE_PROPERTY_RECORDER_DECLARATION

#define _CAPTURE_PROPERTY_RECORDER_DECLARATION | ( |  | type_name,
|  |  | pascal_name,
|  |  | lower_name
| ) |  |

Value:
inline type_name Add##pascal_name(const std::string& label, type_name value, \
CaptureProperty::Options options = {}) { \
return value; \
}

Definition at line 218 of file capture.h.

## ◆ _CAPTURE_TYPE

#define _CAPTURE_TYPE | ( |  | type_name,
|  |  | pascal_name,
|  |  | lower_name
| ) |  | k##pascal_name,

Definition at line 61 of file capture.h.

## ◆ _FOR_EACH_CAPTURE_PROPERTY

#define _FOR_EACH_CAPTURE_PROPERTY | ( |  | PROPERTY_V | ) |

Value:
PROPERTY_V(bool, Boolean, boolean) \
PROPERTY_V(int, Integer, integer) \
PROPERTY_V(Scalar, Scalar, scalar) \
PROPERTY_V(Point, Point, point) \
PROPERTY_V(Vector3, Vector3, vector3) \
PROPERTY_V(Rect, Rect, rect) \
PROPERTY_V(Color, Color, color) \
PROPERTY_V(Matrix, Matrix, matrix) \
PROPERTY_V(std::string, String, string)

Definition at line 29 of file capture.h.

impeller::Scalar
float Scalar
Definition: scalar.h:15
impeller::Point
TPoint< Scalar > Point
Definition: point.h:306
impeller::Rect
TRect< Scalar > Rect
Definition: rect.h:306