| Flutter Impeller |

Namespaces | Classes | Enumerations | Functions
impeller::interop Namespace Reference

## Namespaces
| testing

## Classes
class | ColorFilter
class | ColorSource
class | Context
class | DisplayList
class | DisplayListBuilder
class | ImageFilter
class | MaskFilter
class | Object
class | ObjectBase
class | Paint
class | Paragraph
class | ParagraphBuilder
class | ParagraphStyle
class | Path
class | PathBuilder
class | ScopedObject
class | Surface
class | Texture
class | TypographyContext

## Enumerations
enum | AdoptTag { AdoptTag::kAdopted }

## Functions
constexpr std::optional< SkRect > | ToSkiaType (const ImpellerRect *rect)
constexpr SkPoint | ToSkiaType (const Point &point)
constexpr SkVector | ToSkiaVector (const Size &point)
constexpr SkRect | ToSkiaType (const Rect &rect)
constexpr SkPathFillType | ToSkiaType (FillType type)
constexpr SkIRect | ToSkiaType (IRect rect)
template<class SkiaType , class OtherType >
std::vector< SkiaType > | ToSkiaType (const std::vector< OtherType > &other_vec)
constexpr flutter::DlColor | ToDisplayListType (Color color)
constexpr SkMatrix | ToSkMatrix (const Matrix &matrix)
template<class DlType , class OtherType >
std::vector< DlType > | ToDisplayListType (const std::vector< OtherType > &other_vec)
constexpr flutter::DlImageSampling | ToDisplayListType (ImpellerTextureSampling sampling)
constexpr flutter::DlBlurStyle | ToDisplayListType (ImpellerBlurStyle style)
constexpr flutter::DlBlendMode | ToDisplayListType (BlendMode mode)
SkRRect | ToSkiaType (const Rect &rect, const RoundingRadii &radii)
constexpr Matrix | ToImpellerType (const ImpellerMatrix &m)
constexpr void | FromImpellerType (const Matrix &from, ImpellerMatrix &to)
constexpr Size | ToImpellerType (const ImpellerSize &size)
constexpr Point | ToImpellerType (const ImpellerPoint &point)
constexpr Size | ToImpellerSize (const ImpellerPoint &point)
constexpr Rect | ToImpellerType (const ImpellerRect &rect)
constexpr flutter::DlTileMode | ToDisplayListType (ImpellerTileMode mode)
constexpr RoundingRadii | ToImpellerType (const ImpellerRoundingRadii &radii)
constexpr FillType | ToImpellerType (ImpellerFillType type)
constexpr flutter::DlCanvas::ClipOp | ToImpellerType (ImpellerClipOperation op)
constexpr Color | ToImpellerType (const ImpellerColor &color)
constexpr BlendMode | ToImpellerType (ImpellerBlendMode mode)
constexpr flutter::DlDrawStyle | ToDisplayListType (ImpellerDrawStyle style)
constexpr flutter::DlStrokeCap | ToDisplayListType (ImpellerStrokeCap cap)
constexpr flutter::DlStrokeJoin | ToDisplayListType (ImpellerStrokeJoin join)
constexpr PixelFormat | ToImpellerType (ImpellerPixelFormat format)
constexpr ISize | ToImpellerType (const ImpellerISize &size)
constexpr flutter::DlColorSpace | ToDisplayListType (ImpellerColorSpace color_space)
constexpr flutter::DlColor | ToDisplayListType (ImpellerColor color)
constexpr txt::FontWeight | ToTxtType (ImpellerFontWeight weight)
constexpr txt::FontStyle | ToTxtType (ImpellerFontStyle style)
constexpr txt::TextAlign | ToTxtType (ImpellerTextAlignment align)
constexpr txt::TextDirection | ToTxtType (ImpellerTextDirection direction)
| DEFINE_PEER_GETTER (ColorFilter, ImpellerColorFilter)
| DEFINE_PEER_GETTER (ColorSource, ImpellerColorSource)
| DEFINE_PEER_GETTER (Context, ImpellerContext)
| DEFINE_PEER_GETTER (DisplayList, ImpellerDisplayList)
| DEFINE_PEER_GETTER (DisplayListBuilder, ImpellerDisplayListBuilder)
| DEFINE_PEER_GETTER (ImageFilter, ImpellerImageFilter)
| DEFINE_PEER_GETTER (MaskFilter, ImpellerMaskFilter)
| DEFINE_PEER_GETTER (Paint, ImpellerPaint)
| DEFINE_PEER_GETTER (Paragraph, ImpellerParagraph)
| DEFINE_PEER_GETTER (ParagraphBuilder, ImpellerParagraphBuilder)
| DEFINE_PEER_GETTER (ParagraphStyle, ImpellerParagraphStyle)
| DEFINE_PEER_GETTER (Path, ImpellerPath)
| DEFINE_PEER_GETTER (PathBuilder, ImpellerPathBuilder)
| DEFINE_PEER_GETTER (Surface, ImpellerSurface)
| DEFINE_PEER_GETTER (Texture, ImpellerTexture)
| DEFINE_PEER_GETTER (TypographyContext, ImpellerTypographyContext)
static std::string | GetVersionAsString (uint32_t version)
IMPELLER_EXTERN_C uint32_t | ImpellerGetVersion ()
| Get the version of Impeller standalone API. This is the API that will be accepted for validity checks when provided to the context creation methods. More...
IMPELLER_EXTERN_C ImpellerContext | ImpellerContextCreateOpenGLESNew (uint32_t version, ImpellerProcAddressCallback gl_proc_address_callback, void *gl_proc_address_callback_user_data)
IMPELLER_EXTERN_C void | ImpellerContextRetain (ImpellerContext context)
IMPELLER_EXTERN_C void | ImpellerContextRelease (ImpellerContext context)
IMPELLER_EXTERN_C ImpellerDisplayListBuilder | ImpellerDisplayListBuilderNew (const ImpellerRect *cull_rect)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderRetain (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderRelease (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderSave (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderSaveLayer (ImpellerDisplayListBuilder builder, const ImpellerRect *bounds, ImpellerPaint paint, ImpellerImageFilter backdrop)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderRestore (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderScale (ImpellerDisplayListBuilder builder, float x_scale, float y_scale)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderRotate (ImpellerDisplayListBuilder builder, float angle_degrees)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderTranslate (ImpellerDisplayListBuilder builder, float x_translation, float y_translation)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderSetTransform (ImpellerDisplayListBuilder builder, const ImpellerMatrix *transform)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderTransform (ImpellerDisplayListBuilder builder, const ImpellerMatrix *transform)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderGetTransform (ImpellerDisplayListBuilder builder, ImpellerMatrix *out_transform)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderResetTransform (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C uint32_t | ImpellerDisplayListBuilderGetSaveCount (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderRestoreToCount (ImpellerDisplayListBuilder builder, uint32_t count)
IMPELLER_EXTERN_C void | ImpellerPathRetain (ImpellerPath path)
IMPELLER_EXTERN_C void | ImpellerPathRelease (ImpellerPath path)
IMPELLER_EXTERN_C ImpellerPathBuilder | ImpellerPathBuilderNew ()
| Create a new path builder. Paths themselves are immutable. A builder builds these immutable paths. More...
IMPELLER_EXTERN_C void | ImpellerPathBuilderRetain (ImpellerPathBuilder builder)
IMPELLER_EXTERN_C void | ImpellerPathBuilderRelease (ImpellerPathBuilder builder)
IMPELLER_EXTERN_C void | ImpellerPathBuilderMoveTo (ImpellerPathBuilder builder, const ImpellerPoint *location)
IMPELLER_EXTERN_C void | ImpellerPathBuilderLineTo (ImpellerPathBuilder builder, const ImpellerPoint *location)
IMPELLER_EXTERN_C void | ImpellerPathBuilderQuadraticCurveTo (ImpellerPathBuilder builder, const ImpellerPoint *control_point, const ImpellerPoint *end_point)
IMPELLER_EXTERN_C void | ImpellerPathBuilderCubicCurveTo (ImpellerPathBuilder builder, const ImpellerPoint *control_point_1, const ImpellerPoint *control_point_2, const ImpellerPoint *end_point)
IMPELLER_EXTERN_C void | ImpellerPathBuilderAddRect (ImpellerPathBuilder builder, const ImpellerRect *rect)
IMPELLER_EXTERN_C void | ImpellerPathBuilderAddArc (ImpellerPathBuilder builder, const ImpellerRect *oval_bounds, float start_angle_degrees, float end_angle_degrees)
IMPELLER_EXTERN_C void | ImpellerPathBuilderAddOval (ImpellerPathBuilder builder, const ImpellerRect *oval_bounds)
IMPELLER_EXTERN_C void | ImpellerPathBuilderAddRoundedRect (ImpellerPathBuilder builder, const ImpellerRect *rect, const ImpellerRoundingRadii *rounding_radii)
IMPELLER_EXTERN_C void | ImpellerPathBuilderClose (ImpellerPathBuilder builder)
IMPELLER_EXTERN_C ImpellerPath | ImpellerPathBuilderCopyPathNew (ImpellerPathBuilder builder, ImpellerFillType fill)
IMPELLER_EXTERN_C ImpellerPath | ImpellerPathBuilderTakePathNew (ImpellerPathBuilder builder, ImpellerFillType fill)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderClipRect (ImpellerDisplayListBuilder builder, const ImpellerRect *rect, ImpellerClipOperation op)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderClipOval (ImpellerDisplayListBuilder builder, const ImpellerRect *oval_bounds, ImpellerClipOperation op)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderClipRoundedRect (ImpellerDisplayListBuilder builder, const ImpellerRect *rect, const ImpellerRoundingRadii *radii, ImpellerClipOperation op)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderClipPath (ImpellerDisplayListBuilder builder, ImpellerPath path, ImpellerClipOperation op)
IMPELLER_EXTERN_C ImpellerPaint | ImpellerPaintNew ()
| Create a new paint with default values. More...
IMPELLER_EXTERN_C void | ImpellerPaintRetain (ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerPaintRelease (ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerPaintSetColor (ImpellerPaint paint, const ImpellerColor *color)
IMPELLER_EXTERN_C void | ImpellerPaintSetBlendMode (ImpellerPaint paint, ImpellerBlendMode mode)
IMPELLER_EXTERN_C void | ImpellerPaintSetDrawStyle (ImpellerPaint paint, ImpellerDrawStyle style)
IMPELLER_EXTERN_C void | ImpellerPaintSetStrokeCap (ImpellerPaint paint, ImpellerStrokeCap cap)
IMPELLER_EXTERN_C void | ImpellerPaintSetStrokeJoin (ImpellerPaint paint, ImpellerStrokeJoin join)
IMPELLER_EXTERN_C void | ImpellerPaintSetStrokeWidth (ImpellerPaint paint, float width)
IMPELLER_EXTERN_C void | ImpellerPaintSetStrokeMiter (ImpellerPaint paint, float miter)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawPaint (ImpellerDisplayListBuilder builder, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawLine (ImpellerDisplayListBuilder builder, const ImpellerPoint *from, const ImpellerPoint *to, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawDashedLine (ImpellerDisplayListBuilder builder, const ImpellerPoint *from, const ImpellerPoint *to, float on_length, float off_length, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawRect (ImpellerDisplayListBuilder builder, const ImpellerRect *rect, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawOval (ImpellerDisplayListBuilder builder, const ImpellerRect *oval_bounds, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawRoundedRect (ImpellerDisplayListBuilder builder, const ImpellerRect *rect, const ImpellerRoundingRadii *radii, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawRoundedRectDifference (ImpellerDisplayListBuilder builder, const ImpellerRect *outer_rect, const ImpellerRoundingRadii *outer_radii, const ImpellerRect *inner_rect, const ImpellerRoundingRadii *inner_radii, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawPath (ImpellerDisplayListBuilder builder, ImpellerPath path, ImpellerPaint paint)
IMPELLER_EXTERN_C ImpellerTexture | ImpellerTextureCreateWithContentsNew (ImpellerContext context, const ImpellerTextureDescriptor *descriptor, const ImpellerMapping *contents, void *contents_on_release_user_data)
IMPELLER_EXTERN_C ImpellerTexture | ImpellerTextureCreateWithOpenGLTextureHandleNew (ImpellerContext context, const ImpellerTextureDescriptor *descriptor, uint64_t external_gl_handle)
IMPELLER_EXTERN_C void | ImpellerTextureRetain (ImpellerTexture texture)
IMPELLER_EXTERN_C void | ImpellerTextureRelease (ImpellerTexture texture)
IMPELLER_EXTERN_C uint64_t | ImpellerTextureGetOpenGLHandle (ImpellerTexture texture)
IMPELLER_EXTERN_C void | ImpellerDisplayListRetain (ImpellerDisplayList display_list)
IMPELLER_EXTERN_C void | ImpellerDisplayListRelease (ImpellerDisplayList display_list)
IMPELLER_EXTERN_C ImpellerDisplayList | ImpellerDisplayListBuilderCreateDisplayListNew (ImpellerDisplayListBuilder builder)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawDisplayList (ImpellerDisplayListBuilder builder, ImpellerDisplayList display_list, float opacity)
IMPELLER_EXTERN_C ImpellerSurface | ImpellerSurfaceCreateWrappedFBONew (ImpellerContext context, uint64_t fbo, ImpellerPixelFormat format, const ImpellerISize *size)
IMPELLER_EXTERN_C void | ImpellerSurfaceRetain (ImpellerSurface surface)
IMPELLER_EXTERN_C void | ImpellerSurfaceRelease (ImpellerSurface surface)
IMPELLER_EXTERN_C bool | ImpellerSurfaceDrawDisplayList (ImpellerSurface surface, ImpellerDisplayList display_list)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawTexture (ImpellerDisplayListBuilder builder, ImpellerTexture texture, const ImpellerPoint *point, ImpellerTextureSampling sampling, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawTextureRect (ImpellerDisplayListBuilder builder, ImpellerTexture texture, const ImpellerRect *src_rect, const ImpellerRect *dst_rect, ImpellerTextureSampling sampling, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerColorSourceRetain (ImpellerColorSource color_source)
IMPELLER_EXTERN_C void | ImpellerColorSourceRelease (ImpellerColorSource color_source)
static std::pair< std::vector< flutter::DlColor >, std::vector< Scalar > > | ParseColorsAndStops (uint32_t stop_count, const ImpellerColor *colors, const float *stops)
IMPELLER_EXTERN_C ImpellerColorSource | ImpellerColorSourceCreateLinearGradientNew (const ImpellerPoint *start_point, const ImpellerPoint *end_point, uint32_t stop_count, const ImpellerColor *colors, const float *stops, ImpellerTileMode tile_mode, const ImpellerMatrix *transformation)
IMPELLER_EXTERN_C ImpellerColorSource | ImpellerColorSourceCreateRadialGradientNew (const ImpellerPoint *center, float radius, uint32_t stop_count, const ImpellerColor *colors, const float *stops, ImpellerTileMode tile_mode, const ImpellerMatrix *transformation)
IMPELLER_EXTERN_C ImpellerColorSource | ImpellerColorSourceCreateConicalGradientNew (const ImpellerPoint *start_center, float start_radius, const ImpellerPoint *end_center, float end_radius, uint32_t stop_count, const ImpellerColor *colors, const float *stops, ImpellerTileMode tile_mode, const ImpellerMatrix *transformation)
IMPELLER_EXTERN_C ImpellerColorSource | ImpellerColorSourceCreateSweepGradientNew (const ImpellerPoint *center, float start, float end, uint32_t stop_count, const ImpellerColor *colors, const float *stops, ImpellerTileMode tile_mode, const ImpellerMatrix *transformation)
IMPELLER_EXTERN_C ImpellerColorSource | ImpellerColorSourceCreateImageNew (ImpellerTexture image, ImpellerTileMode horizontal_tile_mode, ImpellerTileMode vertical_tile_mode, ImpellerTextureSampling sampling, const ImpellerMatrix *transformation)
IMPELLER_EXTERN_C void | ImpellerColorFilterRetain (ImpellerColorFilter color_filter)
IMPELLER_EXTERN_C void | ImpellerColorFilterRelease (ImpellerColorFilter color_filter)
IMPELLER_EXTERN_C ImpellerColorFilter | ImpellerColorFilterCreateBlendNew (const ImpellerColor *color, ImpellerBlendMode blend_mode)
IMPELLER_EXTERN_C ImpellerColorFilter | ImpellerColorFilterCreateColorMatrixNew (const ImpellerColorMatrix *color_matrix)
IMPELLER_EXTERN_C void | ImpellerMaskFilterRetain (ImpellerMaskFilter mask_filter)
IMPELLER_EXTERN_C void | ImpellerMaskFilterRelease (ImpellerMaskFilter mask_filter)
IMPELLER_EXTERN_C ImpellerMaskFilter | ImpellerMaskFilterCreateBlurNew (ImpellerBlurStyle style, float sigma)
| Create a mask filter that blurs contents in the masked shape. More...
IMPELLER_EXTERN_C void | ImpellerImageFilterRetain (ImpellerImageFilter image_filter)
IMPELLER_EXTERN_C void | ImpellerImageFilterRelease (ImpellerImageFilter image_filter)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateBlurNew (float x_sigma, float y_sigma, ImpellerTileMode tile_mode)
| Creates an image filter that applies a Gaussian blur. More...
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateDilateNew (float x_radius, float y_radius)
| Creates an image filter that enhances the per-channel pixel values to the maximum value in a circle around the pixel. More...
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateErodeNew (float x_radius, float y_radius)
| Creates an image filter that dampens the per-channel pixel values to the minimum value in a circle around the pixel. More...
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateMatrixNew (const ImpellerMatrix *matrix, ImpellerTextureSampling sampling)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateComposeNew (ImpellerImageFilter outer, ImpellerImageFilter inner)
IMPELLER_EXTERN_C void | ImpellerPaintSetColorFilter (ImpellerPaint paint, ImpellerColorFilter color_filter)
IMPELLER_EXTERN_C void | ImpellerPaintSetColorSource (ImpellerPaint paint, ImpellerColorSource color_source)
IMPELLER_EXTERN_C void | ImpellerPaintSetImageFilter (ImpellerPaint paint, ImpellerImageFilter image_filter)
IMPELLER_EXTERN_C void | ImpellerPaintSetMaskFilter (ImpellerPaint paint, ImpellerMaskFilter mask_filter)
IMPELLER_EXTERN_C ImpellerParagraphStyle | ImpellerParagraphStyleNew ()
| Create a new paragraph style. More...
IMPELLER_EXTERN_C void | ImpellerParagraphStyleRetain (ImpellerParagraphStyle paragraph_style)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleRelease (ImpellerParagraphStyle paragraph_style)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetForeground (ImpellerParagraphStyle paragraph_style, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetBackground (ImpellerParagraphStyle paragraph_style, ImpellerPaint paint)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetFontWeight (ImpellerParagraphStyle paragraph_style, ImpellerFontWeight weight)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetFontStyle (ImpellerParagraphStyle paragraph_style, ImpellerFontStyle style)
static std::string | ReadString (const char *string)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetFontFamily (ImpellerParagraphStyle paragraph_style, const char *family_name)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetFontSize (ImpellerParagraphStyle paragraph_style, float size)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetHeight (ImpellerParagraphStyle paragraph_style, float height)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetTextAlignment (ImpellerParagraphStyle paragraph_style, ImpellerTextAlignment align)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetTextDirection (ImpellerParagraphStyle paragraph_style, ImpellerTextDirection direction)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetMaxLines (ImpellerParagraphStyle paragraph_style, uint32_t max_lines)
IMPELLER_EXTERN_C void | ImpellerParagraphStyleSetLocale (ImpellerParagraphStyle paragraph_style, const char *locale)
IMPELLER_EXTERN_C void | ImpellerDisplayListBuilderDrawParagraph (ImpellerDisplayListBuilder builder, ImpellerParagraph paragraph, const ImpellerPoint *point)
IMPELLER_EXTERN_C ImpellerParagraphBuilder | ImpellerParagraphBuilderNew (ImpellerTypographyContext context)
IMPELLER_EXTERN_C void | ImpellerParagraphBuilderRetain (ImpellerParagraphBuilder paragraph_builder)
IMPELLER_EXTERN_C void | ImpellerParagraphBuilderRelease (ImpellerParagraphBuilder paragraph_builder)
IMPELLER_EXTERN_C void | ImpellerParagraphBuilderPushStyle (ImpellerParagraphBuilder paragraph_builder, ImpellerParagraphStyle style)
IMPELLER_EXTERN_C void | ImpellerParagraphBuilderPopStyle (ImpellerParagraphBuilder paragraph_builder)
IMPELLER_EXTERN_C void | ImpellerParagraphBuilderAddText (ImpellerParagraphBuilder paragraph_builder, const uint8_t *data, uint32_t length)
IMPELLER_EXTERN_C ImpellerParagraph | ImpellerParagraphBuilderBuildParagraphNew (ImpellerParagraphBuilder paragraph_builder, float width)
IMPELLER_EXTERN_C void | ImpellerParagraphRetain (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C void | ImpellerParagraphRelease (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetMaxWidth (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetHeight (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetLongestLineWidth (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetMinIntrinsicWidth (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetMaxIntrinsicWidth (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetIdeographicBaseline (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C float | ImpellerParagraphGetAlphabeticBaseline (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C uint32_t | ImpellerParagraphGetLineCount (ImpellerParagraph paragraph)
IMPELLER_EXTERN_C ImpellerTypographyContext | ImpellerTypographyContextNew ()
| Create a new typography contents. More...
IMPELLER_EXTERN_C void | ImpellerTypographyContextRetain (ImpellerTypographyContext context)
IMPELLER_EXTERN_C void | ImpellerTypographyContextRelease (ImpellerTypographyContext context)
IMPELLER_EXTERN_C bool | ImpellerTypographyContextRegisterFont (ImpellerTypographyContext context, const ImpellerMapping *contents, void *contents_on_release_user_data, const char *family_name_alias)
template<typename Object >
ScopedObject< Object > | Ref (Object *object)
template<typename Object >
ScopedObject< Object > | Adopt (Object *object)
template<typename Object >
ScopedObject< Object > | Adopt (typename Object::InteropCSibling *object)
template<typename Object , typename... CtorArgs>
ScopedObject< Object > | Create (CtorArgs &&... args)
static sk_sp< SkTypeface > | CreateTypefaceFromFontData (std::unique_ptr< fml::Mapping > font_data)

## Enumeration Type Documentation

## ◆ AdoptTag

enum impeller::interop::AdoptTag
| strong

Enumerator
kAdopted |

Definition at line 62 of file object.h.

62 {
63 kAdopted,
64 };

## Function Documentation

## ◆ Adopt() [1/2]

template<typename Object >

ScopedObject<Object> impeller::interop::Adopt | ( | Object * | object | ) |

Definition at line 150 of file object.h.

150 {
151 return ScopedObject<Object>{object, AdoptTag::kAdopted};
152 }

References kAdopted.

Referenced by Adopt(), and impeller::interop::testing::TEST().

## ◆ Adopt() [2/2]

template<typename Object >

ScopedObject<Object> impeller::interop::Adopt | ( | typename Object::InteropCSibling * | object | ) |

Definition at line 155 of file object.h.

155 {
156 return Adopt(reinterpret_cast<Object*>(object));
157 }

References Adopt().

## ◆ Create()

template<typename Object , typename... CtorArgs>

ScopedObject<Object> impeller::interop::Create | ( | CtorArgs &&... | args | ) |

Definition at line 160 of file object.h.

160 {
161 return ScopedObject<Object>{new Object(std::forward<CtorArgs>(args)...),
162 AdoptTag::kAdopted};
163 }

References kAdopted.

Referenced by impeller::Pool< T >::Grab(), impeller::android::ProcTable::ProcTable(), and impeller::testing::TEST_P().

## ◆ CreateTypefaceFromFontData()

static sk_sp<SkTypeface> impeller::interop::CreateTypefaceFromFontData | ( | std::unique_ptr< fml::Mapping > | font_data | ) |
| static

Definition at line 43 of file typography_context.cc.

44 {
45 if (!font_data) {
46 VALIDATION_LOG << "Invalid font data.";
47 return nullptr;
48 }
49 auto sk_data_context = font_data.release();
50 auto sk_data = SkData::MakeWithProc(
51 sk_data_context->GetMapping(), // data ptr
52 sk_data_context->GetSize(), // data size
53 [](const void*, void* context) {
54 delete reinterpret_cast<decltype(sk_data_context)>(context);
55 }, // release callback
56 sk_data_context // release callback context
57 );
58 auto sk_data_stream = SkMemoryStream::Make(sk_data);
59 auto sk_typeface =
60 txt::GetDefaultFontManager()->makeFromStream(std::move(sk_data_stream));
61 if (!sk_typeface) {
62 VALIDATION_LOG << "Could not create typeface with data.";
63 return nullptr;
64 }
65 return sk_typeface;
66 }

References VALIDATION_LOG.

Referenced by impeller::interop::TypographyContext::RegisterFont().

## ◆ DEFINE_PEER_GETTER() [1/16]

impeller::interop::DEFINE_PEER_GETTER | ( | ColorFilter | ,
|  | ImpellerColorFilter |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [2/16]

impeller::interop::DEFINE_PEER_GETTER | ( | ColorSource | ,
|  | ImpellerColorSource |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [3/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Context | ,
|  | ImpellerContext |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [4/16]

impeller::interop::DEFINE_PEER_GETTER | ( | DisplayList | ,
|  | ImpellerDisplayList |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [5/16]

impeller::interop::DEFINE_PEER_GETTER | ( | DisplayListBuilder | ,
|  | ImpellerDisplayListBuilder |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [6/16]

impeller::interop::DEFINE_PEER_GETTER | ( | ImageFilter | ,
|  | ImpellerImageFilter |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [7/16]

impeller::interop::DEFINE_PEER_GETTER | ( | MaskFilter | ,
|  | ImpellerMaskFilter |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [8/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Paint | ,
|  | ImpellerPaint |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [9/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Paragraph | ,
|  | ImpellerParagraph |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [10/16]

impeller::interop::DEFINE_PEER_GETTER | ( | ParagraphBuilder | ,
|  | ImpellerParagraphBuilder |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [11/16]

impeller::interop::DEFINE_PEER_GETTER | ( | ParagraphStyle | ,
|  | ImpellerParagraphStyle |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [12/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Path | ,
|  | ImpellerPath |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [13/16]

impeller::interop::DEFINE_PEER_GETTER | ( | PathBuilder | ,
|  | ImpellerPathBuilder |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [14/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Surface | ,
|  | ImpellerSurface |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [15/16]

impeller::interop::DEFINE_PEER_GETTER | ( | Texture | ,
|  | ImpellerTexture |
| ) |  |

## ◆ DEFINE_PEER_GETTER() [16/16]

impeller::interop::DEFINE_PEER_GETTER | ( | TypographyContext | ,
|  | ImpellerTypographyContext |
| ) |  |

## ◆ FromImpellerType()

constexpr void impeller::interop::FromImpellerType | ( | const Matrix & | from,
|  | ImpellerMatrix & | to
| ) |  |
| constexpr

Definition at line 209 of file formats.h.

209 {
210 to.m[0] = from.m[0];
211 to.m[1] = from.m[1];
212 to.m[2] = from.m[2];
213 to.m[3] = from.m[3];
214 to.m[4] = from.m[4];
215 to.m[5] = from.m[5];
216 to.m[6] = from.m[6];
217 to.m[7] = from.m[7];
218 to.m[8] = from.m[8];
219 to.m[9] = from.m[9];
220 to.m[10] = from.m[10];
221 to.m[11] = from.m[11];
222 to.m[12] = from.m[12];
223 to.m[13] = from.m[13];
224 to.m[14] = from.m[14];
225 to.m[15] = from.m[15];
226 }

References impeller::Matrix::m, and ImpellerMatrix::m.

Referenced by ImpellerDisplayListBuilderGetTransform().

## ◆ GetVersionAsString()

static std::string impeller::interop::GetVersionAsString | ( | uint32_t | version | ) |
| static

Definition at line 58 of file impeller.cc.

58 {
59 std::stringstream stream;
60 stream << IMPELLER_VERSION_GET_VARIANT(version) << "."
61 << IMPELLER_VERSION_GET_MAJOR(version) << "."
62 << IMPELLER_VERSION_GET_MINOR(version) << "."
63 << IMPELLER_VERSION_GET_PATCH(version);
64 return stream.str();
65 }

References IMPELLER_VERSION_GET_MAJOR, IMPELLER_VERSION_GET_MINOR, IMPELLER_VERSION_GET_PATCH, and IMPELLER_VERSION_GET_VARIANT.

Referenced by ImpellerContextCreateOpenGLESNew().

## ◆ ImpellerColorFilterCreateBlendNew()

IMPELLER_EXTERN_C ImpellerColorFilter impeller::interop::ImpellerColorFilterCreateBlendNew | ( | const ImpellerColor * | color,
|  | ImpellerBlendMode | blend_mode
| ) |  |

Definition at line 813 of file impeller.cc.

815 {
816 return ColorFilter::MakeBlend(ToImpellerType(*color),
817 ToImpellerType(blend_mode))
818 .Leak();
819 }

References impeller::interop::ColorFilter::MakeBlend(), and ToImpellerType().

## ◆ ImpellerColorFilterCreateColorMatrixNew()

IMPELLER_EXTERN_C ImpellerColorFilter impeller::interop::ImpellerColorFilterCreateColorMatrixNew | ( | const ImpellerColorMatrix * | color_matrix | ) |

Definition at line 822 of file impeller.cc.

823 {
824 return ColorFilter::MakeMatrix(color_matrix->m).Leak();
825 }

References ImpellerColorMatrix::m, and impeller::interop::ColorFilter::MakeMatrix().

## ◆ ImpellerColorFilterRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerColorFilterRelease | ( | ImpellerColorFilter | color_filter | ) |

Definition at line 808 of file impeller.cc.

808 {
809 ObjectBase::SafeRelease(color_filter);
810 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerColorFilterRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerColorFilterRetain | ( | ImpellerColorFilter | color_filter | ) |

Definition at line 803 of file impeller.cc.

803 {
804 ObjectBase::SafeRetain(color_filter);
805 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerColorSourceCreateConicalGradientNew()

IMPELLER_EXTERN_C ImpellerColorSource impeller::interop::ImpellerColorSourceCreateConicalGradientNew | ( | const ImpellerPoint * | start_center,
|  | float | start_radius,
|  | const ImpellerPoint * | end_center,
|  | float | end_radius,
|  | uint32_t | stop_count,
|  | const ImpellerColor * | colors,
|  | const float * | stops,
|  | ImpellerTileMode | tile_mode,
|  | const ImpellerMatrix * | transformation
| ) |  |

Definition at line 735 of file impeller.cc.

744 {
745 const auto colors_and_stops = ParseColorsAndStops(stop_count, colors, stops);
746 return ColorSource::MakeConicalGradient(
747 ToImpellerType(*start_center), //
748 start_radius, //
749 ToImpellerType(*end_center), //
750 end_radius, //
751 colors_and_stops.first, //
752 colors_and_stops.second, //
753 ToDisplayListType(tile_mode), //
754 transformation == nullptr ? Matrix{}
755 : ToImpellerType(*transformation) //
756 )
757 .Leak();
758 }

References impeller::interop::ColorSource::MakeConicalGradient(), ParseColorsAndStops(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerColorSourceCreateImageNew()

IMPELLER_EXTERN_C ImpellerColorSource impeller::interop::ImpellerColorSourceCreateImageNew | ( | ImpellerTexture | image,
|  | ImpellerTileMode | horizontal_tile_mode,
|  | ImpellerTileMode | vertical_tile_mode,
|  | ImpellerTextureSampling | sampling,
|  | const ImpellerMatrix * | transformation
| ) |  |

Definition at line 785 of file impeller.cc.

790 {
791 return ColorSource::MakeImage(
792 *GetPeer(image), //
793 ToDisplayListType(horizontal_tile_mode), //
794 ToDisplayListType(vertical_tile_mode), //
795 ToDisplayListType(sampling), //
796 transformation == nullptr ? Matrix{}
797 : ToImpellerType(*transformation) //
798 )
799 .Leak();
800 }

References impeller::interop::ColorSource::MakeImage(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerColorSourceCreateLinearGradientNew()

IMPELLER_EXTERN_C ImpellerColorSource impeller::interop::ImpellerColorSourceCreateLinearGradientNew | ( | const ImpellerPoint * | start_point,
|  | const ImpellerPoint * | end_point,
|  | uint32_t | stop_count,
|  | const ImpellerColor * | colors,
|  | const float * | stops,
|  | ImpellerTileMode | tile_mode,
|  | const ImpellerMatrix * | transformation
| ) |  |

Definition at line 691 of file impeller.cc.

698 {
699 const auto colors_and_stops = ParseColorsAndStops(stop_count, colors, stops);
700 return ColorSource::MakeLinearGradient(
701 ToImpellerType(*start_point), //
702 ToImpellerType(*end_point), //
703 colors_and_stops.first, //
704 colors_and_stops.second, //
705 ToDisplayListType(tile_mode), //
706 transformation == nullptr ? Matrix{}
707 : ToImpellerType(*transformation) //
708 )
709 .Leak();
710 }

References impeller::interop::ColorSource::MakeLinearGradient(), ParseColorsAndStops(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerColorSourceCreateRadialGradientNew()

IMPELLER_EXTERN_C ImpellerColorSource impeller::interop::ImpellerColorSourceCreateRadialGradientNew | ( | const ImpellerPoint * | center,
|  | float | radius,
|  | uint32_t | stop_count,
|  | const ImpellerColor * | colors,
|  | const float * | stops,
|  | ImpellerTileMode | tile_mode,
|  | const ImpellerMatrix * | transformation
| ) |  |

Definition at line 713 of file impeller.cc.

720 {
721 const auto colors_and_stops = ParseColorsAndStops(stop_count, colors, stops);
722 return ColorSource::MakeRadialGradient(
723 ToImpellerType(*center), //
724 radius, //
725 colors_and_stops.first, //
726 colors_and_stops.second, //
727 ToDisplayListType(tile_mode), //
728 transformation == nullptr ? Matrix{}
729 : ToImpellerType(*transformation) //
730 )
731 .Leak();
732 }

References impeller::interop::ColorSource::MakeRadialGradient(), ParseColorsAndStops(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerColorSourceCreateSweepGradientNew()

IMPELLER_EXTERN_C ImpellerColorSource impeller::interop::ImpellerColorSourceCreateSweepGradientNew | ( | const ImpellerPoint * | center,
|  | float | start,
|  | float | end,
|  | uint32_t | stop_count,
|  | const ImpellerColor * | colors,
|  | const float * | stops,
|  | ImpellerTileMode | tile_mode,
|  | const ImpellerMatrix * | transformation
| ) |  |

Definition at line 761 of file impeller.cc.

769 {
770 const auto colors_and_stops = ParseColorsAndStops(stop_count, colors, stops);
771 return ColorSource::MakeSweepGradient(
772 ToImpellerType(*center), //
773 start, //
774 end, //
775 colors_and_stops.first, //
776 colors_and_stops.second, //
777 ToDisplayListType(tile_mode), //
778 transformation == nullptr ? Matrix{}
779 : ToImpellerType(*transformation) //
780 )
781 .Leak();
782 }

References impeller::interop::ColorSource::MakeSweepGradient(), ParseColorsAndStops(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerColorSourceRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerColorSourceRelease | ( | ImpellerColorSource | color_source | ) |

Definition at line 669 of file impeller.cc.

669 {
670 ObjectBase::SafeRelease(color_source);
671 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerColorSourceRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerColorSourceRetain | ( | ImpellerColorSource | color_source | ) |

Definition at line 664 of file impeller.cc.

664 {
665 ObjectBase::SafeRetain(color_source);
666 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerContextCreateOpenGLESNew()

IMPELLER_EXTERN_C ImpellerContext impeller::interop::ImpellerContextCreateOpenGLESNew | ( | uint32_t | version,
|  | ImpellerProcAddressCallback | gl_proc_address_callback,
|  | void * | gl_proc_address_callback_user_data
| ) |  |

Definition at line 73 of file impeller.cc.

76 {
77 if (version != IMPELLER_VERSION) {
78 VALIDATION_LOG << "This version of Impeller ("
79 << GetVersionAsString(ImpellerGetVersion()) << ") "
80 << "doesn't match the version the user expects ("
81 << GetVersionAsString(version) << ").";
82 return nullptr;
83 }
84 auto context = Context::CreateOpenGLES(
85 [gl_proc_address_callback,
86 gl_proc_address_callback_user_data](const char* proc_name) -> void* {
87 return gl_proc_address_callback(proc_name,
88 gl_proc_address_callback_user_data);
89 });
90 if (!context || !context->IsValid()) {
91 VALIDATION_LOG << "Could not create valid context.";
92 return nullptr;
93 }
94 return context.Leak();
95 }

References impeller::interop::Context::CreateOpenGLES(), GetVersionAsString(), IMPELLER_VERSION, ImpellerGetVersion(), and VALIDATION_LOG.

Referenced by impeller::interop::testing::PlaygroundTest::CreateContext().

## ◆ ImpellerContextRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerContextRelease | ( | ImpellerContext | context | ) |

Definition at line 103 of file impeller.cc.

103 {
104 ObjectBase::SafeRelease(context);
105 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerContextRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerContextRetain | ( | ImpellerContext | context | ) |

Definition at line 98 of file impeller.cc.

98 {
99 ObjectBase::SafeRetain(context);
100 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerDisplayListBuilderClipOval()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderClipOval | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | oval_bounds,
|  | ImpellerClipOperation | op
| ) |  |

Definition at line 314 of file impeller.cc.

316 {
317 GetPeer(builder)->ClipOval(ToImpellerType(*oval_bounds), ToImpellerType(op));
318 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderClipPath()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderClipPath | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerPath | path,
|  | ImpellerClipOperation | op
| ) |  |

Definition at line 333 of file impeller.cc.

335 {
336 GetPeer(builder)->ClipPath(*GetPeer(path), ToImpellerType(op));
337 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderClipRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderClipRect | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | rect,
|  | ImpellerClipOperation | op
| ) |  |

Definition at line 307 of file impeller.cc.

309 {
310 GetPeer(builder)->ClipRect(ToImpellerType(*rect), ToImpellerType(op));
311 }

References ToImpellerType().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderClipRoundedRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderClipRoundedRect | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | rect,
|  | const ImpellerRoundingRadii * | radii,
|  | ImpellerClipOperation | op
| ) |  |

Definition at line 321 of file impeller.cc.

325 {
326 GetPeer(builder)->ClipRoundedRect(ToImpellerType(*rect), //
327 ToImpellerType(*radii), //
328 ToImpellerType(op) //
329 );
330 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderCreateDisplayListNew()

IMPELLER_EXTERN_C ImpellerDisplayList impeller::interop::ImpellerDisplayListBuilderCreateDisplayListNew | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 589 of file impeller.cc.

590 {
591 auto dl = GetPeer(builder)->Build();
592 if (!dl->IsValid()) {
593 return nullptr;
594 }
595 return dl.Leak();
596 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderDrawDashedLine()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawDashedLine | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerPoint * | from,
|  | const ImpellerPoint * | to,
|  | float | on_length,
|  | float | off_length,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 407 of file impeller.cc.

413 {
414 GetPeer(builder)->DrawDashedLine(ToImpellerType(*from), //
415 ToImpellerType(*to), //
416 on_length, //
417 off_length, //
418 *GetPeer(paint) //
419 );
420 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawDisplayList()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawDisplayList | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerDisplayList | display_list,
|  | float | opacity
| ) |  |

Definition at line 599 of file impeller.cc.

602 {
603 GetPeer(builder)->DrawDisplayList(*GetPeer(display_list), opacity);
604 }

## ◆ ImpellerDisplayListBuilderDrawLine()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawLine | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerPoint * | from,
|  | const ImpellerPoint * | to,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 396 of file impeller.cc.

399 {
400 GetPeer(builder)->DrawLine(ToImpellerType(*from), //
401 ToImpellerType(*to), //
402 *GetPeer(paint) //
403 );
404 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawOval()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawOval | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | oval_bounds,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 430 of file impeller.cc.

432 {
433 GetPeer(builder)->DrawOval(ToImpellerType(*oval_bounds), *GetPeer(paint));
434 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawPaint()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawPaint | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 390 of file impeller.cc.

391 {
392 GetPeer(builder)->DrawPaint(*GetPeer(paint));
393 }

## ◆ ImpellerDisplayListBuilderDrawParagraph()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawParagraph | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerParagraph | paragraph,
|  | const ImpellerPoint * | point
| ) |  |

Definition at line 1005 of file impeller.cc.

1007 {
1008 GetPeer(builder)->DrawParagraph(*GetPeer(paragraph), ToImpellerType(*point));
1009 }

References ToImpellerType().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderDrawPath()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawPath | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerPath | path,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 465 of file impeller.cc.

467 {
468 GetPeer(builder)->DrawPath(*GetPeer(path), *GetPeer(paint));
469 }

## ◆ ImpellerDisplayListBuilderDrawRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawRect | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | rect,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 423 of file impeller.cc.

425 {
426 GetPeer(builder)->DrawRect(ToImpellerType(*rect), *GetPeer(paint));
427 }

References ToImpellerType().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderDrawRoundedRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawRoundedRect | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | rect,
|  | const ImpellerRoundingRadii * | radii,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 437 of file impeller.cc.

441 {
442 GetPeer(builder)->DrawRoundedRect(ToImpellerType(*rect), //
443 ToImpellerType(*radii), //
444 *GetPeer(paint) //
445 );
446 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawRoundedRectDifference()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawRoundedRectDifference | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | outer_rect,
|  | const ImpellerRoundingRadii * | outer_radii,
|  | const ImpellerRect * | inner_rect,
|  | const ImpellerRoundingRadii * | inner_radii,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 449 of file impeller.cc.

455 {
456 GetPeer(builder)->DrawRoundedRectDifference(ToImpellerType(*outer_rect), //
457 ToImpellerType(*outer_radii), //
458 ToImpellerType(*inner_rect), //
459 ToImpellerType(*inner_radii), //
460 *GetPeer(paint) //
461 );
462 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawTexture()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawTexture | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerTexture | texture,
|  | const ImpellerPoint * | point,
|  | ImpellerTextureSampling | sampling,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 635 of file impeller.cc.

639 {
640 GetPeer(builder)->DrawTexture(*GetPeer(texture), //
641 ToImpellerType(*point), //
642 ToDisplayListType(sampling), //
643 GetPeer(paint) //
644 );
645 }

References ToDisplayListType(), and ToImpellerType().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderDrawTextureRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderDrawTextureRect | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerTexture | texture,
|  | const ImpellerRect * | src_rect,
|  | const ImpellerRect * | dst_rect,
|  | ImpellerTextureSampling | sampling,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 648 of file impeller.cc.

654 {
655 GetPeer(builder)->DrawTextureRect(*GetPeer(texture), //
656 ToImpellerType(*src_rect), //
657 ToImpellerType(*dst_rect), //
658 ToDisplayListType(sampling), //
659 GetPeer(paint) //
660 );
661 }

References ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerDisplayListBuilderGetSaveCount()

IMPELLER_EXTERN_C uint32_t impeller::interop::ImpellerDisplayListBuilderGetSaveCount | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 189 of file impeller.cc.

190 {
191 return GetPeer(builder)->GetSaveCount();
192 }

## ◆ ImpellerDisplayListBuilderGetTransform()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderGetTransform | ( | ImpellerDisplayListBuilder | builder,
|  | ImpellerMatrix * | out_transform
| ) |  |

Definition at line 177 of file impeller.cc.

178 {
179 FromImpellerType(GetPeer(builder)->GetTransform(), *out_transform);
180 }

References FromImpellerType().

## ◆ ImpellerDisplayListBuilderNew()

IMPELLER_EXTERN_C ImpellerDisplayListBuilder impeller::interop::ImpellerDisplayListBuilderNew | ( | const ImpellerRect * | cull_rect | ) |

Definition at line 108 of file impeller.cc.

109 {
110 return Create<DisplayListBuilder>(cull_rect).Leak();
111 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderRelease | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 119 of file impeller.cc.

119 {
120 ObjectBase::SafeRelease(builder);
121 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerDisplayListBuilderResetTransform()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderResetTransform | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 183 of file impeller.cc.

184 {
185 GetPeer(builder)->ResetTransform();
186 }

## ◆ ImpellerDisplayListBuilderRestore()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderRestore | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 140 of file impeller.cc.

140 {
141 GetPeer(builder)->Restore();
142 }

## ◆ ImpellerDisplayListBuilderRestoreToCount()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderRestoreToCount | ( | ImpellerDisplayListBuilder | builder,
|  | uint32_t | count
| ) |  |

Definition at line 195 of file impeller.cc.

197 {
198 GetPeer(builder)->RestoreToCount(count);
199 }

## ◆ ImpellerDisplayListBuilderRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderRetain | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 114 of file impeller.cc.

114 {
115 ObjectBase::SafeRetain(builder);
116 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerDisplayListBuilderRotate()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderRotate | ( | ImpellerDisplayListBuilder | builder,
|  | float | angle_degrees
| ) |  |

Definition at line 152 of file impeller.cc.

153 {
154 GetPeer(builder)->Rotate(Degrees{angle_degrees});
155 }

## ◆ ImpellerDisplayListBuilderSave()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderSave | ( | ImpellerDisplayListBuilder | builder | ) |

Definition at line 124 of file impeller.cc.

124 {
125 GetPeer(builder)->Save();
126 }

## ◆ ImpellerDisplayListBuilderSaveLayer()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderSaveLayer | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerRect * | bounds,
|  | ImpellerPaint | paint,
|  | ImpellerImageFilter | backdrop
| ) |  |

Definition at line 129 of file impeller.cc.

132 {
133 GetPeer(builder)->SaveLayer(ToImpellerType(*bounds), //
134 GetPeer(paint), //
135 GetPeer(backdrop) //
136 );
137 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderScale()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderScale | ( | ImpellerDisplayListBuilder | builder,
|  | float | x_scale,
|  | float | y_scale
| ) |  |

Definition at line 145 of file impeller.cc.

147 {
148 GetPeer(builder)->Scale(Size{x_scale, y_scale});
149 }

## ◆ ImpellerDisplayListBuilderSetTransform()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderSetTransform | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerMatrix * | transform
| ) |  |

Definition at line 165 of file impeller.cc.

166 {
167 GetPeer(builder)->SetTransform(ToImpellerType(*transform));
168 }

References ToImpellerType(), and transform.

## ◆ ImpellerDisplayListBuilderTransform()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderTransform | ( | ImpellerDisplayListBuilder | builder,
|  | const ImpellerMatrix * | transform
| ) |  |

Definition at line 171 of file impeller.cc.

172 {
173 GetPeer(builder)->Transform(ToImpellerType(*transform));
174 }

References ToImpellerType(), and transform.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListBuilderTranslate()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListBuilderTranslate | ( | ImpellerDisplayListBuilder | builder,
|  | float | x_translation,
|  | float | y_translation
| ) |  |

Definition at line 158 of file impeller.cc.

160 {
161 GetPeer(builder)->Translate(Point{x_translation, y_translation});
162 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerDisplayListRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListRelease | ( | ImpellerDisplayList | display_list | ) |

Definition at line 584 of file impeller.cc.

584 {
585 ObjectBase::SafeRelease(display_list);
586 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerDisplayListRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerDisplayListRetain | ( | ImpellerDisplayList | display_list | ) |

Definition at line 579 of file impeller.cc.

579 {
580 ObjectBase::SafeRetain(display_list);
581 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerGetVersion()

IMPELLER_EXTERN_C uint32_t impeller::interop::ImpellerGetVersion | ( |  | ) |

Get the version of Impeller standalone API. This is the API that will be accepted for validity checks when provided to the context creation methods.

The current version of the API is denoted by the `IMPELLER_VERSION` macro. This version must be passed to APIs that create top-level objects like graphics contexts. Construction of the context may fail if the API version expected by the caller is not supported by the library.

Since there are no API stability guarantees today, passing a version that is different to the one returned by `ImpellerGetVersion` will always fail.

See also
  `ImpellerContextCreateOpenGLESNew`

Returns
  The version of the standalone API.

Definition at line 68 of file impeller.cc.

68 {
69 return IMPELLER_VERSION;
70 }

References IMPELLER_VERSION.

Referenced by impeller::interop::testing::PlaygroundTest::CreateContext(), and ImpellerContextCreateOpenGLESNew().

## ◆ ImpellerImageFilterCreateBlurNew()

IMPELLER_EXTERN_C ImpellerImageFilter impeller::interop::ImpellerImageFilterCreateBlurNew | ( | float | x_sigma,
|  | float | y_sigma,
|  | ImpellerTileMode | tile_mode
| ) |  |

Creates an image filter that applies a Gaussian blur.

            The Gaussian blur applied may be an approximation for
            performance.

Parameters

  [in] | x_sigma | The x sigma.
  [in] | y_sigma | The y sigma.
  [in] | tile_mode | The tile mode.

Returns
  The image filter.

Definition at line 854 of file impeller.cc.

857 {
858 return ImageFilter::MakeBlur(x_sigma, y_sigma, ToDisplayListType(tile_mode))
859 .Leak();
860 }

References impeller::interop::ImageFilter::MakeBlur(), and ToDisplayListType().

## ◆ ImpellerImageFilterCreateComposeNew()

IMPELLER_EXTERN_C ImpellerImageFilter impeller::interop::ImpellerImageFilterCreateComposeNew | ( | ImpellerImageFilter | outer,
|  | ImpellerImageFilter | inner
| ) |  |

Definition at line 884 of file impeller.cc.

886 {
887 return ImageFilter::MakeCompose(*GetPeer(outer), *GetPeer(inner)).Leak();
888 }

References impeller::interop::ImageFilter::MakeCompose().

## ◆ ImpellerImageFilterCreateDilateNew()

IMPELLER_EXTERN_C ImpellerImageFilter impeller::interop::ImpellerImageFilterCreateDilateNew | ( | float | x_radius,
|  | float | y_radius
| ) |  |

Creates an image filter that enhances the per-channel pixel values to the maximum value in a circle around the pixel.

Parameters

  [in] | x_radius | The x radius.
  [in] | y_radius | The y radius.

Returns
  The image filter.

Definition at line 863 of file impeller.cc.

864 {
865 return ImageFilter::MakeDilate(x_radius, y_radius).Leak();
866 }

References impeller::interop::ImageFilter::MakeDilate().

## ◆ ImpellerImageFilterCreateErodeNew()

IMPELLER_EXTERN_C ImpellerImageFilter impeller::interop::ImpellerImageFilterCreateErodeNew | ( | float | x_radius,
|  | float | y_radius
| ) |  |

Creates an image filter that dampens the per-channel pixel values to the minimum value in a circle around the pixel.

Parameters

  [in] | x_radius | The x radius.
  [in] | y_radius | The y radius.

Returns
  The image filter.

Definition at line 869 of file impeller.cc.

870 {
871 return ImageFilter::MakeErode(x_radius, y_radius).Leak();
872 }

References impeller::interop::ImageFilter::MakeErode().

## ◆ ImpellerImageFilterCreateMatrixNew()

IMPELLER_EXTERN_C ImpellerImageFilter impeller::interop::ImpellerImageFilterCreateMatrixNew | ( | const ImpellerMatrix * | matrix,
|  | ImpellerTextureSampling | sampling
| ) |  |

Definition at line 875 of file impeller.cc.

877 {
878 return ImageFilter::MakeMatrix(ToImpellerType(*matrix),
879 ToDisplayListType(sampling))
880 .Leak();
881 }

References impeller::interop::ImageFilter::MakeMatrix(), ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerImageFilterRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerImageFilterRelease | ( | ImpellerImageFilter | image_filter | ) |

Definition at line 849 of file impeller.cc.

849 {
850 ObjectBase::SafeRelease(image_filter);
851 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerImageFilterRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerImageFilterRetain | ( | ImpellerImageFilter | image_filter | ) |

Definition at line 844 of file impeller.cc.

844 {
845 ObjectBase::SafeRetain(image_filter);
846 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerMaskFilterCreateBlurNew()

IMPELLER_EXTERN_C ImpellerMaskFilter impeller::interop::ImpellerMaskFilterCreateBlurNew | ( | ImpellerBlurStyle | style,
|  | float | sigma
| ) |  |

Create a mask filter that blurs contents in the masked shape.

Parameters

  [in] | style | The style.
  [in] | sigma | The sigma.

Returns
  The mask filter.

Definition at line 838 of file impeller.cc.

839 {
840 return MaskFilter::MakeBlur(ToDisplayListType(style), sigma).Leak();
841 }

References impeller::interop::MaskFilter::MakeBlur(), and ToDisplayListType().

## ◆ ImpellerMaskFilterRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerMaskFilterRelease | ( | ImpellerMaskFilter | mask_filter | ) |

Definition at line 833 of file impeller.cc.

833 {
834 ObjectBase::SafeRelease(mask_filter);
835 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerMaskFilterRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerMaskFilterRetain | ( | ImpellerMaskFilter | mask_filter | ) |

Definition at line 828 of file impeller.cc.

828 {
829 ObjectBase::SafeRetain(mask_filter);
830 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerPaintNew()

IMPELLER_EXTERN_C ImpellerPaint impeller::interop::ImpellerPaintNew | ( |  | ) |

Create a new paint with default values.

Returns
  The impeller paint.

Definition at line 340 of file impeller.cc.

340 {
341 return Create<Paint>().Leak();
342 }

Referenced by main(), and impeller::interop::testing::TEST_P().

## ◆ ImpellerPaintRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintRelease | ( | ImpellerPaint | paint | ) |

Definition at line 350 of file impeller.cc.

350 {
351 ObjectBase::SafeRelease(paint);
352 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerPaintRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintRetain | ( | ImpellerPaint | paint | ) |

Definition at line 345 of file impeller.cc.

345 {
346 ObjectBase::SafeRetain(paint);
347 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerPaintSetBlendMode()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetBlendMode | ( | ImpellerPaint | paint,
|  | ImpellerBlendMode | mode
| ) |  |

Definition at line 360 of file impeller.cc.

360 {
361 GetPeer(paint)->SetBlendMode(ToImpellerType(mode));
362 }

References ToImpellerType().

## ◆ ImpellerPaintSetColor()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetColor | ( | ImpellerPaint | paint,
|  | const ImpellerColor * | color
| ) |  |

Definition at line 355 of file impeller.cc.

355 {
356 GetPeer(paint)->SetColor(ToDisplayListType(*color));
357 }

References ToDisplayListType().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerPaintSetColorFilter()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetColorFilter | ( | ImpellerPaint | paint,
|  | ImpellerColorFilter | color_filter
| ) |  |

Definition at line 891 of file impeller.cc.

892 {
893 GetPeer(paint)->SetColorFilter(*GetPeer(color_filter));
894 }

## ◆ ImpellerPaintSetColorSource()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetColorSource | ( | ImpellerPaint | paint,
|  | ImpellerColorSource | color_source
| ) |  |

Definition at line 897 of file impeller.cc.

898 {
899 GetPeer(paint)->SetColorSource(*GetPeer(color_source));
900 }

## ◆ ImpellerPaintSetDrawStyle()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetDrawStyle | ( | ImpellerPaint | paint,
|  | ImpellerDrawStyle | style
| ) |  |

Definition at line 365 of file impeller.cc.

365 {
366 GetPeer(paint)->SetDrawStyle(ToDisplayListType(style));
367 }

References ToDisplayListType().

## ◆ ImpellerPaintSetImageFilter()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetImageFilter | ( | ImpellerPaint | paint,
|  | ImpellerImageFilter | image_filter
| ) |  |

Definition at line 903 of file impeller.cc.

904 {
905 GetPeer(paint)->SetImageFilter(*GetPeer(image_filter));
906 }

## ◆ ImpellerPaintSetMaskFilter()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetMaskFilter | ( | ImpellerPaint | paint,
|  | ImpellerMaskFilter | mask_filter
| ) |  |

Definition at line 909 of file impeller.cc.

910 {
911 GetPeer(paint)->SetMaskFilter(*GetPeer(mask_filter));
912 }

## ◆ ImpellerPaintSetStrokeCap()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetStrokeCap | ( | ImpellerPaint | paint,
|  | ImpellerStrokeCap | cap
| ) |  |

Definition at line 370 of file impeller.cc.

370 {
371 GetPeer(paint)->SetStrokeCap(ToDisplayListType(cap));
372 }

References ToDisplayListType().

## ◆ ImpellerPaintSetStrokeJoin()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetStrokeJoin | ( | ImpellerPaint | paint,
|  | ImpellerStrokeJoin | join
| ) |  |

Definition at line 375 of file impeller.cc.

375 {
376 GetPeer(paint)->SetStrokeJoin(ToDisplayListType(join));
377 }

References ToDisplayListType().

## ◆ ImpellerPaintSetStrokeMiter()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetStrokeMiter | ( | ImpellerPaint | paint,
|  | float | miter
| ) |  |

Definition at line 385 of file impeller.cc.

385 {
386 GetPeer(paint)->SetStrokeMiter(miter);
387 }

## ◆ ImpellerPaintSetStrokeWidth()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPaintSetStrokeWidth | ( | ImpellerPaint | paint,
|  | float | width
| ) |  |

Definition at line 380 of file impeller.cc.

380 {
381 GetPeer(paint)->SetStrokeWidth(width);
382 }

## ◆ ImpellerParagraphBuilderAddText()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphBuilderAddText | ( | ImpellerParagraphBuilder | paragraph_builder,
|  | const uint8_t * | data,
|  | uint32_t | length
| ) |  |

Definition at line 1049 of file impeller.cc.

1051 {
1052 if (data == nullptr) {
1053 length = 0;
1054 }
1055 if (length == 0) {
1056 return;
1057 }
1058 GetPeer(paragraph_builder)->AddText(data, length);
1059 }

References data.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphBuilderBuildParagraphNew()

IMPELLER_EXTERN_C ImpellerParagraph impeller::interop::ImpellerParagraphBuilderBuildParagraphNew | ( | ImpellerParagraphBuilder | paragraph_builder,
|  | float | width
| ) |  |

Definition at line 1062 of file impeller.cc.

1064 {
1065 return GetPeer(paragraph_builder)->Build(width).Leak();
1066 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphBuilderNew()

IMPELLER_EXTERN_C ImpellerParagraphBuilder impeller::interop::ImpellerParagraphBuilderNew | ( | ImpellerTypographyContext | context | ) |

Definition at line 1012 of file impeller.cc.

1013 {
1014 auto builder =
1015 Create<ParagraphBuilder>(Ref<TypographyContext>(GetPeer(context)));
1016 if (!builder->IsValid()) {
1017 VALIDATION_LOG << "Could not create valid paragraph builder.";
1018 return nullptr;
1019 }
1020 return builder.Leak();
1021 }

References VALIDATION_LOG.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphBuilderPopStyle()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphBuilderPopStyle | ( | ImpellerParagraphBuilder | paragraph_builder | ) |

Definition at line 1043 of file impeller.cc.

1044 {
1045 GetPeer(paragraph_builder)->PopStyle();
1046 }

## ◆ ImpellerParagraphBuilderPushStyle()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphBuilderPushStyle | ( | ImpellerParagraphBuilder | paragraph_builder,
|  | ImpellerParagraphStyle | style
| ) |  |

Definition at line 1036 of file impeller.cc.

1038 {
1039 GetPeer(paragraph_builder)->PushStyle(*GetPeer(style));
1040 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphBuilderRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphBuilderRelease | ( | ImpellerParagraphBuilder | paragraph_builder | ) |

Definition at line 1030 of file impeller.cc.

1031 {
1032 ObjectBase::SafeRelease(paragraph_builder);
1033 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerParagraphBuilderRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphBuilderRetain | ( | ImpellerParagraphBuilder | paragraph_builder | ) |

Definition at line 1024 of file impeller.cc.

1025 {
1026 ObjectBase::SafeRetain(paragraph_builder);
1027 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerParagraphGetAlphabeticBaseline()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetAlphabeticBaseline | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1109 of file impeller.cc.

1109 {
1110 return GetPeer(paragraph)->GetAlphabeticBaseline();
1111 }

## ◆ ImpellerParagraphGetHeight()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetHeight | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1084 of file impeller.cc.

1084 {
1085 return GetPeer(paragraph)->GetHeight();
1086 }

## ◆ ImpellerParagraphGetIdeographicBaseline()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetIdeographicBaseline | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1104 of file impeller.cc.

1104 {
1105 return GetPeer(paragraph)->GetIdeographicBaseline();
1106 }

## ◆ ImpellerParagraphGetLineCount()

IMPELLER_EXTERN_C uint32_t impeller::interop::ImpellerParagraphGetLineCount | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1114 of file impeller.cc.

1114 {
1115 return GetPeer(paragraph)->GetLineCount();
1116 }

## ◆ ImpellerParagraphGetLongestLineWidth()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetLongestLineWidth | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1089 of file impeller.cc.

1089 {
1090 return GetPeer(paragraph)->GetLongestLineWidth();
1091 }

## ◆ ImpellerParagraphGetMaxIntrinsicWidth()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetMaxIntrinsicWidth | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1099 of file impeller.cc.

1099 {
1100 return GetPeer(paragraph)->GetMaxIntrinsicWidth();
1101 }

## ◆ ImpellerParagraphGetMaxWidth()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetMaxWidth | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1079 of file impeller.cc.

1079 {
1080 return GetPeer(paragraph)->GetMaxWidth();
1081 }

## ◆ ImpellerParagraphGetMinIntrinsicWidth()

IMPELLER_EXTERN_C float impeller::interop::ImpellerParagraphGetMinIntrinsicWidth | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1094 of file impeller.cc.

1094 {
1095 return GetPeer(paragraph)->GetMinIntrinsicWidth();
1096 }

## ◆ ImpellerParagraphRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphRelease | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1074 of file impeller.cc.

1074 {
1075 ObjectBase::SafeRelease(paragraph);
1076 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerParagraphRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphRetain | ( | ImpellerParagraph | paragraph | ) |

Definition at line 1069 of file impeller.cc.

1069 {
1070 ObjectBase::SafeRetain(paragraph);
1071 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerParagraphStyleNew()

IMPELLER_EXTERN_C ImpellerParagraphStyle impeller::interop::ImpellerParagraphStyleNew | ( |  | ) |

Create a new paragraph style.

Returns
  The paragraph style.

Definition at line 915 of file impeller.cc.

915 {
916 return Create<ParagraphStyle>().Leak();
917 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphStyleRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleRelease | ( | ImpellerParagraphStyle | paragraph_style | ) |

Definition at line 925 of file impeller.cc.

925 {
926 ObjectBase::SafeRelease(paragraph_style);
927 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerParagraphStyleRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleRetain | ( | ImpellerParagraphStyle | paragraph_style | ) |

Definition at line 920 of file impeller.cc.

920 {
921 ObjectBase::SafeRetain(paragraph_style);
922 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerParagraphStyleSetBackground()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetBackground | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 936 of file impeller.cc.

937 {
938 GetPeer(paragraph_style)->SetBackground(Ref(GetPeer(paint)));
939 }

References Ref().

## ◆ ImpellerParagraphStyleSetFontFamily()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetFontFamily | ( | ImpellerParagraphStyle | paragraph_style,
|  | const char * | family_name
| ) |  |

Definition at line 961 of file impeller.cc.

962 {
963 GetPeer(paragraph_style)->SetFontFamily(ReadString(family_name));
964 }

References ReadString().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphStyleSetFontSize()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetFontSize | ( | ImpellerParagraphStyle | paragraph_style,
|  | float | size
| ) |  |

Definition at line 967 of file impeller.cc.

968 {
969 GetPeer(paragraph_style)->SetFontSize(size);
970 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphStyleSetFontStyle()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetFontStyle | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerFontStyle | style
| ) |  |

Definition at line 948 of file impeller.cc.

949 {
950 GetPeer(paragraph_style)->SetFontStyle(ToTxtType(style));
951 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetFontWeight()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetFontWeight | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerFontWeight | weight
| ) |  |

Definition at line 942 of file impeller.cc.

943 {
944 GetPeer(paragraph_style)->SetFontWeight(ToTxtType(weight));
945 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetForeground()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetForeground | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerPaint | paint
| ) |  |

Definition at line 930 of file impeller.cc.

931 {
932 GetPeer(paragraph_style)->SetForeground(Ref(GetPeer(paint)));
933 }

References Ref().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerParagraphStyleSetHeight()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetHeight | ( | ImpellerParagraphStyle | paragraph_style,
|  | float | height
| ) |  |

Definition at line 973 of file impeller.cc.

974 {
975 GetPeer(paragraph_style)->SetHeight(height);
976 }

## ◆ ImpellerParagraphStyleSetLocale()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetLocale | ( | ImpellerParagraphStyle | paragraph_style,
|  | const char * | locale
| ) |  |

Definition at line 999 of file impeller.cc.

1000 {
1001 GetPeer(paragraph_style)->SetLocale(ReadString(locale));
1002 }

References ReadString().

## ◆ ImpellerParagraphStyleSetMaxLines()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetMaxLines | ( | ImpellerParagraphStyle | paragraph_style,
|  | uint32_t | max_lines
| ) |  |

Definition at line 993 of file impeller.cc.

994 {
995 GetPeer(paragraph_style)->SetMaxLines(max_lines);
996 }

## ◆ ImpellerParagraphStyleSetTextAlignment()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetTextAlignment | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerTextAlignment | align
| ) |  |

Definition at line 979 of file impeller.cc.

981 {
982 GetPeer(paragraph_style)->SetTextAlignment(ToTxtType(align));
983 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetTextDirection()

IMPELLER_EXTERN_C void impeller::interop::ImpellerParagraphStyleSetTextDirection | ( | ImpellerParagraphStyle | paragraph_style,
|  | ImpellerTextDirection | direction
| ) |  |

Definition at line 986 of file impeller.cc.

988 {
989 GetPeer(paragraph_style)->SetTextDirection(ToTxtType(direction));
990 }

References ToTxtType().

## ◆ ImpellerPathBuilderAddArc()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderAddArc | ( | ImpellerPathBuilder | builder,
|  | const ImpellerRect * | oval_bounds,
|  | float | start_angle_degrees,
|  | float | end_angle_degrees
| ) |  |

Definition at line 264 of file impeller.cc.

267 {
268 GetPeer(builder)->AddArc(ToImpellerType(*oval_bounds), //
269 Degrees{start_angle_degrees}, //
270 Degrees{end_angle_degrees} //
271 );
272 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddOval()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderAddOval | ( | ImpellerPathBuilder | builder,
|  | const ImpellerRect * | oval_bounds
| ) |  |

Definition at line 275 of file impeller.cc.

276 {
277 GetPeer(builder)->AddOval(ToImpellerType(*oval_bounds));
278 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderAddRect | ( | ImpellerPathBuilder | builder,
|  | const ImpellerRect * | rect
| ) |  |

Definition at line 258 of file impeller.cc.

259 {
260 GetPeer(builder)->AddRect(ToImpellerType(*rect));
261 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddRoundedRect()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderAddRoundedRect | ( | ImpellerPathBuilder | builder,
|  | const ImpellerRect * | rect,
|  | const ImpellerRoundingRadii * | rounding_radii
| ) |  |

Definition at line 281 of file impeller.cc.

284 {
285 GetPeer(builder)->AddRoundedRect(ToImpellerType(*rect),
286 ToImpellerType(*rounding_radii));
287 }

References ToImpellerType().

## ◆ ImpellerPathBuilderClose()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderClose | ( | ImpellerPathBuilder | builder | ) |

Definition at line 290 of file impeller.cc.

290 {
291 GetPeer(builder)->Close();
292 }

## ◆ ImpellerPathBuilderCopyPathNew()

IMPELLER_EXTERN_C ImpellerPath impeller::interop::ImpellerPathBuilderCopyPathNew | ( | ImpellerPathBuilder | builder,
|  | ImpellerFillType | fill
| ) |  |

Definition at line 295 of file impeller.cc.

296 {
297 return GetPeer(builder)->CopyPath(ToImpellerType(fill)).Leak();
298 }

References ToImpellerType().

## ◆ ImpellerPathBuilderCubicCurveTo()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderCubicCurveTo | ( | ImpellerPathBuilder | builder,
|  | const ImpellerPoint * | control_point_1,
|  | const ImpellerPoint * | control_point_2,
|  | const ImpellerPoint * | end_point
| ) |  |

Definition at line 247 of file impeller.cc.

250 {
251 GetPeer(builder)->CubicCurveTo(ToImpellerType(*control_point_1), //
252 ToImpellerType(*control_point_2), //
253 ToImpellerType(*end_point) //
254 );
255 }

References ToImpellerType().

## ◆ ImpellerPathBuilderLineTo()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderLineTo | ( | ImpellerPathBuilder | builder,
|  | const ImpellerPoint * | location
| ) |  |

Definition at line 233 of file impeller.cc.

234 {
235 GetPeer(builder)->LineTo(ToImpellerType(*location));
236 }

References ToImpellerType().

## ◆ ImpellerPathBuilderMoveTo()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderMoveTo | ( | ImpellerPathBuilder | builder,
|  | const ImpellerPoint * | location
| ) |  |

Definition at line 227 of file impeller.cc.

228 {
229 GetPeer(builder)->MoveTo(ToImpellerType(*location));
230 }

References ToImpellerType().

## ◆ ImpellerPathBuilderNew()

IMPELLER_EXTERN_C ImpellerPathBuilder impeller::interop::ImpellerPathBuilderNew | ( |  | ) |

Create a new path builder. Paths themselves are immutable. A builder builds these immutable paths.

Returns
  The path builder.

Definition at line 212 of file impeller.cc.

212 {
213 return Create<PathBuilder>().Leak();
214 }

## ◆ ImpellerPathBuilderQuadraticCurveTo()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderQuadraticCurveTo | ( | ImpellerPathBuilder | builder,
|  | const ImpellerPoint * | control_point,
|  | const ImpellerPoint * | end_point
| ) |  |

Definition at line 239 of file impeller.cc.

241 {
242 GetPeer(builder)->QuadraticCurveTo(ToImpellerType(*control_point),
243 ToImpellerType(*end_point));
244 }

References ToImpellerType().

## ◆ ImpellerPathBuilderRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderRelease | ( | ImpellerPathBuilder | builder | ) |

Definition at line 222 of file impeller.cc.

222 {
223 ObjectBase::SafeRelease(builder);
224 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerPathBuilderRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathBuilderRetain | ( | ImpellerPathBuilder | builder | ) |

Definition at line 217 of file impeller.cc.

217 {
218 ObjectBase::SafeRetain(builder);
219 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerPathBuilderTakePathNew()

IMPELLER_EXTERN_C ImpellerPath impeller::interop::ImpellerPathBuilderTakePathNew | ( | ImpellerPathBuilder | builder,
|  | ImpellerFillType | fill
| ) |  |

Definition at line 301 of file impeller.cc.

302 {
303 return GetPeer(builder)->TakePath(ToImpellerType(fill)).Leak();
304 }

References ToImpellerType().

## ◆ ImpellerPathRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathRelease | ( | ImpellerPath | path | ) |

Definition at line 207 of file impeller.cc.

207 {
208 ObjectBase::SafeRelease(path);
209 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerPathRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerPathRetain | ( | ImpellerPath | path | ) |

Definition at line 202 of file impeller.cc.

202 {
203 ObjectBase::SafeRetain(path);
204 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerSurfaceCreateWrappedFBONew()

IMPELLER_EXTERN_C ImpellerSurface impeller::interop::ImpellerSurfaceCreateWrappedFBONew | ( | ImpellerContext | context,
|  | uint64_t | fbo,
|  | ImpellerPixelFormat | format,
|  | const ImpellerISize * | size
| ) |  |

Definition at line 607 of file impeller.cc.

610 {
611 return Surface::WrapFBO(*GetPeer(context), //
612 fbo, //
613 ToImpellerType(format), //
614 ToImpellerType(*size)) //
615 .Leak();
616 }

References ToImpellerType(), and impeller::interop::Surface::WrapFBO().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerSurfaceDrawDisplayList()

IMPELLER_EXTERN_C bool impeller::interop::ImpellerSurfaceDrawDisplayList | ( | ImpellerSurface | surface,
|  | ImpellerDisplayList | display_list
| ) |  |

Definition at line 629 of file impeller.cc.

630 {
631 return GetPeer(surface)->DrawDisplayList(*GetPeer(display_list));
632 }

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerSurfaceRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerSurfaceRelease | ( | ImpellerSurface | surface | ) |

Definition at line 624 of file impeller.cc.

624 {
625 ObjectBase::SafeRelease(surface);
626 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerSurfaceRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerSurfaceRetain | ( | ImpellerSurface | surface | ) |

Definition at line 619 of file impeller.cc.

619 {
620 ObjectBase::SafeRetain(surface);
621 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerTextureCreateWithContentsNew()

IMPELLER_EXTERN_C ImpellerTexture impeller::interop::ImpellerTextureCreateWithContentsNew | ( | ImpellerContext | context,
|  | const ImpellerTextureDescriptor * | descriptor,
|  | const ImpellerMapping * | contents,
|  | void * | contents_on_release_user_data
| ) |  |

Definition at line 472 of file impeller.cc.

476 {
477 TextureDescriptor desc;
478 desc.storage_mode = StorageMode::kDevicePrivate;
479 desc.type = TextureType::kTexture2D;
480 desc.format = ToImpellerType(descriptor->pixel_format);
481 desc.size = ToImpellerType(descriptor->size);
482 desc.mip_count = std::min(descriptor->mip_count, 1u);
483 desc.usage = TextureUsage::kShaderRead;
484 desc.compression_type = CompressionType::kLossless;
485 auto texture = Create<Texture>(*GetPeer(context), desc);
486 if (!texture->IsValid()) {
487 VALIDATION_LOG << "Could not create texture.";
488 return nullptr;
489 }
490 // Depending on whether the de-allocation can be delayed, it may be possible
491 // to avoid a data copy.
492 if (contents->on_release) {
493 // Avoids data copy.
494 auto wrapped_contents = std::make_shared<fml::NonOwnedMapping>(
495 contents->data, // data ptr
496 contents->length, // data length
497 [on_release = contents->on_release, contents_on_release_user_data](
498 auto, auto) {
499 on_release(contents_on_release_user_data);
500 } // release callback
501 );
502 if (!texture->SetContents(std::move(wrapped_contents))) {
503 VALIDATION_LOG << "Could not set texture contents.";
504 return nullptr;
505 }
506 } else {
507 // May copy.
508 if (!texture->SetContents(contents->data, contents->length)) {
509 VALIDATION_LOG << "Could not set texture contents.";
510 return nullptr;
511 }
512 }
513 return texture.Leak();
514 }

References impeller::TextureDescriptor::compression_type, ImpellerMapping::data, impeller::TextureDescriptor::format, impeller::kDevicePrivate, impeller::kLossless, impeller::kShaderRead, impeller::kTexture2D, ImpellerMapping::length, impeller::TextureDescriptor::mip_count, ImpellerTextureDescriptor::mip_count, ImpellerMapping::on_release, ImpellerTextureDescriptor::pixel_format, impeller::TextureDescriptor::size, ImpellerTextureDescriptor::size, impeller::TextureDescriptor::storage_mode, ToImpellerType(), impeller::TextureDescriptor::type, impeller::TextureDescriptor::usage, and VALIDATION_LOG.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerTextureCreateWithOpenGLTextureHandleNew()

IMPELLER_EXTERN_C ImpellerTexture impeller::interop::ImpellerTextureCreateWithOpenGLTextureHandleNew | ( | ImpellerContext | context,
|  | const ImpellerTextureDescriptor * | descriptor,
|  | uint64_t | external_gl_handle
| ) |  |

Definition at line 517 of file impeller.cc.

520 {
521 auto impeller_context = GetPeer(context)->GetContext();
522 if (impeller_context->GetBackendType() !=
523 impeller::Context::BackendType::kOpenGLES) {
524 VALIDATION_LOG << "Context is not OpenGL.";
525 return nullptr;
526 }
527
528 const auto& impeller_context_gl = ContextGLES::Cast(*impeller_context);
529 const auto& reactor = impeller_context_gl.GetReactor();
530
531 TextureDescriptor desc;
532 desc.storage_mode = StorageMode::kDevicePrivate;
533 desc.type = TextureType::kTexture2D;
534 desc.format = ToImpellerType(descriptor->pixel_format);
535 desc.size = ToImpellerType(descriptor->size);
536 desc.mip_count = std::min(descriptor->mip_count, 1u);
537 desc.usage = TextureUsage::kShaderRead;
538 desc.compression_type = CompressionType::kLossless;
539
540 auto texture = TextureGLES::WrapTexture(
541 reactor, //
542 desc, //
543 reactor->CreateHandle(HandleType::kTexture, external_gl_handle) //
544 );
545 if (!texture || !texture->IsValid()) {
546 VALIDATION_LOG << "Could not wrap external texture.";
547 return nullptr;
548 }
549 texture->SetCoordinateSystem(TextureCoordinateSystem::kUploadFromHost);
550 return Create<Texture>(impeller::Context::BackendType::kOpenGLES,
551 std::move(texture))
552 .Leak();
553 }

References impeller::BackendCast< ContextGLES, Context >::Cast(), impeller::TextureDescriptor::compression_type, impeller::TextureDescriptor::format, impeller::kDevicePrivate, impeller::kLossless, impeller::Context::kOpenGLES, impeller::kShaderRead, impeller::kTexture, impeller::kTexture2D, impeller::kUploadFromHost, impeller::TextureDescriptor::mip_count, ImpellerTextureDescriptor::mip_count, ImpellerTextureDescriptor::pixel_format, impeller::TextureDescriptor::size, ImpellerTextureDescriptor::size, impeller::TextureDescriptor::storage_mode, ToImpellerType(), impeller::TextureDescriptor::type, impeller::TextureDescriptor::usage, VALIDATION_LOG, and impeller::TextureGLES::WrapTexture().

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerTextureGetOpenGLHandle()

IMPELLER_EXTERN_C uint64_t impeller::interop::ImpellerTextureGetOpenGLHandle | ( | ImpellerTexture | texture | ) |

Definition at line 566 of file impeller.cc.

566 {
567 auto interop_texture = GetPeer(texture);
568 if (interop_texture->GetBackendType() !=
569 impeller::Context::BackendType::kOpenGLES) {
570 VALIDATION_LOG << "Can only fetch the texture handle of an OpenGL texture.";
571 return 0u;
572 }
573 return TextureGLES::Cast(*interop_texture->GetTexture())
574 .GetGLHandle()
575 .value_or(0u);
576 }

References impeller::BackendCast< TextureGLES, Texture >::Cast(), impeller::TextureGLES::GetGLHandle(), impeller::Context::kOpenGLES, and VALIDATION_LOG.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerTextureRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerTextureRelease | ( | ImpellerTexture | texture | ) |

Definition at line 561 of file impeller.cc.

561 {
562 ObjectBase::SafeRelease(texture);
563 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerTextureRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerTextureRetain | ( | ImpellerTexture | texture | ) |

Definition at line 556 of file impeller.cc.

556 {
557 ObjectBase::SafeRetain(texture);
558 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerTypographyContextNew()

IMPELLER_EXTERN_C ImpellerTypographyContext impeller::interop::ImpellerTypographyContextNew | ( |  | ) |

Create a new typography contents.

Returns
  The typography context.

Definition at line 1119 of file impeller.cc.

1119 {
1120 auto context = Create<TypographyContext>();
1121 if (!context->IsValid()) {
1122 VALIDATION_LOG << "Could not create typography context.";
1123 return nullptr;
1124 }
1125 return Create<TypographyContext>().Leak();
1126 }

References VALIDATION_LOG.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerTypographyContextRegisterFont()

IMPELLER_EXTERN_C bool impeller::interop::ImpellerTypographyContextRegisterFont | ( | ImpellerTypographyContext | context,
|  | const ImpellerMapping * | contents,
|  | void * | contents_on_release_user_data,
|  | const char * | family_name_alias
| ) |  |

Definition at line 1139 of file impeller.cc.

1142 {
1143 auto wrapped_contents = std::make_unique<fml::NonOwnedMapping>(
1144 contents->data, // data ptr
1145 contents->length, // data length
1146 [on_release = contents->on_release, contents_on_release_user_data](auto,
1147 auto) {
1148 on_release(contents_on_release_user_data);
1149 } // release callback
1150 );
1151 return GetPeer(context)->RegisterFont(std::move(wrapped_contents),
1152 family_name_alias);
1153 }

References ImpellerMapping::data, ImpellerMapping::length, and ImpellerMapping::on_release.

Referenced by impeller::interop::testing::TEST_P().

## ◆ ImpellerTypographyContextRelease()

IMPELLER_EXTERN_C void impeller::interop::ImpellerTypographyContextRelease | ( | ImpellerTypographyContext | context | ) |

Definition at line 1134 of file impeller.cc.

1134 {
1135 ObjectBase::SafeRelease(context);
1136 }

References impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerTypographyContextRetain()

IMPELLER_EXTERN_C void impeller::interop::ImpellerTypographyContextRetain | ( | ImpellerTypographyContext | context | ) |

Definition at line 1129 of file impeller.cc.

1129 {
1130 ObjectBase::SafeRetain(context);
1131 }

References impeller::interop::ObjectBase::SafeRetain().

## ◆ ParseColorsAndStops()

static std::pair<std::vector<flutter::DlColor>, std::vector<Scalar> > impeller::interop::ParseColorsAndStops | ( | uint32_t | stop_count,
|  | const ImpellerColor * | colors,
|  | const float * | stops
| ) |  |
| static

Definition at line 674 of file impeller.cc.

676 {
677 if (stop_count == 0) {
678 return {};
679 }
680 std::pair<std::vector<flutter::DlColor>, std::vector<Scalar>> result;
681 result.first.reserve(stop_count);
682 result.second.reserve(stop_count);
683 for (size_t i = 0; i < stop_count; i++) {
684 result.first.emplace_back(ToDisplayListType(colors[i]));
685 result.second.emplace_back(stops[i]);
686 }
687 return result;
688 }

References ToDisplayListType().

Referenced by ImpellerColorSourceCreateConicalGradientNew(), ImpellerColorSourceCreateLinearGradientNew(), ImpellerColorSourceCreateRadialGradientNew(), and ImpellerColorSourceCreateSweepGradientNew().

## ◆ ReadString()

static std::string impeller::interop::ReadString | ( | const char * | string | ) |
| static

Definition at line 953 of file impeller.cc.

953 {
954 if (string == nullptr) {
955 return "";
956 }
957 return std::string{string};
958 }

Referenced by ImpellerParagraphStyleSetFontFamily(), and ImpellerParagraphStyleSetLocale().

## ◆ Ref()

template<typename Object >

ScopedObject<Object> impeller::interop::Ref | ( | Object * | object | ) |

Definition at line 145 of file object.h.

145 {
146 return ScopedObject<Object>{object};
147 }

Referenced by ImpellerParagraphStyleSetBackground(), ImpellerParagraphStyleSetForeground(), and impeller::interop::testing::TEST().

## ◆ ToDisplayListType() [1/11]

constexpr flutter::DlBlendMode impeller::interop::ToDisplayListType | ( | BlendMode | mode | ) |
| constexpr

Definition at line 124 of file formats.h.

124 {
125 using Mode = flutter::DlBlendMode;
126 switch (mode) {
127 case BlendMode::kClear:
128 return Mode::kClear;
129 case BlendMode::kSource:
130 return Mode::kSrc;
131 case BlendMode::kDestination:
132 return Mode::kDst;
133 case BlendMode::kSourceOver:
134 return Mode::kSrcOver;
135 case BlendMode::kDestinationOver:
136 return Mode::kDstOver;
137 case BlendMode::kSourceIn:
138 return Mode::kSrcIn;
139 case BlendMode::kDestinationIn:
140 return Mode::kDstIn;
141 case BlendMode::kSourceOut:
142 return Mode::kSrcOut;
143 case BlendMode::kDestinationOut:
144 return Mode::kDstOut;
145 case BlendMode::kSourceATop:
146 return Mode::kSrcATop;
147 case BlendMode::kDestinationATop:
148 return Mode::kDstATop;
149 case BlendMode::kXor:
150 return Mode::kXor;
151 case BlendMode::kPlus:
152 return Mode::kPlus;
153 case BlendMode::kModulate:
154 return Mode::kModulate;
155 case BlendMode::kScreen:
156 return Mode::kScreen;
157 case BlendMode::kOverlay:
158 return Mode::kOverlay;
159 case BlendMode::kDarken:
160 return Mode::kDarken;
161 case BlendMode::kLighten:
162 return Mode::kLighten;
163 case BlendMode::kColorDodge:
164 return Mode::kColorDodge;
165 case BlendMode::kColorBurn:
166 return Mode::kColorBurn;
167 case BlendMode::kHardLight:
168 return Mode::kHardLight;
169 case BlendMode::kSoftLight:
170 return Mode::kSoftLight;
171 case BlendMode::kDifference:
172 return Mode::kDifference;
173 case BlendMode::kExclusion:
174 return Mode::kExclusion;
175 case BlendMode::kMultiply:
176 return Mode::kMultiply;
177 case BlendMode::kHue:
178 return Mode::kHue;
179 case BlendMode::kSaturation:
180 return Mode::kSaturation;
181 case BlendMode::kColor:
182 return Mode::kColor;
183 case BlendMode::kLuminosity:
184 return Mode::kLuminosity;
185 }
186 return Mode::kSrcOver;
187 }

References impeller::kClear, impeller::kColor, impeller::kColorBurn, impeller::kColorDodge, impeller::kDarken, impeller::kDestination, impeller::kDestinationATop, impeller::kDestinationIn, impeller::kDestinationOut, impeller::kDestinationOver, impeller::kDifference, impeller::kExclusion, impeller::kHardLight, impeller::kHue, impeller::kLighten, impeller::kLuminosity, impeller::kModulate, impeller::kMultiply, impeller::kOverlay, impeller::kPlus, impeller::kSaturation, impeller::kScreen, impeller::kSoftLight, impeller::kSource, impeller::kSourceATop, impeller::kSourceIn, impeller::kSourceOut, impeller::kSourceOver, and impeller::kXor.

## ◆ ToDisplayListType() [2/11]

constexpr flutter::DlColor impeller::interop::ToDisplayListType | ( | Color | color | ) |
| constexpr

Definition at line 77 of file formats.h.

77 {
78 return flutter::DlColor::RGBA(color.red, //
79 color.green, //
80 color.blue, //
81 color.alpha //
82 );
83 }

References impeller::Color::alpha, impeller::Color::blue, impeller::Color::green, and impeller::Color::red.

Referenced by ImpellerColorSourceCreateConicalGradientNew(), ImpellerColorSourceCreateImageNew(), ImpellerColorSourceCreateLinearGradientNew(), ImpellerColorSourceCreateRadialGradientNew(), ImpellerColorSourceCreateSweepGradientNew(), ImpellerDisplayListBuilderDrawTexture(), ImpellerDisplayListBuilderDrawTextureRect(), ImpellerImageFilterCreateBlurNew(), ImpellerImageFilterCreateMatrixNew(), ImpellerMaskFilterCreateBlurNew(), ImpellerPaintSetColor(), ImpellerPaintSetDrawStyle(), ImpellerPaintSetStrokeCap(), ImpellerPaintSetStrokeJoin(), impeller::interop::ColorFilter::MakeBlend(), ParseColorsAndStops(), impeller::interop::Paint::SetBlendMode(), and ToDisplayListType().

## ◆ ToDisplayListType() [3/11]

template<class DlType , class OtherType >

std::vector<DlType> impeller::interop::ToDisplayListType | ( | const std::vector< OtherType > & | other_vec | ) |

Definition at line 90 of file formats.h.

90 {
91 std::vector<DlType> dl_vec;
92 dl_vec.reserve(other_vec.size());
93 for (const auto& other : other_vec) {
94 dl_vec.emplace_back(ToDisplayListType(other));
95 }
96 return dl_vec;
97 }

References ToDisplayListType().

## ◆ ToDisplayListType() [4/11]

constexpr flutter::DlBlurStyle impeller::interop::ToDisplayListType | ( | ImpellerBlurStyle | style | ) |
| constexpr

Definition at line 110 of file formats.h.

110 {
111 switch (style) {
112 case kImpellerBlurStyleNormal:
113 return flutter::DlBlurStyle::kNormal;
114 case kImpellerBlurStyleSolid:
115 return flutter::DlBlurStyle::kSolid;
116 case kImpellerBlurStyleOuter:
117 return flutter::DlBlurStyle::kOuter;
118 case kImpellerBlurStyleInner:
119 return flutter::DlBlurStyle::kInner;
120 }
121 return flutter::DlBlurStyle::kNormal;
122 }

References kImpellerBlurStyleInner, kImpellerBlurStyleNormal, kImpellerBlurStyleOuter, and kImpellerBlurStyleSolid.

## ◆ ToDisplayListType() [5/11]

constexpr flutter::DlColor impeller::interop::ToDisplayListType | ( | ImpellerColor | color | ) |
| constexpr

Definition at line 421 of file formats.h.

421 {
422 return flutter::DlColor(color.alpha, //
423 color.red, //
424 color.green, //
425 color.blue, //
426 ToDisplayListType(color.color_space) //
427 );
428 }

References ImpellerColor::alpha, ImpellerColor::blue, ImpellerColor::color_space, ImpellerColor::green, ImpellerColor::red, and ToDisplayListType().

## ◆ ToDisplayListType() [6/11]

constexpr flutter::DlColorSpace impeller::interop::ToDisplayListType | ( | ImpellerColorSpace | color_space | ) |
| constexpr

Definition at line 408 of file formats.h.

409 {
410 switch (color_space) {
411 case kImpellerColorSpaceSRGB:
412 return flutter::DlColorSpace::kSRGB;
413 case kImpellerColorSpaceExtendedSRGB:
414 return flutter::DlColorSpace::kExtendedSRGB;
415 case kImpellerColorSpaceDisplayP3:
416 return flutter::DlColorSpace::kDisplayP3;
417 }
418 return flutter::DlColorSpace::kSRGB;
419 }

References kImpellerColorSpaceDisplayP3, kImpellerColorSpaceExtendedSRGB, and kImpellerColorSpaceSRGB.

## ◆ ToDisplayListType() [7/11]

constexpr flutter::DlDrawStyle impeller::interop::ToDisplayListType | ( | ImpellerDrawStyle | style | ) |
| constexpr

Definition at line 360 of file formats.h.

360 {
361 switch (style) {
362 case kImpellerDrawStyleFill:
363 return flutter::DlDrawStyle::kFill;
364 case kImpellerDrawStyleStroke:
365 return flutter::DlDrawStyle::kStroke;
366 case kImpellerDrawStyleStrokeAndFill:
367 return flutter::DlDrawStyle::kStrokeAndFill;
368 }
369 return flutter::DlDrawStyle::kFill;
370 }

References kImpellerDrawStyleFill, kImpellerDrawStyleStroke, and kImpellerDrawStyleStrokeAndFill.

## ◆ ToDisplayListType() [8/11]

constexpr flutter::DlStrokeCap impeller::interop::ToDisplayListType | ( | ImpellerStrokeCap | cap | ) |
| constexpr

Definition at line 372 of file formats.h.

372 {
373 switch (cap) {
374 case kImpellerStrokeCapButt:
375 return flutter::DlStrokeCap::kButt;
376 case kImpellerStrokeCapRound:
377 return flutter::DlStrokeCap::kRound;
378 case kImpellerStrokeCapSquare:
379 return flutter::DlStrokeCap::kSquare;
380 }
381 return flutter::DlStrokeCap::kButt;
382 }

References kImpellerStrokeCapButt, kImpellerStrokeCapRound, and kImpellerStrokeCapSquare.

## ◆ ToDisplayListType() [9/11]

constexpr flutter::DlStrokeJoin impeller::interop::ToDisplayListType | ( | ImpellerStrokeJoin | join | ) |
| constexpr

Definition at line 384 of file formats.h.

384 {
385 switch (join) {
386 case kImpellerStrokeJoinMiter:
387 return flutter::DlStrokeJoin::kMiter;
388 case kImpellerStrokeJoinRound:
389 return flutter::DlStrokeJoin::kRound;
390 case kImpellerStrokeJoinBevel:
391 return flutter::DlStrokeJoin::kBevel;
392 }
393 return flutter::DlStrokeJoin::kMiter;
394 }

References kImpellerStrokeJoinBevel, kImpellerStrokeJoinMiter, and kImpellerStrokeJoinRound.

## ◆ ToDisplayListType() [10/11]

constexpr flutter::DlImageSampling impeller::interop::ToDisplayListType | ( | ImpellerTextureSampling | sampling | ) |
| constexpr

Definition at line 99 of file formats.h.

100 {
101 switch (sampling) {
102 case kImpellerTextureSamplingNearestNeighbor:
103 return flutter::DlImageSampling::kNearestNeighbor;
104 case kImpellerTextureSamplingLinear:
105 return flutter::DlImageSampling::kLinear;
106 }
107 return flutter::DlImageSampling::kLinear;
108 }

References kImpellerTextureSamplingLinear, and kImpellerTextureSamplingNearestNeighbor.

## ◆ ToDisplayListType() [11/11]

constexpr flutter::DlTileMode impeller::interop::ToDisplayListType | ( | ImpellerTileMode | mode | ) |
| constexpr

Definition at line 244 of file formats.h.

244 {
245 switch (mode) {
246 case kImpellerTileModeClamp:
247 return flutter::DlTileMode::kClamp;
248 case kImpellerTileModeRepeat:
249 return flutter::DlTileMode::kRepeat;
250 case kImpellerTileModeMirror:
251 return flutter::DlTileMode::kMirror;
252 case kImpellerTileModeDecal:
253 return flutter::DlTileMode::kDecal;
254 }
255 return flutter::DlTileMode::kClamp;
256 }

References kImpellerTileModeClamp, kImpellerTileModeDecal, kImpellerTileModeMirror, and kImpellerTileModeRepeat.

## ◆ ToImpellerSize()

constexpr Size impeller::interop::ToImpellerSize | ( | const ImpellerPoint & | point | ) |
| constexpr

Definition at line 236 of file formats.h.

236 {
237 return Size{point.x, point.y};
238 }

References ImpellerPoint::x, and ImpellerPoint::y.

Referenced by ToImpellerType().

## ◆ ToImpellerType() [1/11]

constexpr Color impeller::interop::ToImpellerType | ( | const ImpellerColor & | color | ) |
| constexpr

Definition at line 287 of file formats.h.

287 {
288 Color result;
289 result.red = color.red;
290 result.green = color.green;
291 result.blue = color.blue;
292 result.alpha = color.alpha;
293 return result;
294 }

References impeller::Color::alpha, ImpellerColor::alpha, impeller::Color::blue, ImpellerColor::blue, impeller::Color::green, ImpellerColor::green, impeller::Color::red, and ImpellerColor::red.

## ◆ ToImpellerType() [2/11]

constexpr ISize impeller::interop::ToImpellerType | ( | const ImpellerISize & | size | ) |
| constexpr

Definition at line 404 of file formats.h.

404 {
405 return ISize::MakeWH(size.width, size.height);
406 }

References ImpellerISize::height, impeller::TSize< T >::MakeWH(), and ImpellerISize::width.

## ◆ ToImpellerType() [3/11]

constexpr Matrix impeller::interop::ToImpellerType | ( | const ImpellerMatrix & | m | ) |
| constexpr

Definition at line 201 of file formats.h.

201 {
202 return Matrix(m.m[0], m.m[1], m.m[2], m.m[3], //
203 m.m[4], m.m[5], m.m[6], m.m[7], //
204 m.m[8], m.m[9], m.m[10], m.m[11], //
205 m.m[12], m.m[13], m.m[14], m.m[15] //
206 );
207 }

References ImpellerMatrix::m.

Referenced by ImpellerColorFilterCreateBlendNew(), ImpellerColorSourceCreateConicalGradientNew(), ImpellerColorSourceCreateImageNew(), ImpellerColorSourceCreateLinearGradientNew(), ImpellerColorSourceCreateRadialGradientNew(), ImpellerColorSourceCreateSweepGradientNew(), ImpellerDisplayListBuilderClipOval(), ImpellerDisplayListBuilderClipPath(), ImpellerDisplayListBuilderClipRect(), ImpellerDisplayListBuilderClipRoundedRect(), ImpellerDisplayListBuilderDrawDashedLine(), ImpellerDisplayListBuilderDrawLine(), ImpellerDisplayListBuilderDrawOval(), ImpellerDisplayListBuilderDrawParagraph(), ImpellerDisplayListBuilderDrawRect(), ImpellerDisplayListBuilderDrawRoundedRect(), ImpellerDisplayListBuilderDrawRoundedRectDifference(), ImpellerDisplayListBuilderDrawTexture(), ImpellerDisplayListBuilderDrawTextureRect(), ImpellerDisplayListBuilderSaveLayer(), ImpellerDisplayListBuilderSetTransform(), ImpellerDisplayListBuilderTransform(), ImpellerImageFilterCreateMatrixNew(), ImpellerPaintSetBlendMode(), ImpellerPathBuilderAddArc(), ImpellerPathBuilderAddOval(), ImpellerPathBuilderAddRect(), ImpellerPathBuilderAddRoundedRect(), ImpellerPathBuilderCopyPathNew(), ImpellerPathBuilderCubicCurveTo(), ImpellerPathBuilderLineTo(), ImpellerPathBuilderMoveTo(), ImpellerPathBuilderQuadraticCurveTo(), ImpellerPathBuilderTakePathNew(), ImpellerSurfaceCreateWrappedFBONew(), ImpellerTextureCreateWithContentsNew(), ImpellerTextureCreateWithOpenGLTextureHandleNew(), and impeller::interop::testing::TEST_P().

## ◆ ToImpellerType() [4/11]

constexpr Point impeller::interop::ToImpellerType | ( | const ImpellerPoint & | point | ) |
| constexpr

Definition at line 232 of file formats.h.

232 {
233 return Point{point.x, point.y};
234 }

References ImpellerPoint::x, and ImpellerPoint::y.

## ◆ ToImpellerType() [5/11]

constexpr Rect impeller::interop::ToImpellerType | ( | const ImpellerRect & | rect | ) |
| constexpr

Definition at line 240 of file formats.h.

240 {
241 return Rect::MakeXYWH(rect.x, rect.y, rect.width, rect.height);
242 }

References ImpellerRect::height, impeller::TRect< Scalar >::MakeXYWH(), ImpellerRect::width, ImpellerRect::x, and ImpellerRect::y.

## ◆ ToImpellerType() [6/11]

constexpr RoundingRadii impeller::interop::ToImpellerType | ( | const ImpellerRoundingRadii & | radii | ) |
| constexpr

Definition at line 258 of file formats.h.

258 {
259 auto result = RoundingRadii{};
260 result.top_left = ToImpellerSize(radii.top_left);
261 result.bottom_left = ToImpellerSize(radii.bottom_left);
262 result.top_right = ToImpellerSize(radii.top_right);
263 result.bottom_right = ToImpellerSize(radii.bottom_right);
264 return result;
265 }

References ImpellerRoundingRadii::bottom_left, ImpellerRoundingRadii::bottom_right, ToImpellerSize(), impeller::RoundingRadii::top_left, ImpellerRoundingRadii::top_left, and ImpellerRoundingRadii::top_right.

## ◆ ToImpellerType() [7/11]

constexpr Size impeller::interop::ToImpellerType | ( | const ImpellerSize & | size | ) |
| constexpr

Definition at line 228 of file formats.h.

228 {
229 return Size{size.width, size.height};
230 }

References ImpellerSize::height, and ImpellerSize::width.

## ◆ ToImpellerType() [8/11]

constexpr BlendMode impeller::interop::ToImpellerType | ( | ImpellerBlendMode | mode | ) |
| constexpr

Definition at line 296 of file formats.h.

296 {
297 switch (mode) {
298 case kImpellerBlendModeClear:
299 return BlendMode::kClear;
300 case kImpellerBlendModeSource:
301 return BlendMode::kSource;
302 case kImpellerBlendModeDestination:
303 return BlendMode::kDestination;
304 case kImpellerBlendModeSourceOver:
305 return BlendMode::kSourceOver;
306 case kImpellerBlendModeDestinationOver:
307 return BlendMode::kDestinationOver;
308 case kImpellerBlendModeSourceIn:
309 return BlendMode::kSourceIn;
310 case kImpellerBlendModeDestinationIn:
311 return BlendMode::kDestinationIn;
312 case kImpellerBlendModeSourceOut:
313 return BlendMode::kSourceOut;
314 case kImpellerBlendModeDestinationOut:
315 return BlendMode::kDestinationOut;
316 case kImpellerBlendModeSourceATop:
317 return BlendMode::kSourceATop;
318 case kImpellerBlendModeDestinationATop:
319 return BlendMode::kDestinationATop;
320 case kImpellerBlendModeXor:
321 return BlendMode::kXor;
322 case kImpellerBlendModePlus:
323 return BlendMode::kPlus;
324 case kImpellerBlendModeModulate:
325 return BlendMode::kModulate;
326 case kImpellerBlendModeScreen:
327 return BlendMode::kScreen;
328 case kImpellerBlendModeOverlay:
329 return BlendMode::kOverlay;
330 case kImpellerBlendModeDarken:
331 return BlendMode::kDarken;
332 case kImpellerBlendModeLighten:
333 return BlendMode::kLighten;
334 case kImpellerBlendModeColorDodge:
335 return BlendMode::kColorDodge;
336 case kImpellerBlendModeColorBurn:
337 return BlendMode::kColorBurn;
338 case kImpellerBlendModeHardLight:
339 return BlendMode::kHardLight;
340 case kImpellerBlendModeSoftLight:
341 return BlendMode::kSoftLight;
342 case kImpellerBlendModeDifference:
343 return BlendMode::kDifference;
344 case kImpellerBlendModeExclusion:
345 return BlendMode::kExclusion;
346 case kImpellerBlendModeMultiply:
347 return BlendMode::kMultiply;
348 case kImpellerBlendModeHue:
349 return BlendMode::kHue;
350 case kImpellerBlendModeSaturation:
351 return BlendMode::kSaturation;
352 case kImpellerBlendModeColor:
353 return BlendMode::kColor;
354 case kImpellerBlendModeLuminosity:
355 return BlendMode::kLuminosity;
356 }
357 return BlendMode::kSourceOver;
358 }

References impeller::kClear, impeller::kColor, impeller::kColorBurn, impeller::kColorDodge, impeller::kDarken, impeller::kDestination, impeller::kDestinationATop, impeller::kDestinationIn, impeller::kDestinationOut, impeller::kDestinationOver, impeller::kDifference, impeller::kExclusion, impeller::kHardLight, impeller::kHue, kImpellerBlendModeClear, kImpellerBlendModeColor, kImpellerBlendModeColorBurn, kImpellerBlendModeColorDodge, kImpellerBlendModeDarken, kImpellerBlendModeDestination, kImpellerBlendModeDestinationATop, kImpellerBlendModeDestinationIn, kImpellerBlendModeDestinationOut, kImpellerBlendModeDestinationOver, kImpellerBlendModeDifference, kImpellerBlendModeExclusion, kImpellerBlendModeHardLight, kImpellerBlendModeHue, kImpellerBlendModeLighten, kImpellerBlendModeLuminosity, kImpellerBlendModeModulate, kImpellerBlendModeMultiply, kImpellerBlendModeOverlay, kImpellerBlendModePlus, kImpellerBlendModeSaturation, kImpellerBlendModeScreen, kImpellerBlendModeSoftLight, kImpellerBlendModeSource, kImpellerBlendModeSourceATop, kImpellerBlendModeSourceIn, kImpellerBlendModeSourceOut, kImpellerBlendModeSourceOver, kImpellerBlendModeXor, impeller::kLighten, impeller::kLuminosity, impeller::kModulate, impeller::kMultiply, impeller::kOverlay, impeller::kPlus, impeller::kSaturation, impeller::kScreen, impeller::kSoftLight, impeller::kSource, impeller::kSourceATop, impeller::kSourceIn, impeller::kSourceOut, impeller::kSourceOver, and impeller::kXor.

## ◆ ToImpellerType() [9/11]

constexpr flutter::DlCanvas::ClipOp impeller::interop::ToImpellerType | ( | ImpellerClipOperation | op | ) |
| constexpr

Definition at line 277 of file formats.h.

277 {
278 switch (op) {
279 case kImpellerClipOperationDifference:
280 return flutter::DlCanvas::ClipOp::kDifference;
281 case kImpellerClipOperationIntersect:
282 return flutter::DlCanvas::ClipOp::kIntersect;
283 }
284 return flutter::DlCanvas::ClipOp::kDifference;
285 }

References kImpellerClipOperationDifference, and kImpellerClipOperationIntersect.

## ◆ ToImpellerType() [10/11]

constexpr FillType impeller::interop::ToImpellerType | ( | ImpellerFillType | type | ) |
| constexpr

Definition at line 267 of file formats.h.

267 {
268 switch (type) {
269 case kImpellerFillTypeNonZero:
270 return FillType::kNonZero;
271 case kImpellerFillTypeOdd:
272 return FillType::kOdd;
273 }
274 return FillType::kNonZero;
275 }

References kImpellerFillTypeNonZero, kImpellerFillTypeOdd, impeller::kNonZero, impeller::kOdd, and type.

## ◆ ToImpellerType() [11/11]

constexpr PixelFormat impeller::interop::ToImpellerType | ( | ImpellerPixelFormat | format | ) |
| constexpr

Definition at line 396 of file formats.h.

396 {
397 switch (format) {
398 case kImpellerPixelFormatRGBA8888:
399 return PixelFormat::kR8G8B8A8UNormInt;
400 }
401 return PixelFormat::kR8G8B8A8UNormInt;
402 }

References kImpellerPixelFormatRGBA8888, and impeller::kR8G8B8A8UNormInt.

## ◆ ToSkiaType() [1/7]

constexpr std::optional<SkRect> impeller::interop::ToSkiaType | ( | const ImpellerRect * | rect | ) |
| constexpr

Definition at line 26 of file formats.h.

26 {
27 if (!rect) {
28 return std::nullopt;
29 }
30 return SkRect::MakeXYWH(rect->x, rect->y, rect->width, rect->height);
31 }

References ImpellerRect::height, ImpellerRect::width, ImpellerRect::x, and ImpellerRect::y.

Referenced by impeller::interop::PathBuilder::AddArc(), impeller::interop::PathBuilder::AddOval(), impeller::interop::PathBuilder::AddRect(), impeller::interop::PathBuilder::AddRoundedRect(), impeller::interop::PathBuilder::CopyPath(), impeller::interop::PathBuilder::CubicCurveTo(), impeller::interop::PathBuilder::LineTo(), impeller::interop::PathBuilder::MoveTo(), impeller::interop::PathBuilder::QuadraticCurveTo(), impeller::interop::PathBuilder::TakePath(), and ToSkiaType().

## ◆ ToSkiaType() [2/7]

constexpr SkPoint impeller::interop::ToSkiaType | ( | const Point & | point | ) |
| constexpr

Definition at line 33 of file formats.h.

33 {
34 return SkPoint::Make(point.x, point.y);
35 }

References impeller::TPoint< T >::x, and impeller::TPoint< T >::y.

## ◆ ToSkiaType() [3/7]

constexpr SkRect impeller::interop::ToSkiaType | ( | const Rect & | rect | ) |
| constexpr

Definition at line 41 of file formats.h.

41 {
42 return SkRect::MakeXYWH(rect.GetX(), //
43 rect.GetY(), //
44 rect.GetWidth(), //
45 rect.GetHeight() //
46 );
47 }

References impeller::TRect< T >::GetHeight(), impeller::TRect< T >::GetWidth(), impeller::TRect< T >::GetX(), and impeller::TRect< T >::GetY().

## ◆ ToSkiaType() [4/7]

SkRRect impeller::interop::ToSkiaType | ( | const Rect & | rect,
|  | const RoundingRadii & | radii
| ) |  |
| inline

Definition at line 189 of file formats.h.

189 {
190 using Corner = SkRRect::Corner;
191 SkVector sk_radii[4];
192 sk_radii[Corner::kUpperLeft_Corner] = ToSkiaVector(radii.top_left);
193 sk_radii[Corner::kUpperRight_Corner] = ToSkiaVector(radii.top_right);
194 sk_radii[Corner::kLowerRight_Corner] = ToSkiaVector(radii.bottom_right);
195 sk_radii[Corner::kLowerLeft_Corner] = ToSkiaVector(radii.bottom_left);
196 SkRRect result;
197 result.setRectRadii(ToSkiaType(rect), sk_radii);
198 return result;
199 }

References impeller::RoundingRadii::bottom_left, impeller::RoundingRadii::bottom_right, impeller::RoundingRadii::top_left, impeller::RoundingRadii::top_right, ToSkiaType(), and ToSkiaVector().

## ◆ ToSkiaType() [5/7]

template<class SkiaType , class OtherType >

std::vector<SkiaType> impeller::interop::ToSkiaType | ( | const std::vector< OtherType > & | other_vec | ) |

Definition at line 68 of file formats.h.

68 {
69 std::vector<SkiaType> skia_vec;
70 skia_vec.reserve(other_vec.size());
71 for (const auto& other : other_vec) {
72 skia_vec.emplace_back(ToSkiaType(other));
73 }
74 return skia_vec;
75 }

References ToSkiaType().

## ◆ ToSkiaType() [6/7]

constexpr SkPathFillType impeller::interop::ToSkiaType | ( | FillType | type | ) |
| constexpr

Definition at line 49 of file formats.h.

49 {
50 switch (type) {
51 case FillType::kNonZero:
52 return SkPathFillType::kWinding;
53 case FillType::kOdd:
54 return SkPathFillType::kEvenOdd;
55 }
56 return SkPathFillType::kWinding;
57 }

References impeller::kNonZero, impeller::kOdd, and type.

## ◆ ToSkiaType() [7/7]

constexpr SkIRect impeller::interop::ToSkiaType | ( | IRect | rect | ) |
| constexpr

Definition at line 59 of file formats.h.

59 {
60 return SkIRect::MakeXYWH(rect.GetX(), //
61 rect.GetY(), //
62 rect.GetWidth(), //
63 rect.GetHeight() //
64 );
65 }

References impeller::TRect< T >::GetHeight(), impeller::TRect< T >::GetWidth(), impeller::TRect< T >::GetX(), and impeller::TRect< T >::GetY().

## ◆ ToSkiaVector()

constexpr SkVector impeller::interop::ToSkiaVector | ( | const Size & | point | ) |
| constexpr

Definition at line 37 of file formats.h.

37 {
38 return SkVector::Make(point.width, point.height);
39 }

References impeller::TSize< T >::height, and impeller::TSize< T >::width.

Referenced by ToSkiaType().

## ◆ ToSkMatrix()

constexpr SkMatrix impeller::interop::ToSkMatrix | ( | const Matrix & | matrix | ) |
| constexpr

Definition at line 85 of file formats.h.

85 {
86 return SkM44::ColMajor(matrix.m).asM33();
87 }

References impeller::Matrix::m.

## ◆ ToTxtType() [1/4]

constexpr txt::FontStyle impeller::interop::ToTxtType | ( | ImpellerFontStyle | style | ) |
| constexpr

Definition at line 454 of file formats.h.

454 {
455 switch (style) {
456 case kImpellerFontStyleNormal:
457 return txt::FontStyle::normal;
458 case kImpellerFontStyleItalic:
459 return txt::FontStyle::italic;
460 }
461 return txt::FontStyle::normal;
462 }

References kImpellerFontStyleItalic, and kImpellerFontStyleNormal.

## ◆ ToTxtType() [2/4]

constexpr txt::FontWeight impeller::interop::ToTxtType | ( | ImpellerFontWeight | weight | ) |
| constexpr

Definition at line 430 of file formats.h.

430 {
431 switch (weight) {
432 case kImpellerFontWeight100:
433 return txt::FontWeight::w100;
434 case kImpellerFontWeight200:
435 return txt::FontWeight::w200;
436 case kImpellerFontWeight300:
437 return txt::FontWeight::w300;
438 case kImpellerFontWeight400:
439 return txt::FontWeight::w400;
440 case kImpellerFontWeight500:
441 return txt::FontWeight::w500;
442 case kImpellerFontWeight600:
443 return txt::FontWeight::w600;
444 case kImpellerFontWeight700:
445 return txt::FontWeight::w700;
446 case kImpellerFontWeight800:
447 return txt::FontWeight::w800;
448 case kImpellerFontWeight900:
449 return txt::FontWeight::w900;
450 }
451 return txt::FontWeight::w400;
452 }

References kImpellerFontWeight100, kImpellerFontWeight200, kImpellerFontWeight300, kImpellerFontWeight400, kImpellerFontWeight500, kImpellerFontWeight600, kImpellerFontWeight700, kImpellerFontWeight800, and kImpellerFontWeight900.

Referenced by ImpellerParagraphStyleSetFontStyle(), ImpellerParagraphStyleSetFontWeight(), ImpellerParagraphStyleSetTextAlignment(), and ImpellerParagraphStyleSetTextDirection().

## ◆ ToTxtType() [3/4]

constexpr txt::TextAlign impeller::interop::ToTxtType | ( | ImpellerTextAlignment | align | ) |
| constexpr

Definition at line 464 of file formats.h.

464 {
465 switch (align) {
466 case kImpellerTextAlignmentLeft:
467 return txt::TextAlign::left;
468 case kImpellerTextAlignmentRight:
469 return txt::TextAlign::right;
470 case kImpellerTextAlignmentCenter:
471 return txt::TextAlign::center;
472 case kImpellerTextAlignmentJustify:
473 return txt::TextAlign::justify;
474 case kImpellerTextAlignmentStart:
475 return txt::TextAlign::start;
476 case kImpellerTextAlignmentEnd:
477 return txt::TextAlign::end;
478 }
479 return txt::TextAlign::left;
480 }

References kImpellerTextAlignmentCenter, kImpellerTextAlignmentEnd, kImpellerTextAlignmentJustify, kImpellerTextAlignmentLeft, kImpellerTextAlignmentRight, and kImpellerTextAlignmentStart.

## ◆ ToTxtType() [4/4]

constexpr txt::TextDirection impeller::interop::ToTxtType | ( | ImpellerTextDirection | direction | ) |
| constexpr

Definition at line 482 of file formats.h.

482 {
483 switch (direction) {
484 case kImpellerTextDirectionRTL:
485 return txt::TextDirection::rtl;
486 case kImpellerTextDirectionLTR:
487 return txt::TextDirection::ltr;
488 }
489 return txt::TextDirection::ltr;
490 }

References kImpellerTextDirectionLTR, and kImpellerTextDirectionRTL.

kImpellerBlendModeColorBurn
@ kImpellerBlendModeColorBurn
Definition: impeller.h:347
ImpellerISize::height
int64_t height
Definition: impeller.h:459
impeller::interop::ToDisplayListType
constexpr flutter::DlColor ToDisplayListType(ImpellerColor color)
Definition: formats.h:421
impeller::interop::ToDisplayListType
constexpr flutter::DlColor ToDisplayListType(Color color)
Definition: formats.h:77
kImpellerStrokeCapSquare
@ kImpellerStrokeCapSquare
Definition: impeller.h:368
kImpellerBlendModeExclusion
@ kImpellerBlendModeExclusion
Definition: impeller.h:351
kImpellerTextAlignmentLeft
@ kImpellerTextAlignmentLeft
Definition: impeller.h:424
kImpellerBlendModeColor
@ kImpellerBlendModeColor
Definition: impeller.h:355
ImpellerMapping::length
uint64_t length
Definition: impeller.h:561
kImpellerTextAlignmentRight
@ kImpellerTextAlignmentRight
Definition: impeller.h:425
ImpellerMatrix::m
float m[16]
Definition: impeller.h:473
ImpellerRoundingRadii::top_right
ImpellerPoint top_right
Definition: impeller.h:541
kImpellerStrokeJoinRound
@ kImpellerStrokeJoinRound
Definition: impeller.h:373
impeller::interop::ToImpellerSize
constexpr Size ToImpellerSize(const ImpellerPoint &point)
Definition: formats.h:236
ImpellerPoint::y
float y
Definition: impeller.h:449
kImpellerBlendModeDestinationOver
@ kImpellerBlendModeDestinationOver
Definition: impeller.h:332
kImpellerTextAlignmentEnd
@ kImpellerTextAlignmentEnd
Definition: impeller.h:429
ImpellerTextureDescriptor::mip_count
uint32_t mip_count
Definition: impeller.h:556
ImpellerColor::green
float green
Definition: impeller.h:547
impeller::interop::FromImpellerType
constexpr void FromImpellerType(const Matrix &from, ImpellerMatrix &to)
Definition: formats.h:209
kImpellerBlendModeDestinationOut
@ kImpellerBlendModeDestinationOut
Definition: impeller.h:336
kImpellerBlendModeHardLight
@ kImpellerBlendModeHardLight
Definition: impeller.h:348
ImpellerMapping::on_release
ImpellerCallback IMPELLER_NULLABLE on_release
Definition: impeller.h:562
data
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:64
impeller::interop::ParseColorsAndStops
static std::pair< std::vector< flutter::DlColor >, std::vector< Scalar > > ParseColorsAndStops(uint32_t stop_count, const ImpellerColor *colors, const float *stops)
Definition: impeller.cc:674
kImpellerFontStyleNormal
@ kImpellerFontStyleNormal
Definition: impeller.h:419
kImpellerBlendModeDifference
@ kImpellerBlendModeDifference
Definition: impeller.h:350
kImpellerTextAlignmentStart
@ kImpellerTextAlignmentStart
Definition: impeller.h:428
kImpellerColorSpaceDisplayP3
@ kImpellerColorSpaceDisplayP3
Definition: impeller.h:403
ImpellerColor::alpha
float alpha
Definition: impeller.h:549
kImpellerFontWeight900
@ kImpellerFontWeight900
Definition: impeller.h:415
kImpellerBlurStyleOuter
@ kImpellerBlurStyleOuter
Definition: impeller.h:396
kImpellerFontWeight600
@ kImpellerFontWeight600
Definition: impeller.h:412
impeller::Size
TSize< Scalar > Size
Definition: size.h:171
kImpellerTileModeDecal
@ kImpellerTileModeDecal
Definition: impeller.h:390
ImpellerSize::height
float height
Definition: impeller.h:454
kImpellerFontWeight300
@ kImpellerFontWeight300
Definition: impeller.h:409
kImpellerBlurStyleInner
@ kImpellerBlurStyleInner
Definition: impeller.h:397
ImpellerColorMatrix::m
float m[20]
Definition: impeller.h:535
kImpellerBlurStyleSolid
@ kImpellerBlurStyleSolid
Definition: impeller.h:395
ImpellerColor::color_space
ImpellerColorSpace color_space
Definition: impeller.h:550
kImpellerBlendModeSoftLight
@ kImpellerBlendModeSoftLight
Definition: impeller.h:349
kImpellerBlendModeHue
@ kImpellerBlendModeHue
Definition: impeller.h:353
kImpellerBlendModeSourceOver
@ kImpellerBlendModeSourceOver
Definition: impeller.h:331
impeller::Point
TPoint< Scalar > Point
Definition: point.h:327
kImpellerFillTypeOdd
@ kImpellerFillTypeOdd
Definition: impeller.h:319
kImpellerClipOperationDifference
@ kImpellerClipOperationDifference
Definition: impeller.h:323
impeller::interop::ToTxtType
constexpr txt::FontWeight ToTxtType(ImpellerFontWeight weight)
Definition: formats.h:430
kImpellerTextDirectionRTL
@ kImpellerTextDirectionRTL
Definition: impeller.h:433
impeller::Context::BackendType::kOpenGLES
@ kOpenGLES
impeller::interop::ToSkiaType
SkRRect ToSkiaType(const Rect &rect, const RoundingRadii &radii)
Definition: formats.h:189
transform
Matrix transform
Definition: gaussian_blur_filter_contents.cc:214
kImpellerBlendModePlus
@ kImpellerBlendModePlus
Definition: impeller.h:340
kImpellerPixelFormatRGBA8888
@ kImpellerPixelFormatRGBA8888
Definition: impeller.h:378
kImpellerClipOperationIntersect
@ kImpellerClipOperationIntersect
Definition: impeller.h:324
impeller::interop::Ref
ScopedObject< Object > Ref(Object *object)
Definition: object.h:145
kImpellerBlendModeOverlay
@ kImpellerBlendModeOverlay
Definition: impeller.h:343
kImpellerBlendModeSourceATop
@ kImpellerBlendModeSourceATop
Definition: impeller.h:337
IMPELLER_VERSION_GET_VARIANT
#define IMPELLER_VERSION_GET_VARIANT(version)
Definition: impeller.h:110
type
GLenum type
Definition: blit_command_gles.cc:151
kImpellerBlendModeSourceOut
@ kImpellerBlendModeSourceOut
Definition: impeller.h:335
kImpellerDrawStyleStroke
@ kImpellerDrawStyleStroke
Definition: impeller.h:361
kImpellerFontWeight100
@ kImpellerFontWeight100
Definition: impeller.h:407
kImpellerFontWeight700
@ kImpellerFontWeight700
Definition: impeller.h:413
impeller::interop::ToSkiaVector
constexpr SkVector ToSkiaVector(const Size &point)
Definition: formats.h:37
kImpellerBlendModeSource
@ kImpellerBlendModeSource
Definition: impeller.h:329
kImpellerBlendModeDestinationATop
@ kImpellerBlendModeDestinationATop
Definition: impeller.h:338
kImpellerBlendModeMultiply
@ kImpellerBlendModeMultiply
Definition: impeller.h:352
kImpellerTextAlignmentJustify
@ kImpellerTextAlignmentJustify
Definition: impeller.h:427
ImpellerRect::width
float width
Definition: impeller.h:443
ImpellerPoint::x
float x
Definition: impeller.h:448
kImpellerFontWeight500
@ kImpellerFontWeight500
Definition: impeller.h:411
kImpellerBlendModeDarken
@ kImpellerBlendModeDarken
Definition: impeller.h:344
kImpellerStrokeJoinBevel
@ kImpellerStrokeJoinBevel
Definition: impeller.h:374
ImpellerSize::width
float width
Definition: impeller.h:453
ImpellerRoundingRadii::bottom_left
ImpellerPoint bottom_left
Definition: impeller.h:540
impeller::interop::AdoptTag::kAdopted
@ kAdopted
impeller::interop::ToImpellerType
constexpr Matrix ToImpellerType(const ImpellerMatrix &m)
Definition: formats.h:201
kImpellerTileModeMirror
@ kImpellerTileModeMirror
Definition: impeller.h:389
kImpellerBlendModeDestination
@ kImpellerBlendModeDestination
Definition: impeller.h:330
IMPELLER_VERSION_GET_PATCH
#define IMPELLER_VERSION_GET_PATCH(version)
Definition: impeller.h:133
ImpellerRoundingRadii::top_left
ImpellerPoint top_left
Definition: impeller.h:539
kImpellerBlendModeDestinationIn
@ kImpellerBlendModeDestinationIn
Definition: impeller.h:334
IMPELLER_VERSION
#define IMPELLER_VERSION
Definition: impeller.h:101
kImpellerFontWeight800
@ kImpellerFontWeight800
Definition: impeller.h:414
ImpellerRect::y
float y
Definition: impeller.h:442
IMPELLER_VERSION_GET_MINOR
#define IMPELLER_VERSION_GET_MINOR(version)
Definition: impeller.h:125
ImpellerTextureDescriptor::pixel_format
ImpellerPixelFormat pixel_format
Definition: impeller.h:554
VALIDATION_LOG
#define VALIDATION_LOG
Definition: validation.h:91
kImpellerBlendModeScreen
@ kImpellerBlendModeScreen
Definition: impeller.h:342
kImpellerStrokeCapRound
@ kImpellerStrokeCapRound
Definition: impeller.h:367
kImpellerBlendModeLighten
@ kImpellerBlendModeLighten
Definition: impeller.h:345
kImpellerTileModeClamp
@ kImpellerTileModeClamp
Definition: impeller.h:387
kImpellerBlendModeModulate
@ kImpellerBlendModeModulate
Definition: impeller.h:341
ImpellerRect::height
float height
Definition: impeller.h:444
kImpellerBlendModeClear
@ kImpellerBlendModeClear
Definition: impeller.h:328
kImpellerFontWeight200
@ kImpellerFontWeight200
Definition: impeller.h:408
kImpellerFontStyleItalic
@ kImpellerFontStyleItalic
Definition: impeller.h:420
kImpellerStrokeJoinMiter
@ kImpellerStrokeJoinMiter
Definition: impeller.h:372
kImpellerTextureSamplingLinear
@ kImpellerTextureSamplingLinear
Definition: impeller.h:383
kImpellerFillTypeNonZero
@ kImpellerFillTypeNonZero
Definition: impeller.h:318
impeller::interop::ReadString
static std::string ReadString(const char *string)
Definition: impeller.cc:953
kImpellerTileModeRepeat
@ kImpellerTileModeRepeat
Definition: impeller.h:388
kImpellerColorSpaceExtendedSRGB
@ kImpellerColorSpaceExtendedSRGB
Definition: impeller.h:402
kImpellerBlendModeXor
@ kImpellerBlendModeXor
Definition: impeller.h:339
kImpellerFontWeight400
@ kImpellerFontWeight400
Definition: impeller.h:410
ImpellerRect::x
float x
Definition: impeller.h:441
ImpellerMapping::data
const uint8_t *IMPELLER_NONNULL data
Definition: impeller.h:560
ImpellerISize::width
int64_t width
Definition: impeller.h:458
kImpellerBlendModeColorDodge
@ kImpellerBlendModeColorDodge
Definition: impeller.h:346
kImpellerBlendModeSourceIn
@ kImpellerBlendModeSourceIn
Definition: impeller.h:333
ImpellerColor::blue
float blue
Definition: impeller.h:548
impeller::interop::Adopt
ScopedObject< Object > Adopt(typename Object::InteropCSibling *object)
Definition: object.h:155
kImpellerStrokeCapButt
@ kImpellerStrokeCapButt
Definition: impeller.h:366
impeller::interop::GetVersionAsString
static std::string GetVersionAsString(uint32_t version)
Definition: impeller.cc:58
kImpellerBlendModeLuminosity
@ kImpellerBlendModeLuminosity
Definition: impeller.h:356
ImpellerColor::red
float red
Definition: impeller.h:546
kImpellerTextAlignmentCenter
@ kImpellerTextAlignmentCenter
Definition: impeller.h:426
kImpellerDrawStyleFill
@ kImpellerDrawStyleFill
Definition: impeller.h:360
kImpellerBlurStyleNormal
@ kImpellerBlurStyleNormal
Definition: impeller.h:394
kImpellerColorSpaceSRGB
@ kImpellerColorSpaceSRGB
Definition: impeller.h:401
IMPELLER_VERSION_GET_MAJOR
#define IMPELLER_VERSION_GET_MAJOR(version)
Definition: impeller.h:117
ImpellerTextureDescriptor::size
ImpellerISize size
Definition: impeller.h:555
kImpellerBlendModeSaturation
@ kImpellerBlendModeSaturation
Definition: impeller.h:354
kImpellerTextDirectionLTR
@ kImpellerTextDirectionLTR
Definition: impeller.h:434
ImpellerRoundingRadii::bottom_right
ImpellerPoint bottom_right
Definition: impeller.h:542
kImpellerTextureSamplingNearestNeighbor
@ kImpellerTextureSamplingNearestNeighbor
Definition: impeller.h:382
kImpellerDrawStyleStrokeAndFill
@ kImpellerDrawStyleStrokeAndFill
Definition: impeller.h:362
ImpellerGetVersion
IMPELLER_EXPORT uint32_t ImpellerGetVersion()
Get the version of Impeller standalone API. This is the API that will be accepted for validity checks...
Definition: impeller.cc:68