| Flutter Impeller |

Classes | Namespaces | Macros | Enumerations | Functions | Variables
impeller.hpp File Reference
`#include <functional>`
`#include <memory>`
`#include <string>`
`#include <string_view>`
`#include <utility>`
`#include "impeller.h"`

Go to the source code of this file.

## Classes
struct | IMPELLER_HPP_NAMESPACE::Proc< T >
struct | IMPELLER_HPP_NAMESPACE::ProcTable
class | IMPELLER_HPP_NAMESPACE::Object< T, Traits >
class | IMPELLER_HPP_NAMESPACE::Mapping
class | IMPELLER_HPP_NAMESPACE::Context
class | IMPELLER_HPP_NAMESPACE::Texture
class | IMPELLER_HPP_NAMESPACE::ColorFilter
class | IMPELLER_HPP_NAMESPACE::ColorSource
class | IMPELLER_HPP_NAMESPACE::ImageFilter
class | IMPELLER_HPP_NAMESPACE::MaskFilter
class | IMPELLER_HPP_NAMESPACE::Paragraph
class | IMPELLER_HPP_NAMESPACE::Paint
class | IMPELLER_HPP_NAMESPACE::ParagraphStyle
class | IMPELLER_HPP_NAMESPACE::TypographyContext
class | IMPELLER_HPP_NAMESPACE::ParagraphBuilder
class | IMPELLER_HPP_NAMESPACE::Path
class | IMPELLER_HPP_NAMESPACE::PathBuilder
class | IMPELLER_HPP_NAMESPACE::DisplayList
class | IMPELLER_HPP_NAMESPACE::Surface
class | IMPELLER_HPP_NAMESPACE::DisplayListBuilder

## Namespaces
| IMPELLER_HPP_NAMESPACE

## Macros
#define | IMPELLER_HPP_NAMESPACE impeller::hpp
#define | IMPELLER_HPP_EACH_PROC(PROC)
#define | IMPELLER_HPP_PROC(proc)
#define | IMPELLER_HPP_PROC(name) Proc<decltype(name)> name = {#name, nullptr};
#define | IMPELLER_HPP_DEFINE_TRAITS(object)

## Enumerations
enum | IMPELLER_HPP_NAMESPACE::AdoptTag { IMPELLER_HPP_NAMESPACE::AdoptTag::kAdopt }

## Functions
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerColorFilter)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerColorSource)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerContext)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerDisplayList)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerDisplayListBuilder)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerImageFilter)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerMaskFilter)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerPaint)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerParagraph)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerParagraphBuilder)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerParagraphStyle)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerPath)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerPathBuilder)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerSurface)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerTexture)
| IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerTypographyContext)

## Variables
ProcTable | IMPELLER_HPP_NAMESPACE::gGlobalProcTable

## Macro Definition Documentation

## ◆ IMPELLER_HPP_DEFINE_TRAITS

#define IMPELLER_HPP_DEFINE_TRAITS | ( |  | object | ) |

Value:
struct object##Traits { \
static void Retain(object ctx) { \
gGlobalProcTable.object##Retain(ctx); \
} \
static void Release(object ctx) { \
gGlobalProcTable.object##Release(ctx); \
} \
};

Definition at line 262 of file impeller.hpp.

## ◆ IMPELLER_HPP_EACH_PROC

#define IMPELLER_HPP_EACH_PROC | ( |  | PROC | ) |

Definition at line 47 of file impeller.hpp.

## ◆ IMPELLER_HPP_NAMESPACE

#define IMPELLER_HPP_NAMESPACE impeller::hpp

A C++ 17 wrapper to the C Impeller API. This is a convenience wrapper for the C++ API and only depends on standard libc++ utilities in addition to impeller.h

Definition at line 23 of file impeller.hpp.

## ◆ IMPELLER_HPP_PROC [1/2]

#define IMPELLER_HPP_PROC | ( |  | name | ) | Proc<decltype(name)> name = {#name, nullptr};

Definition at line 198 of file impeller.hpp.

## ◆ IMPELLER_HPP_PROC [2/2]

#define IMPELLER_HPP_PROC | ( |  | proc | ) |

Value:
{ \
proc.function = \
reinterpret_cast<decltype(proc.function)>(resolver(proc.name)); \
if (proc.function == nullptr) { \
return false; \
} \
}

Definition at line 198 of file impeller.hpp.