Flutter Impeller
impeller.hpp File Reference
#include <functional>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
#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::FragmentProgram
 
class  IMPELLER_HPP_NAMESPACE::ColorSource
 
class  IMPELLER_HPP_NAMESPACE::ImageFilter
 
class  IMPELLER_HPP_NAMESPACE::MaskFilter
 
class  IMPELLER_HPP_NAMESPACE::GlyphInfo
 
class  IMPELLER_HPP_NAMESPACE::LineMetrics
 
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::VulkanSwapchain
 
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};
 
#define IMPELLER_HPP_DEFINE_TRAITS(object)
 

Enumerations

enum class  IMPELLER_HPP_NAMESPACE::AdoptTag { IMPELLER_HPP_NAMESPACE::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 (ImpellerFragmentProgram)
 
 IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerGlyphInfo)
 
 IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerImageFilter)
 
 IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerLineMetrics)
 
 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)
 
 IMPELLER_HPP_NAMESPACE::IMPELLER_HPP_DEFINE_TRAITS (ImpellerVulkanSwapchain)
 

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 306 of file impeller.hpp.

◆ IMPELLER_HPP_EACH_PROC

#define IMPELLER_HPP_EACH_PROC (   PROC)

Definition at line 48 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 24 of file impeller.hpp.

◆ IMPELLER_HPP_PROC [1/2]

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

Definition at line 242 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 242 of file impeller.hpp.