| 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 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 impeller::PathBuilder::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 Rect | ToImpellerType (const ImpellerRect &rect)
constexpr flutter::DlTileMode | ToDisplayListType (ImpellerTileMode mode)
constexpr impeller::PathBuilder::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 ()
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 | 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 ()
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 ()
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 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)
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)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateDilateNew (float x_radius, float y_radius)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateErodeNew (float x_radius, float y_radius)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateMatrixNew (const ImpellerMatrix *matrix, ImpellerTextureSampling sampling)
IMPELLER_EXTERN_C ImpellerImageFilter | ImpellerImageFilterCreateComposeNew (ImpellerImageFilter outer, ImpellerImageFilter inner)
void | ImpellerPaintSetColorFilter (ImpellerPaint paint, ImpellerColorFilter color_filter)
void | ImpellerPaintSetColorSource (ImpellerPaint paint, ImpellerColorSource color_source)
void | ImpellerPaintSetImageFilter (ImpellerPaint paint, ImpellerImageFilter image_filter)
void | ImpellerPaintSetMaskFilter (ImpellerPaint paint, ImpellerMaskFilter mask_filter)
IMPELLER_EXTERN_C ImpellerParagraphStyle | ImpellerParagraphStyleNew ()
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 ()
IMPELLER_EXTERN_C void | ImpellerTypographyContextRetain (ImpellerTypographyContext context)
IMPELLER_EXTERN_C void | ImpellerTypographyContextRelease (ImpellerTypographyContext context)
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)

## 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().

## ◆ 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 206 of file formats.h.

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

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 792 of file impeller.cc.

794 {
795 return ColorFilter::MakeBlend(ToImpellerType(*color),
796 ToImpellerType(blend_mode))
797 .Leak();
798 }

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

## ◆ ImpellerColorFilterCreateColorMatrixNew()

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

Definition at line 801 of file impeller.cc.

802 {
803 return ColorFilter::MakeMatrix(color_matrix->m).Leak();
804 }

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

## ◆ ImpellerColorFilterRelease()

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

Definition at line 787 of file impeller.cc.

787 {
788 ObjectBase::SafeRelease(color_filter);
789 }

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

## ◆ ImpellerColorFilterRetain()

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

Definition at line 782 of file impeller.cc.

782 {
783 ObjectBase::SafeRetain(color_filter);
784 }

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 732 of file impeller.cc.

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

References impeller::interop::ColorSource::MakeConicalGradient(), ParseColorsAndStops(), 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 688 of file impeller.cc.

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

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 710 of file impeller.cc.

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

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 758 of file impeller.cc.

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

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

## ◆ ImpellerColorSourceRelease()

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

Definition at line 666 of file impeller.cc.

666 {
667 ObjectBase::SafeRelease(color_source);
668 }

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

## ◆ ImpellerColorSourceRetain()

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

Definition at line 661 of file impeller.cc.

661 {
662 ObjectBase::SafeRetain(color_source);
663 }

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 307 of file impeller.cc.

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

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderClipPath()

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

Definition at line 326 of file impeller.cc.

328 {
329 GetPeer(builder)->ClipPath(*GetPeer(path), ToImpellerType(op));
330 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderClipRect()

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

Definition at line 300 of file impeller.cc.

302 {
303 GetPeer(builder)->ClipRect(ToImpellerType(*rect), ToImpellerType(op));
304 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderClipRoundedRect()

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

Definition at line 314 of file impeller.cc.

318 {
319 GetPeer(builder)->ClipRoundedRect(ToImpellerType(*rect), //
320 ToImpellerType(*radii), //
321 ToImpellerType(op) //
322 );
323 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderCreateDisplayListNew()

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

Definition at line 586 of file impeller.cc.

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

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 400 of file impeller.cc.

406 {
407 GetPeer(builder)->DrawDashedLine(ToImpellerType(*from), //
408 ToImpellerType(*to), //
409 on_length, //
410 off_length, //
411 *GetPeer(paint) //
412 );
413 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawDisplayList()

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

Definition at line 596 of file impeller.cc.

599 {
600 GetPeer(builder)->DrawDisplayList(*GetPeer(display_list), opacity);
601 }

## ◆ ImpellerDisplayListBuilderDrawLine()

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

Definition at line 389 of file impeller.cc.

392 {
393 GetPeer(builder)->DrawLine(ToImpellerType(*from), //
394 ToImpellerType(*to), //
395 *GetPeer(paint) //
396 );
397 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawOval()

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

Definition at line 423 of file impeller.cc.

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

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawPaint()

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

Definition at line 383 of file impeller.cc.

384 {
385 GetPeer(builder)->DrawPaint(*GetPeer(paint));
386 }

## ◆ ImpellerDisplayListBuilderDrawParagraph()

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

Definition at line 979 of file impeller.cc.

981 {
982 GetPeer(builder)->DrawParagraph(*GetPeer(paragraph), ToImpellerType(*point));
983 }

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 458 of file impeller.cc.

460 {
461 GetPeer(builder)->DrawPath(*GetPeer(path), *GetPeer(paint));
462 }

## ◆ ImpellerDisplayListBuilderDrawRect()

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

Definition at line 416 of file impeller.cc.

418 {
419 GetPeer(builder)->DrawRect(ToImpellerType(*rect), *GetPeer(paint));
420 }

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 430 of file impeller.cc.

434 {
435 GetPeer(builder)->DrawRoundedRect(ToImpellerType(*rect), //
436 ToImpellerType(*radii), //
437 *GetPeer(paint) //
438 );
439 }

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 442 of file impeller.cc.

448 {
449 GetPeer(builder)->DrawRoundedRectDifference(ToImpellerType(*outer_rect), //
450 ToImpellerType(*outer_radii), //
451 ToImpellerType(*inner_rect), //
452 ToImpellerType(*inner_radii), //
453 *GetPeer(paint) //
454 );
455 }

References ToImpellerType().

## ◆ ImpellerDisplayListBuilderDrawTexture()

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

Definition at line 632 of file impeller.cc.

636 {
637 GetPeer(builder)->DrawTexture(*GetPeer(texture), //
638 ToImpellerType(*point), //
639 ToDisplayListType(sampling), //
640 GetPeer(paint) //
641 );
642 }

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 645 of file impeller.cc.

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

References ToDisplayListType(), and ToImpellerType().

## ◆ ImpellerDisplayListBuilderGetSaveCount()

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

Definition at line 183 of file impeller.cc.

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

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

## ◆ ImpellerDisplayListBuilderGetTransform()

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

Definition at line 171 of file impeller.cc.

172 {
173 FromImpellerType(GetPeer(builder)->GetTransform(), *out_transform);
174 }

References FromImpellerType().

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

## ◆ 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().

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

## ◆ ImpellerDisplayListBuilderResetTransform()

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

Definition at line 177 of file impeller.cc.

178 {
179 GetPeer(builder)->ResetTransform();
180 }

## ◆ ImpellerDisplayListBuilderRestore()

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

Definition at line 140 of file impeller.cc.

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

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

## ◆ ImpellerDisplayListBuilderRestoreToCount()

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

Definition at line 189 of file impeller.cc.

191 {
192 GetPeer(builder)->RestoreToCount(count);
193 }

## ◆ 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 }

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

## ◆ 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.

## ◆ 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 581 of file impeller.cc.

581 {
582 ObjectBase::SafeRelease(display_list);
583 }

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

## ◆ ImpellerDisplayListRetain()

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

Definition at line 576 of file impeller.cc.

576 {
577 ObjectBase::SafeRetain(display_list);
578 }

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

## ◆ ImpellerGetVersion()

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

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
| ) |  |

Definition at line 833 of file impeller.cc.

836 {
837 return ImageFilter::MakeBlur(x_sigma, y_sigma, ToDisplayListType(tile_mode))
838 .Leak();
839 }

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

## ◆ ImpellerImageFilterCreateComposeNew()

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

Definition at line 863 of file impeller.cc.

865 {
866 return ImageFilter::MakeCompose(*GetPeer(outer), *GetPeer(inner)).Leak();
867 }

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

## ◆ ImpellerImageFilterCreateDilateNew()

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

Definition at line 842 of file impeller.cc.

843 {
844 return ImageFilter::MakeDilate(x_radius, y_radius).Leak();
845 }

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

## ◆ ImpellerImageFilterCreateErodeNew()

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

Definition at line 848 of file impeller.cc.

849 {
850 return ImageFilter::MakeErode(x_radius, y_radius).Leak();
851 }

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

## ◆ ImpellerImageFilterCreateMatrixNew()

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

Definition at line 854 of file impeller.cc.

856 {
857 return ImageFilter::MakeMatrix(ToImpellerType(*matrix),
858 ToDisplayListType(sampling))
859 .Leak();
860 }

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

## ◆ ImpellerImageFilterRelease()

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

Definition at line 828 of file impeller.cc.

828 {
829 ObjectBase::SafeRelease(image_filter);
830 }

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

## ◆ ImpellerImageFilterRetain()

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

Definition at line 823 of file impeller.cc.

823 {
824 ObjectBase::SafeRetain(image_filter);
825 }

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

## ◆ ImpellerMaskFilterCreateBlurNew()

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

Definition at line 817 of file impeller.cc.

818 {
819 return MaskFilter::MakeBlur(ToDisplayListType(style), sigma).Leak();
820 }

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

## ◆ ImpellerMaskFilterRelease()

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

Definition at line 812 of file impeller.cc.

812 {
813 ObjectBase::SafeRelease(mask_filter);
814 }

References mask_filter, and impeller::interop::ObjectBase::SafeRelease().

## ◆ ImpellerMaskFilterRetain()

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

Definition at line 807 of file impeller.cc.

807 {
808 ObjectBase::SafeRetain(mask_filter);
809 }

References mask_filter, and impeller::interop::ObjectBase::SafeRetain().

## ◆ ImpellerPaintNew()

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

Definition at line 333 of file impeller.cc.

333 {
334 return Create<Paint>().Leak();
335 }

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

## ◆ ImpellerPaintRelease()

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

Definition at line 343 of file impeller.cc.

343 {
344 ObjectBase::SafeRelease(paint);
345 }

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

## ◆ ImpellerPaintRetain()

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

Definition at line 338 of file impeller.cc.

338 {
339 ObjectBase::SafeRetain(paint);
340 }

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

## ◆ ImpellerPaintSetBlendMode()

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

Definition at line 353 of file impeller.cc.

353 {
354 GetPeer(paint)->SetBlendMode(ToImpellerType(mode));
355 }

References ToImpellerType().

## ◆ ImpellerPaintSetColor()

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

Definition at line 348 of file impeller.cc.

348 {
349 GetPeer(paint)->SetColor(ToDisplayListType(*color));
350 }

References color, and ToDisplayListType().

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

## ◆ ImpellerPaintSetColorFilter()

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

Definition at line 869 of file impeller.cc.

870 {
871 GetPeer(paint)->SetColorFilter(*GetPeer(color_filter));
872 }

## ◆ ImpellerPaintSetColorSource()

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

Definition at line 874 of file impeller.cc.

875 {
876 GetPeer(paint)->SetColorSource(*GetPeer(color_source));
877 }

## ◆ ImpellerPaintSetDrawStyle()

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

Definition at line 358 of file impeller.cc.

358 {
359 GetPeer(paint)->SetDrawStyle(ToDisplayListType(style));
360 }

References ToDisplayListType().

## ◆ ImpellerPaintSetImageFilter()

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

Definition at line 879 of file impeller.cc.

880 {
881 GetPeer(paint)->SetImageFilter(*GetPeer(image_filter));
882 }

## ◆ ImpellerPaintSetMaskFilter()

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

Definition at line 884 of file impeller.cc.

885 {
886 GetPeer(paint)->SetMaskFilter(*GetPeer(mask_filter));
887 }

References mask_filter.

## ◆ ImpellerPaintSetStrokeCap()

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

Definition at line 363 of file impeller.cc.

363 {
364 GetPeer(paint)->SetStrokeCap(ToDisplayListType(cap));
365 }

References ToDisplayListType().

## ◆ ImpellerPaintSetStrokeJoin()

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

Definition at line 368 of file impeller.cc.

368 {
369 GetPeer(paint)->SetStrokeJoin(ToDisplayListType(join));
370 }

References ToDisplayListType().

## ◆ ImpellerPaintSetStrokeMiter()

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

Definition at line 378 of file impeller.cc.

378 {
379 GetPeer(paint)->SetStrokeMiter(miter);
380 }

## ◆ ImpellerPaintSetStrokeWidth()

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

Definition at line 373 of file impeller.cc.

373 {
374 GetPeer(paint)->SetStrokeWidth(width);
375 }

## ◆ ImpellerParagraphBuilderAddText()

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

Definition at line 1021 of file impeller.cc.

1023 {
1024 if (data == nullptr) {
1025 length = 0;
1026 }
1027 if (length == 0) {
1028 return;
1029 }
1030 GetPeer(paragraph_builder)->AddText(data, length);
1031 }

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 1033 of file impeller.cc.

1035 {
1036 return GetPeer(paragraph_builder)->Build(width).Leak();
1037 }

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

## ◆ ImpellerParagraphBuilderNew()

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

Definition at line 985 of file impeller.cc.

986 {
987 auto builder = Create<ParagraphBuilder>(*GetPeer(context));
988 if (!builder->IsValid()) {
989 VALIDATION_LOG << "Could not create valid paragraph builder.";
990 return nullptr;
991 }
992 return builder.Leak();
993 }

References VALIDATION_LOG.

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

## ◆ ImpellerParagraphBuilderPopStyle()

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

Definition at line 1015 of file impeller.cc.

1016 {
1017 GetPeer(paragraph_builder)->PopStyle();
1018 }

## ◆ ImpellerParagraphBuilderPushStyle()

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

Definition at line 1008 of file impeller.cc.

1010 {
1011 GetPeer(paragraph_builder)->PushStyle(*GetPeer(style));
1012 }

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

## ◆ ImpellerParagraphBuilderRelease()

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

Definition at line 1002 of file impeller.cc.

1003 {
1004 ObjectBase::SafeRelease(paragraph_builder);
1005 }

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

## ◆ ImpellerParagraphBuilderRetain()

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

Definition at line 996 of file impeller.cc.

997 {
998 ObjectBase::SafeRetain(paragraph_builder);
999 }

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

## ◆ ImpellerParagraphGetAlphabeticBaseline()

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

Definition at line 1080 of file impeller.cc.

1080 {
1081 return GetPeer(paragraph)->GetAlphabeticBaseline();
1082 }

## ◆ ImpellerParagraphGetHeight()

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

Definition at line 1055 of file impeller.cc.

1055 {
1056 return GetPeer(paragraph)->GetHeight();
1057 }

## ◆ ImpellerParagraphGetIdeographicBaseline()

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

Definition at line 1075 of file impeller.cc.

1075 {
1076 return GetPeer(paragraph)->GetIdeographicBaseline();
1077 }

## ◆ ImpellerParagraphGetLineCount()

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

Definition at line 1085 of file impeller.cc.

1085 {
1086 return GetPeer(paragraph)->GetLineCount();
1087 }

## ◆ ImpellerParagraphGetLongestLineWidth()

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

Definition at line 1060 of file impeller.cc.

1060 {
1061 return GetPeer(paragraph)->GetLongestLineWidth();
1062 }

## ◆ ImpellerParagraphGetMaxIntrinsicWidth()

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

Definition at line 1070 of file impeller.cc.

1070 {
1071 return GetPeer(paragraph)->GetMaxIntrinsicWidth();
1072 }

## ◆ ImpellerParagraphGetMaxWidth()

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

Definition at line 1050 of file impeller.cc.

1050 {
1051 return GetPeer(paragraph)->GetMaxWidth();
1052 }

## ◆ ImpellerParagraphGetMinIntrinsicWidth()

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

Definition at line 1065 of file impeller.cc.

1065 {
1066 return GetPeer(paragraph)->GetMinIntrinsicWidth();
1067 }

## ◆ ImpellerParagraphRelease()

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

Definition at line 1045 of file impeller.cc.

1045 {
1046 ObjectBase::SafeRelease(paragraph);
1047 }

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

## ◆ ImpellerParagraphRetain()

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

Definition at line 1040 of file impeller.cc.

1040 {
1041 ObjectBase::SafeRetain(paragraph);
1042 }

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

## ◆ ImpellerParagraphStyleNew()

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

Definition at line 889 of file impeller.cc.

889 {
890 return Create<ParagraphStyle>().Leak();
891 }

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

## ◆ ImpellerParagraphStyleRelease()

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

Definition at line 899 of file impeller.cc.

899 {
900 ObjectBase::SafeRelease(paragraph_style);
901 }

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

## ◆ ImpellerParagraphStyleRetain()

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

Definition at line 894 of file impeller.cc.

894 {
895 ObjectBase::SafeRetain(paragraph_style);
896 }

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

## ◆ ImpellerParagraphStyleSetBackground()

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

Definition at line 909 of file impeller.cc.

911 {
912 GetPeer(paragraph_style)->SetBackground(Ref(GetPeer(paint)));
913 }

References Ref().

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

## ◆ ImpellerParagraphStyleSetFontFamily()

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

Definition at line 935 of file impeller.cc.

936 {
937 GetPeer(paragraph_style)->SetFontFamily(ReadString(family_name));
938 }

References ReadString().

## ◆ ImpellerParagraphStyleSetFontSize()

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

Definition at line 941 of file impeller.cc.

942 {
943 GetPeer(paragraph_style)->SetFontSize(size);
944 }

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

## ◆ ImpellerParagraphStyleSetFontStyle()

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

Definition at line 922 of file impeller.cc.

923 {
924 GetPeer(paragraph_style)->SetFontStyle(ToTxtType(style));
925 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetFontWeight()

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

Definition at line 916 of file impeller.cc.

917 {
918 GetPeer(paragraph_style)->SetFontWeight(ToTxtType(weight));
919 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetForeground()

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

Definition at line 904 of file impeller.cc.

905 {
906 GetPeer(paragraph_style)->SetForeground(Ref(GetPeer(paint)));
907 }

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 947 of file impeller.cc.

948 {
949 GetPeer(paragraph_style)->SetHeight(height);
950 }

## ◆ ImpellerParagraphStyleSetLocale()

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

Definition at line 973 of file impeller.cc.

974 {
975 GetPeer(paragraph_style)->SetLocale(ReadString(locale));
976 }

References ReadString().

## ◆ ImpellerParagraphStyleSetMaxLines()

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

Definition at line 967 of file impeller.cc.

968 {
969 GetPeer(paragraph_style)->SetMaxLines(max_lines);
970 }

## ◆ ImpellerParagraphStyleSetTextAlignment()

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

Definition at line 953 of file impeller.cc.

955 {
956 GetPeer(paragraph_style)->SetTextAlignment(ToTxtType(align));
957 }

References ToTxtType().

## ◆ ImpellerParagraphStyleSetTextDirection()

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

Definition at line 960 of file impeller.cc.

962 {
963 GetPeer(paragraph_style)->SetTextDirection(ToTxtType(direction));
964 }

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 257 of file impeller.cc.

260 {
261 GetPeer(builder)->AddArc(ToImpellerType(*oval_bounds), //
262 Degrees{start_angle_degrees}, //
263 Degrees{end_angle_degrees} //
264 );
265 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddOval()

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

Definition at line 268 of file impeller.cc.

269 {
270 GetPeer(builder)->AddOval(ToImpellerType(*oval_bounds));
271 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddRect()

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

Definition at line 251 of file impeller.cc.

252 {
253 GetPeer(builder)->AddRect(ToImpellerType(*rect));
254 }

References ToImpellerType().

## ◆ ImpellerPathBuilderAddRoundedRect()

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

Definition at line 274 of file impeller.cc.

277 {
278 GetPeer(builder)->AddRoundedRect(ToImpellerType(*rect),
279 ToImpellerType(*rounding_radii));
280 }

References ToImpellerType().

## ◆ ImpellerPathBuilderClose()

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

Definition at line 283 of file impeller.cc.

283 {
284 GetPeer(builder)->Close();
285 }

## ◆ ImpellerPathBuilderCopyPathNew()

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

Definition at line 288 of file impeller.cc.

289 {
290 return GetPeer(builder)->CopyPath(ToImpellerType(fill)).Leak();
291 }

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 241 of file impeller.cc.

244 {
245 GetPeer(builder)->CubicCurveTo(ToImpellerType(*control_point_1), //
246 ToImpellerType(*control_point_2), //
247 ToImpellerType(*end_point) //
248 );
249 }

References ToImpellerType().

## ◆ ImpellerPathBuilderLineTo()

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

Definition at line 227 of file impeller.cc.

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

References ToImpellerType().

## ◆ ImpellerPathBuilderMoveTo()

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

Definition at line 221 of file impeller.cc.

222 {
223 GetPeer(builder)->MoveTo(ToImpellerType(*location));
224 }

References ToImpellerType().

## ◆ ImpellerPathBuilderNew()

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

Definition at line 206 of file impeller.cc.

206 {
207 return Create<PathBuilder>().Leak();
208 }

## ◆ ImpellerPathBuilderQuadraticCurveTo()

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

Definition at line 233 of file impeller.cc.

235 {
236 GetPeer(builder)->QuadraticCurveTo(ToImpellerType(*control_point),
237 ToImpellerType(*end_point));
238 }

References ToImpellerType().

## ◆ ImpellerPathBuilderRelease()

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

Definition at line 216 of file impeller.cc.

216 {
217 ObjectBase::SafeRelease(builder);
218 }

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

## ◆ ImpellerPathBuilderRetain()

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

Definition at line 211 of file impeller.cc.

211 {
212 ObjectBase::SafeRetain(builder);
213 }

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

## ◆ ImpellerPathBuilderTakePathNew()

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

Definition at line 293 of file impeller.cc.

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

References ToImpellerType().

## ◆ ImpellerPathRelease()

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

Definition at line 201 of file impeller.cc.

201 {
202 ObjectBase::SafeRelease(path);
203 }

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

## ◆ ImpellerPathRetain()

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

Definition at line 196 of file impeller.cc.

196 {
197 ObjectBase::SafeRetain(path);
198 }

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 604 of file impeller.cc.

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

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 626 of file impeller.cc.

627 {
628 return GetPeer(surface)->DrawDisplayList(*GetPeer(display_list));
629 }

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

## ◆ ImpellerSurfaceRelease()

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

Definition at line 621 of file impeller.cc.

621 {
622 ObjectBase::SafeRelease(surface);
623 }

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

## ◆ ImpellerSurfaceRetain()

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

Definition at line 616 of file impeller.cc.

616 {
617 ObjectBase::SafeRetain(surface);
618 }

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 465 of file impeller.cc.

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

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 509 of file impeller.cc.

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

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, and VALIDATION_LOG.

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

## ◆ ImpellerTextureGetOpenGLHandle()

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

Definition at line 563 of file impeller.cc.

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

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 558 of file impeller.cc.

558 {
559 ObjectBase::SafeRelease(texture);
560 }

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

## ◆ ImpellerTextureRetain()

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

Definition at line 553 of file impeller.cc.

553 {
554 ObjectBase::SafeRetain(texture);
555 }

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

## ◆ ImpellerTypographyContextNew()

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

Definition at line 1089 of file impeller.cc.

1089 {
1090 auto context = Create<TypographyContext>();
1091 if (!context->IsValid()) {
1092 VALIDATION_LOG << "Could not create typography context.";
1093 return nullptr;
1094 }
1095 return Create<TypographyContext>().Leak();
1096 }

References VALIDATION_LOG.

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

## ◆ ImpellerTypographyContextRelease()

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

Definition at line 1104 of file impeller.cc.

1104 {
1105 ObjectBase::SafeRelease(context);
1106 }

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

## ◆ ImpellerTypographyContextRetain()

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

Definition at line 1099 of file impeller.cc.

1099 {
1100 ObjectBase::SafeRetain(context);
1101 }

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 671 of file impeller.cc.

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

References ToDisplayListType().

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

## ◆ ReadString()

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

Definition at line 927 of file impeller.cc.

927 {
928 if (string == nullptr) {
929 return "";
930 }
931 return std::string{string};
932 }

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 120 of file formats.h.

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

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 73 of file formats.h.

73 {
74 return flutter::DlColor::RGBA(color.red, //
75 color.green, //
76 color.blue, //
77 color.alpha //
78 );
79 }

References color.

Referenced by ImpellerColorSourceCreateConicalGradientNew(), 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 86 of file formats.h.

86 {
87 std::vector<DlType> dl_vec;
88 dl_vec.reserve(other_vec.size());
89 for (const auto& other : other_vec) {
90 dl_vec.emplace_back(ToDisplayListType(other));
91 }
92 return dl_vec;
93 }

References ToDisplayListType().

## ◆ ToDisplayListType() [4/11]

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

Definition at line 106 of file formats.h.

106 {
107 switch (style) {
108 case kImpellerBlurStyleNormal:
109 return flutter::DlBlurStyle::kNormal;
110 case kImpellerBlurStyleSolid:
111 return flutter::DlBlurStyle::kSolid;
112 case kImpellerBlurStyleOuter:
113 return flutter::DlBlurStyle::kOuter;
114 case kImpellerBlurStyleInner:
115 return flutter::DlBlurStyle::kInner;
116 }
117 return flutter::DlBlurStyle::kNormal;
118 }

References kImpellerBlurStyleInner, kImpellerBlurStyleNormal, kImpellerBlurStyleOuter, and kImpellerBlurStyleSolid.

## ◆ ToDisplayListType() [5/11]

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

Definition at line 415 of file formats.h.

415 {
416 return flutter::DlColor(color.alpha, //
417 color.red, //
418 color.green, //
419 color.blue, //
420 ToDisplayListType(color.color_space) //
421 );
422 }

References color, and ToDisplayListType().

## ◆ ToDisplayListType() [6/11]

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

Definition at line 402 of file formats.h.

403 {
404 switch (color_space) {
405 case kImpellerColorSpaceSRGB:
406 return flutter::DlColorSpace::kSRGB;
407 case kImpellerColorSpaceExtendedSRGB:
408 return flutter::DlColorSpace::kExtendedSRGB;
409 case kImpellerColorSpaceDisplayP3:
410 return flutter::DlColorSpace::kDisplayP3;
411 }
412 return flutter::DlColorSpace::kSRGB;
413 }

References kImpellerColorSpaceDisplayP3, kImpellerColorSpaceExtendedSRGB, and kImpellerColorSpaceSRGB.

## ◆ ToDisplayListType() [7/11]

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

Definition at line 354 of file formats.h.

354 {
355 switch (style) {
356 case kImpellerDrawStyleFill:
357 return flutter::DlDrawStyle::kFill;
358 case kImpellerDrawStyleStroke:
359 return flutter::DlDrawStyle::kStroke;
360 case kImpellerDrawStyleStrokeAndFill:
361 return flutter::DlDrawStyle::kStrokeAndFill;
362 }
363 return flutter::DlDrawStyle::kFill;
364 }

References kImpellerDrawStyleFill, kImpellerDrawStyleStroke, and kImpellerDrawStyleStrokeAndFill.

## ◆ ToDisplayListType() [8/11]

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

Definition at line 366 of file formats.h.

366 {
367 switch (cap) {
368 case kImpellerStrokeCapButt:
369 return flutter::DlStrokeCap::kButt;
370 case kImpellerStrokeCapRound:
371 return flutter::DlStrokeCap::kRound;
372 case kImpellerStrokeCapSquare:
373 return flutter::DlStrokeCap::kSquare;
374 }
375 return flutter::DlStrokeCap::kButt;
376 }

References kImpellerStrokeCapButt, kImpellerStrokeCapRound, and kImpellerStrokeCapSquare.

## ◆ ToDisplayListType() [9/11]

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

Definition at line 378 of file formats.h.

378 {
379 switch (join) {
380 case kImpellerStrokeJoinMiter:
381 return flutter::DlStrokeJoin::kMiter;
382 case kImpellerStrokeJoinRound:
383 return flutter::DlStrokeJoin::kRound;
384 case kImpellerStrokeJoinBevel:
385 return flutter::DlStrokeJoin::kBevel;
386 }
387 return flutter::DlStrokeJoin::kMiter;
388 }

References kImpellerStrokeJoinBevel, kImpellerStrokeJoinMiter, and kImpellerStrokeJoinRound.

## ◆ ToDisplayListType() [10/11]

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

Definition at line 95 of file formats.h.

96 {
97 switch (sampling) {
98 case kImpellerTextureSamplingNearestNeighbor:
99 return flutter::DlImageSampling::kNearestNeighbor;
100 case kImpellerTextureSamplingLinear:
101 return flutter::DlImageSampling::kLinear;
102 }
103 return flutter::DlImageSampling::kLinear;
104 }

References kImpellerTextureSamplingLinear, and kImpellerTextureSamplingNearestNeighbor.

## ◆ ToDisplayListType() [11/11]

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

Definition at line 237 of file formats.h.

237 {
238 switch (mode) {
239 case kImpellerTileModeClamp:
240 return flutter::DlTileMode::kClamp;
241 case kImpellerTileModeRepeat:
242 return flutter::DlTileMode::kRepeat;
243 case kImpellerTileModeMirror:
244 return flutter::DlTileMode::kMirror;
245 case kImpellerTileModeDecal:
246 return flutter::DlTileMode::kDecal;
247 }
248 return flutter::DlTileMode::kClamp;
249 }

References kImpellerTileModeClamp, kImpellerTileModeDecal, kImpellerTileModeMirror, and kImpellerTileModeRepeat.

## ◆ ToImpellerType() [1/11]

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

Definition at line 281 of file formats.h.

281 {
282 Color result;
283 result.red = color.red;
284 result.green = color.green;
285 result.blue = color.blue;
286 result.alpha = color.alpha;
287 return result;
288 }

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

## ◆ ToImpellerType() [2/11]

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

Definition at line 398 of file formats.h.

398 {
399 return ISize::MakeWH(size.width, size.height);
400 }

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 198 of file formats.h.

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

References ImpellerMatrix::m.

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

## ◆ ToImpellerType() [4/11]

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

Definition at line 229 of file formats.h.

229 {
230 return Point{point.x, point.y};
231 }

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

## ◆ ToImpellerType() [5/11]

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

Definition at line 233 of file formats.h.

233 {
234 return Rect::MakeXYWH(rect.x, rect.y, rect.width, rect.height);
235 }

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

## ◆ ToImpellerType() [6/11]

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

Definition at line 251 of file formats.h.

252 {
253 auto result = impeller::PathBuilder::RoundingRadii{};
254 result.top_left = ToImpellerType(radii.top_left);
255 result.bottom_left = ToImpellerType(radii.bottom_left);
256 result.top_right = ToImpellerType(radii.top_right);
257 result.bottom_right = ToImpellerType(radii.bottom_right);
258 return result;
259 }

References ImpellerRoundingRadii::bottom_left, ImpellerRoundingRadii::bottom_right, ToImpellerType(), impeller::PathBuilder::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 225 of file formats.h.

225 {
226 return Size{size.width, size.height};
227 }

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

## ◆ ToImpellerType() [8/11]

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

Definition at line 290 of file formats.h.

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

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 271 of file formats.h.

271 {
272 switch (op) {
273 case kImpellerClipOperationDifference:
274 return flutter::DlCanvas::ClipOp::kDifference;
275 case kImpellerClipOperationIntersect:
276 return flutter::DlCanvas::ClipOp::kIntersect;
277 }
278 return flutter::DlCanvas::ClipOp::kDifference;
279 }

References kImpellerClipOperationDifference, and kImpellerClipOperationIntersect.

## ◆ ToImpellerType() [10/11]

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

Definition at line 261 of file formats.h.

261 {
262 switch (type) {
263 case kImpellerFillTypeNonZero:
264 return FillType::kNonZero;
265 case kImpellerFillTypeOdd:
266 return FillType::kOdd;
267 }
268 return FillType::kNonZero;
269 }

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

## ◆ ToImpellerType() [11/11]

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

Definition at line 390 of file formats.h.

390 {
391 switch (format) {
392 case kImpellerPixelFormatRGBA8888:
393 return PixelFormat::kR8G8B8A8UNormInt;
394 }
395 return PixelFormat::kR8G8B8A8UNormInt;
396 }

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::DisplayListBuilder::ClipOval(), impeller::interop::DisplayListBuilder::ClipRect(), impeller::interop::DisplayListBuilder::ClipRoundedRect(), impeller::interop::PathBuilder::CopyPath(), impeller::interop::PathBuilder::CubicCurveTo(), impeller::interop::DisplayListBuilder::DrawLine(), impeller::interop::DisplayListBuilder::DrawOval(), impeller::interop::DisplayListBuilder::DrawRect(), impeller::interop::DisplayListBuilder::DrawRoundedRect(), impeller::interop::DisplayListBuilder::DrawRoundedRectDifference(), impeller::interop::DisplayListBuilder::DrawTexture(), impeller::interop::DisplayListBuilder::DrawTextureRect(), impeller::interop::PathBuilder::LineTo(), impeller::interop::ColorSource::MakeConicalGradient(), impeller::interop::ColorSource::MakeLinearGradient(), impeller::interop::ColorSource::MakeRadialGradient(), impeller::interop::ColorSource::MakeSweepGradient(), impeller::interop::PathBuilder::MoveTo(), impeller::interop::PathBuilder::QuadraticCurveTo(), impeller::interop::DisplayListBuilder::SaveLayer(), 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 37 of file formats.h.

37 {
38 return SkRect::MakeXYWH(rect.GetX(), //
39 rect.GetY(), //
40 rect.GetWidth(), //
41 rect.GetHeight() //
42 );
43 }

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 impeller::PathBuilder::RoundingRadii & | radii
| ) |  |
| inline

Definition at line 185 of file formats.h.

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

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

## ◆ ToSkiaType() [5/7]

template<class SkiaType , class OtherType >

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

Definition at line 64 of file formats.h.

64 {
65 std::vector<SkiaType> skia_vec;
66 skia_vec.reserve(other_vec.size());
67 for (const auto& other : other_vec) {
68 skia_vec.emplace_back(ToSkiaType(other));
69 }
70 return skia_vec;
71 }

References ToSkiaType().

## ◆ ToSkiaType() [6/7]

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

Definition at line 45 of file formats.h.

45 {
46 switch (type) {
47 case FillType::kNonZero:
48 return SkPathFillType::kWinding;
49 case FillType::kOdd:
50 return SkPathFillType::kEvenOdd;
51 }
52 return SkPathFillType::kWinding;
53 }

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

## ◆ ToSkiaType() [7/7]

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

Definition at line 55 of file formats.h.

55 {
56 return SkIRect::MakeXYWH(rect.GetX(), //
57 rect.GetY(), //
58 rect.GetWidth(), //
59 rect.GetHeight() //
60 );
61 }

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

## ◆ ToSkMatrix()

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

Definition at line 81 of file formats.h.

81 {
82 return SkM44::ColMajor(matrix.m).asM33();
83 }

References impeller::Matrix::m.

Referenced by impeller::interop::ColorSource::MakeConicalGradient(), impeller::interop::ColorSource::MakeLinearGradient(), impeller::interop::ImageFilter::MakeMatrix(), impeller::interop::ColorSource::MakeRadialGradient(), and impeller::interop::ColorSource::MakeSweepGradient().

## ◆ ToTxtType() [1/4]

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

Definition at line 448 of file formats.h.

448 {
449 switch (style) {
450 case kImpellerFontStyleNormal:
451 return txt::FontStyle::normal;
452 case kImpellerFontStyleItalic:
453 return txt::FontStyle::italic;
454 }
455 return txt::FontStyle::normal;
456 }

References kImpellerFontStyleItalic, and kImpellerFontStyleNormal.

## ◆ ToTxtType() [2/4]

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

Definition at line 424 of file formats.h.

424 {
425 switch (weight) {
426 case kImpellerFontWeight100:
427 return txt::FontWeight::w100;
428 case kImpellerFontWeight200:
429 return txt::FontWeight::w200;
430 case kImpellerFontWeight300:
431 return txt::FontWeight::w300;
432 case kImpellerFontWeight400:
433 return txt::FontWeight::w400;
434 case kImpellerFontWeight500:
435 return txt::FontWeight::w500;
436 case kImpellerFontWeight600:
437 return txt::FontWeight::w600;
438 case kImpellerFontWeight700:
439 return txt::FontWeight::w700;
440 case kImpellerFontWeight800:
441 return txt::FontWeight::w800;
442 case kImpellerFontWeight900:
443 return txt::FontWeight::w900;
444 }
445 return txt::FontWeight::w400;
446 }

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 458 of file formats.h.

458 {
459 switch (align) {
460 case kImpellerTextAlignmentLeft:
461 return txt::TextAlign::left;
462 case kImpellerTextAlignmentRight:
463 return txt::TextAlign::right;
464 case kImpellerTextAlignmentCenter:
465 return txt::TextAlign::center;
466 case kImpellerTextAlignmentJustify:
467 return txt::TextAlign::justify;
468 case kImpellerTextAlignmentStart:
469 return txt::TextAlign::start;
470 case kImpellerTextAlignmentEnd:
471 return txt::TextAlign::end;
472 }
473 return txt::TextAlign::left;
474 }

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

## ◆ ToTxtType() [4/4]

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

Definition at line 476 of file formats.h.

476 {
477 switch (direction) {
478 case kImpellerTextDirectionRTL:
479 return txt::TextDirection::rtl;
480 case kImpellerTextDirectionLTR:
481 return txt::TextDirection::ltr;
482 }
483 return txt::TextDirection::ltr;
484 }

References kImpellerTextDirectionLTR, and kImpellerTextDirectionRTL.

kImpellerBlendModeColorBurn
@ kImpellerBlendModeColorBurn
Definition: impeller.h:141
ImpellerISize::height
int64_t height
Definition: impeller.h:253
impeller::interop::ToDisplayListType
constexpr flutter::DlColor ToDisplayListType(ImpellerColor color)
Definition: formats.h:415
impeller::interop::ToDisplayListType
constexpr flutter::DlColor ToDisplayListType(Color color)
Definition: formats.h:73
kImpellerStrokeCapSquare
@ kImpellerStrokeCapSquare
Definition: impeller.h:162
kImpellerBlendModeExclusion
@ kImpellerBlendModeExclusion
Definition: impeller.h:145
kImpellerTextAlignmentLeft
@ kImpellerTextAlignmentLeft
Definition: impeller.h:218
kImpellerBlendModeColor
@ kImpellerBlendModeColor
Definition: impeller.h:149
ImpellerMapping::length
uint64_t length
Definition: impeller.h:287
kImpellerTextAlignmentRight
@ kImpellerTextAlignmentRight
Definition: impeller.h:219
ImpellerMatrix::m
float m[16]
Definition: impeller.h:257
ImpellerRoundingRadii::top_right
ImpellerPoint top_right
Definition: impeller.h:267
kImpellerStrokeJoinRound
@ kImpellerStrokeJoinRound
Definition: impeller.h:167
ImpellerPoint::y
float y
Definition: impeller.h:243
kImpellerBlendModeDestinationOver
@ kImpellerBlendModeDestinationOver
Definition: impeller.h:126
kImpellerTextAlignmentEnd
@ kImpellerTextAlignmentEnd
Definition: impeller.h:223
ImpellerTextureDescriptor::mip_count
uint32_t mip_count
Definition: impeller.h:282
impeller::interop::FromImpellerType
constexpr void FromImpellerType(const Matrix &from, ImpellerMatrix &to)
Definition: formats.h:206
kImpellerBlendModeDestinationOut
@ kImpellerBlendModeDestinationOut
Definition: impeller.h:130
kImpellerBlendModeHardLight
@ kImpellerBlendModeHardLight
Definition: impeller.h:142
ImpellerMapping::on_release
ImpellerCallback IMPELLER_NULLABLE on_release
Definition: impeller.h:288
data
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:63
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:671
kImpellerFontStyleNormal
@ kImpellerFontStyleNormal
Definition: impeller.h:213
kImpellerBlendModeDifference
@ kImpellerBlendModeDifference
Definition: impeller.h:144
kImpellerTextAlignmentStart
@ kImpellerTextAlignmentStart
Definition: impeller.h:222
kImpellerColorSpaceDisplayP3
@ kImpellerColorSpaceDisplayP3
Definition: impeller.h:197
kImpellerFontWeight900
@ kImpellerFontWeight900
Definition: impeller.h:209
kImpellerBlurStyleOuter
@ kImpellerBlurStyleOuter
Definition: impeller.h:190
kImpellerFontWeight600
@ kImpellerFontWeight600
Definition: impeller.h:206
impeller::interop::ToSkiaType
SkRRect ToSkiaType(const Rect &rect, const impeller::PathBuilder::RoundingRadii &radii)
Definition: formats.h:185
impeller::Size
TSize< Scalar > Size
Definition: size.h:137
kImpellerTileModeDecal
@ kImpellerTileModeDecal
Definition: impeller.h:184
ImpellerSize::height
float height
Definition: impeller.h:248
kImpellerFontWeight300
@ kImpellerFontWeight300
Definition: impeller.h:203
kImpellerBlurStyleInner
@ kImpellerBlurStyleInner
Definition: impeller.h:191
impeller::PathBuilder::RoundingRadii::bottom_right
Point bottom_right
Definition: path_builder.h:109
ImpellerColorMatrix::m
float m[20]
Definition: impeller.h:261
kImpellerBlurStyleSolid
@ kImpellerBlurStyleSolid
Definition: impeller.h:189
kImpellerBlendModeSoftLight
@ kImpellerBlendModeSoftLight
Definition: impeller.h:143
impeller::PathBuilder::RoundingRadii
Definition: path_builder.h:105
kImpellerBlendModeHue
@ kImpellerBlendModeHue
Definition: impeller.h:147
kImpellerBlendModeSourceOver
@ kImpellerBlendModeSourceOver
Definition: impeller.h:125
impeller::Point
TPoint< Scalar > Point
Definition: point.h:327
kImpellerFillTypeOdd
@ kImpellerFillTypeOdd
Definition: impeller.h:113
kImpellerClipOperationDifference
@ kImpellerClipOperationDifference
Definition: impeller.h:117
impeller::interop::ToTxtType
constexpr txt::FontWeight ToTxtType(ImpellerFontWeight weight)
Definition: formats.h:424
kImpellerTextDirectionRTL
@ kImpellerTextDirectionRTL
Definition: impeller.h:227
impeller::Context::BackendType::kOpenGLES
@ kOpenGLES
transform
Matrix transform
Definition: gaussian_blur_filter_contents.cc:213
kImpellerBlendModePlus
@ kImpellerBlendModePlus
Definition: impeller.h:134
kImpellerPixelFormatRGBA8888
@ kImpellerPixelFormatRGBA8888
Definition: impeller.h:172
kImpellerClipOperationIntersect
@ kImpellerClipOperationIntersect
Definition: impeller.h:118
impeller::interop::Ref
ScopedObject< Object > Ref(Object *object)
Definition: object.h:145
kImpellerBlendModeOverlay
@ kImpellerBlendModeOverlay
Definition: impeller.h:137
kImpellerBlendModeSourceATop
@ kImpellerBlendModeSourceATop
Definition: impeller.h:131
IMPELLER_VERSION_GET_VARIANT
#define IMPELLER_VERSION_GET_VARIANT(version)
Definition: impeller.h:67
type
GLenum type
Definition: blit_command_gles.cc:127
kImpellerBlendModeSourceOut
@ kImpellerBlendModeSourceOut
Definition: impeller.h:129
kImpellerDrawStyleStroke
@ kImpellerDrawStyleStroke
Definition: impeller.h:155
kImpellerFontWeight100
@ kImpellerFontWeight100
Definition: impeller.h:201
impeller::PathBuilder::RoundingRadii::top_left
Point top_left
Definition: path_builder.h:106
kImpellerFontWeight700
@ kImpellerFontWeight700
Definition: impeller.h:207
kImpellerBlendModeSource
@ kImpellerBlendModeSource
Definition: impeller.h:123
kImpellerBlendModeDestinationATop
@ kImpellerBlendModeDestinationATop
Definition: impeller.h:132
kImpellerBlendModeMultiply
@ kImpellerBlendModeMultiply
Definition: impeller.h:146
kImpellerTextAlignmentJustify
@ kImpellerTextAlignmentJustify
Definition: impeller.h:221
ImpellerRect::width
float width
Definition: impeller.h:237
ImpellerPoint::x
float x
Definition: impeller.h:242
kImpellerFontWeight500
@ kImpellerFontWeight500
Definition: impeller.h:205
kImpellerBlendModeDarken
@ kImpellerBlendModeDarken
Definition: impeller.h:138
kImpellerStrokeJoinBevel
@ kImpellerStrokeJoinBevel
Definition: impeller.h:168
ImpellerSize::width
float width
Definition: impeller.h:247
ImpellerRoundingRadii::bottom_left
ImpellerPoint bottom_left
Definition: impeller.h:266
impeller::interop::AdoptTag::kAdopted
@ kAdopted
impeller::interop::ToImpellerType
constexpr Matrix ToImpellerType(const ImpellerMatrix &m)
Definition: formats.h:198
kImpellerTileModeMirror
@ kImpellerTileModeMirror
Definition: impeller.h:183
kImpellerBlendModeDestination
@ kImpellerBlendModeDestination
Definition: impeller.h:124
IMPELLER_VERSION_GET_PATCH
#define IMPELLER_VERSION_GET_PATCH(version)
Definition: impeller.h:72
ImpellerRoundingRadii::top_left
ImpellerPoint top_left
Definition: impeller.h:265
kImpellerBlendModeDestinationIn
@ kImpellerBlendModeDestinationIn
Definition: impeller.h:128
IMPELLER_VERSION
#define IMPELLER_VERSION
Definition: impeller.h:63
kImpellerFontWeight800
@ kImpellerFontWeight800
Definition: impeller.h:208
ImpellerRect::y
float y
Definition: impeller.h:236
IMPELLER_VERSION_GET_MINOR
#define IMPELLER_VERSION_GET_MINOR(version)
Definition: impeller.h:70
ImpellerTextureDescriptor::pixel_format
ImpellerPixelFormat pixel_format
Definition: impeller.h:280
VALIDATION_LOG
#define VALIDATION_LOG
Definition: validation.h:91
kImpellerBlendModeScreen
@ kImpellerBlendModeScreen
Definition: impeller.h:136
kImpellerStrokeCapRound
@ kImpellerStrokeCapRound
Definition: impeller.h:161
kImpellerBlendModeLighten
@ kImpellerBlendModeLighten
Definition: impeller.h:139
kImpellerTileModeClamp
@ kImpellerTileModeClamp
Definition: impeller.h:181
kImpellerBlendModeModulate
@ kImpellerBlendModeModulate
Definition: impeller.h:135
mask_filter
std::shared_ptr< DlMaskFilter > mask_filter
Definition: dl_golden_blur_unittests.cc:25
impeller::PathBuilder::RoundingRadii::top_right
Point top_right
Definition: path_builder.h:108
ImpellerRect::height
float height
Definition: impeller.h:238
kImpellerBlendModeClear
@ kImpellerBlendModeClear
Definition: impeller.h:122
kImpellerFontWeight200
@ kImpellerFontWeight200
Definition: impeller.h:202
kImpellerFontStyleItalic
@ kImpellerFontStyleItalic
Definition: impeller.h:214
kImpellerStrokeJoinMiter
@ kImpellerStrokeJoinMiter
Definition: impeller.h:166
kImpellerTextureSamplingLinear
@ kImpellerTextureSamplingLinear
Definition: impeller.h:177
kImpellerFillTypeNonZero
@ kImpellerFillTypeNonZero
Definition: impeller.h:112
impeller::PathBuilder::RoundingRadii::bottom_left
Point bottom_left
Definition: path_builder.h:107
impeller::interop::ReadString
static std::string ReadString(const char *string)
Definition: impeller.cc:927
kImpellerTileModeRepeat
@ kImpellerTileModeRepeat
Definition: impeller.h:182
color
DlColor color
Definition: dl_golden_blur_unittests.cc:24
kImpellerColorSpaceExtendedSRGB
@ kImpellerColorSpaceExtendedSRGB
Definition: impeller.h:196
kImpellerBlendModeXor
@ kImpellerBlendModeXor
Definition: impeller.h:133
kImpellerFontWeight400
@ kImpellerFontWeight400
Definition: impeller.h:204
ImpellerRect::x
float x
Definition: impeller.h:235
ImpellerMapping::data
const uint8_t *IMPELLER_NONNULL data
Definition: impeller.h:286
ImpellerISize::width
int64_t width
Definition: impeller.h:252
kImpellerBlendModeColorDodge
@ kImpellerBlendModeColorDodge
Definition: impeller.h:140
kImpellerBlendModeSourceIn
@ kImpellerBlendModeSourceIn
Definition: impeller.h:127
impeller::interop::Adopt
ScopedObject< Object > Adopt(typename Object::InteropCSibling *object)
Definition: object.h:155
kImpellerStrokeCapButt
@ kImpellerStrokeCapButt
Definition: impeller.h:160
impeller::interop::GetVersionAsString
static std::string GetVersionAsString(uint32_t version)
Definition: impeller.cc:58
kImpellerBlendModeLuminosity
@ kImpellerBlendModeLuminosity
Definition: impeller.h:150
kImpellerTextAlignmentCenter
@ kImpellerTextAlignmentCenter
Definition: impeller.h:220
kImpellerDrawStyleFill
@ kImpellerDrawStyleFill
Definition: impeller.h:154
kImpellerBlurStyleNormal
@ kImpellerBlurStyleNormal
Definition: impeller.h:188
kImpellerColorSpaceSRGB
@ kImpellerColorSpaceSRGB
Definition: impeller.h:195
IMPELLER_VERSION_GET_MAJOR
#define IMPELLER_VERSION_GET_MAJOR(version)
Definition: impeller.h:68
ImpellerTextureDescriptor::size
ImpellerISize size
Definition: impeller.h:281
kImpellerBlendModeSaturation
@ kImpellerBlendModeSaturation
Definition: impeller.h:148
impeller::interop::ToImpellerType
constexpr ISize ToImpellerType(const ImpellerISize &size)
Definition: formats.h:398
kImpellerTextDirectionLTR
@ kImpellerTextDirectionLTR
Definition: impeller.h:228
ImpellerRoundingRadii::bottom_right
ImpellerPoint bottom_right
Definition: impeller.h:268
kImpellerTextureSamplingNearestNeighbor
@ kImpellerTextureSamplingNearestNeighbor
Definition: impeller.h:176
kImpellerDrawStyleStrokeAndFill
@ kImpellerDrawStyleStrokeAndFill
Definition: impeller.h:156
ImpellerGetVersion
IMPELLER_EXPORT uint32_t ImpellerGetVersion()
Definition: impeller.cc:68