Flutter Impeller
impeller::interop Namespace Reference

Namespaces

 testing
 

Classes

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

Enumerations

enum class  AdoptTag { kAdopted }
 

Functions

constexpr std::optional< SkRect > ToSkiaType (const ImpellerRect *rect)
 
constexpr SkPoint ToSkiaType (const Point &point)
 
constexpr SkVector ToSkiaVector (const Size &point)
 
constexpr SkRect ToSkiaType (const Rect &rect)
 
constexpr SkPathFillType ToSkiaType (FillType type)
 
constexpr SkIRect ToSkiaType (IRect rect)
 
template<class SkiaType , class OtherType >
std::vector< SkiaType > ToSkiaType (const std::vector< OtherType > &other_vec)
 
constexpr flutter::DlColor ToDisplayListType (Color color)
 
constexpr SkMatrix ToSkMatrix (const Matrix &matrix)
 
template<class DlType , class OtherType >
std::vector< DlType > ToDisplayListType (const std::vector< OtherType > &other_vec)
 
constexpr flutter::DlImageSampling ToDisplayListType (ImpellerTextureSampling sampling)
 
constexpr flutter::DlBlurStyle ToDisplayListType (ImpellerBlurStyle style)
 
constexpr flutter::DlBlendMode ToDisplayListType (BlendMode mode)
 
SkRRect ToSkiaType (const Rect &rect, const RoundingRadii &radii)
 
constexpr Matrix ToImpellerType (const ImpellerMatrix &m)
 
constexpr void FromImpellerType (const Matrix &from, ImpellerMatrix &to)
 
constexpr Size ToImpellerType (const ImpellerSize &size)
 
constexpr Point ToImpellerType (const ImpellerPoint &point)
 
constexpr Size ToImpellerSize (const ImpellerPoint &point)
 
constexpr Rect ToImpellerType (const ImpellerRect &rect)
 
constexpr flutter::DlTileMode ToDisplayListType (ImpellerTileMode mode)
 
constexpr RoundingRadii ToImpellerType (const ImpellerRoundingRadii &radii)
 
constexpr FillType ToImpellerType (ImpellerFillType type)
 
constexpr flutter::DlCanvas::ClipOp ToImpellerType (ImpellerClipOperation op)
 
constexpr Color ToImpellerType (const ImpellerColor &color)
 
constexpr BlendMode ToImpellerType (ImpellerBlendMode mode)
 
constexpr flutter::DlDrawStyle ToDisplayListType (ImpellerDrawStyle style)
 
constexpr flutter::DlStrokeCap ToDisplayListType (ImpellerStrokeCap cap)
 
constexpr flutter::DlStrokeJoin ToDisplayListType (ImpellerStrokeJoin join)
 
constexpr PixelFormat ToImpellerType (ImpellerPixelFormat format)
 
constexpr ISize ToImpellerType (const ImpellerISize &size)
 
constexpr flutter::DlColorSpace ToDisplayListType (ImpellerColorSpace color_space)
 
constexpr flutter::DlColor ToDisplayListType (ImpellerColor color)
 
constexpr txt::FontWeight ToTxtType (ImpellerFontWeight weight)
 
constexpr txt::FontStyle ToTxtType (ImpellerFontStyle style)
 
constexpr txt::TextAlign ToTxtType (ImpellerTextAlignment align)
 
constexpr txt::TextDirection ToTxtType (ImpellerTextDirection direction)
 
 DEFINE_PEER_GETTER (ColorFilter, ImpellerColorFilter)
 
 DEFINE_PEER_GETTER (ColorSource, ImpellerColorSource)
 
 DEFINE_PEER_GETTER (Context, ImpellerContext)
 
 DEFINE_PEER_GETTER (DisplayList, ImpellerDisplayList)
 
 DEFINE_PEER_GETTER (DisplayListBuilder, ImpellerDisplayListBuilder)
 
 DEFINE_PEER_GETTER (ImageFilter, ImpellerImageFilter)
 
 DEFINE_PEER_GETTER (MaskFilter, ImpellerMaskFilter)
 
 DEFINE_PEER_GETTER (Paint, ImpellerPaint)
 
 DEFINE_PEER_GETTER (Paragraph, ImpellerParagraph)
 
 DEFINE_PEER_GETTER (ParagraphBuilder, ImpellerParagraphBuilder)
 
 DEFINE_PEER_GETTER (ParagraphStyle, ImpellerParagraphStyle)
 
 DEFINE_PEER_GETTER (Path, ImpellerPath)
 
 DEFINE_PEER_GETTER (PathBuilder, ImpellerPathBuilder)
 
 DEFINE_PEER_GETTER (Surface, ImpellerSurface)
 
 DEFINE_PEER_GETTER (Texture, ImpellerTexture)
 
 DEFINE_PEER_GETTER (TypographyContext, ImpellerTypographyContext)
 
static std::string GetVersionAsString (uint32_t version)
 
IMPELLER_EXTERN_C uint32_t ImpellerGetVersion ()
 
IMPELLER_EXTERN_C ImpellerContext ImpellerContextCreateOpenGLESNew (uint32_t version, ImpellerProcAddressCallback gl_proc_address_callback, void *gl_proc_address_callback_user_data)
 
IMPELLER_EXTERN_C void ImpellerContextRetain (ImpellerContext context)
 
IMPELLER_EXTERN_C void ImpellerContextRelease (ImpellerContext context)
 
IMPELLER_EXTERN_C ImpellerDisplayListBuilder ImpellerDisplayListBuilderNew (const ImpellerRect *cull_rect)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderRetain (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderRelease (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderSave (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderSaveLayer (ImpellerDisplayListBuilder builder, const ImpellerRect *bounds, ImpellerPaint paint, ImpellerImageFilter backdrop)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderRestore (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderScale (ImpellerDisplayListBuilder builder, float x_scale, float y_scale)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderRotate (ImpellerDisplayListBuilder builder, float angle_degrees)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderTranslate (ImpellerDisplayListBuilder builder, float x_translation, float y_translation)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderSetTransform (ImpellerDisplayListBuilder builder, const ImpellerMatrix *transform)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderTransform (ImpellerDisplayListBuilder builder, const ImpellerMatrix *transform)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderGetTransform (ImpellerDisplayListBuilder builder, ImpellerMatrix *out_transform)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderResetTransform (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C uint32_t ImpellerDisplayListBuilderGetSaveCount (ImpellerDisplayListBuilder builder)
 
IMPELLER_EXTERN_C void ImpellerDisplayListBuilderRestoreToCount (ImpellerDisplayListBuilder builder, uint32_t count)
 
IMPELLER_EXTERN_C void ImpellerPathRetain (ImpellerPath path)
 
IMPELLER_EXTERN_C void ImpellerPathRelease (ImpellerPath path)
 
IMPELLER_EXTERN_C ImpellerPathBuilder ImpellerPathBuilderNew ()
 
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 ImpellerColorSource ImpellerColorSourceCreateImageNew (ImpellerTexture image, ImpellerTileMode horizontal_tile_mode, ImpellerTileMode vertical_tile_mode, ImpellerTextureSampling sampling, const ImpellerMatrix *transformation)
 
IMPELLER_EXTERN_C void ImpellerColorFilterRetain (ImpellerColorFilter color_filter)
 
IMPELLER_EXTERN_C void ImpellerColorFilterRelease (ImpellerColorFilter color_filter)
 
IMPELLER_EXTERN_C ImpellerColorFilter ImpellerColorFilterCreateBlendNew (const ImpellerColor *color, ImpellerBlendMode blend_mode)
 
IMPELLER_EXTERN_C ImpellerColorFilter ImpellerColorFilterCreateColorMatrixNew (const ImpellerColorMatrix *color_matrix)
 
IMPELLER_EXTERN_C void ImpellerMaskFilterRetain (ImpellerMaskFilter mask_filter)
 
IMPELLER_EXTERN_C void ImpellerMaskFilterRelease (ImpellerMaskFilter mask_filter)
 
IMPELLER_EXTERN_C ImpellerMaskFilter ImpellerMaskFilterCreateBlurNew (ImpellerBlurStyle style, float sigma)
 
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)
 
IMPELLER_EXTERN_C void ImpellerPaintSetColorFilter (ImpellerPaint paint, ImpellerColorFilter color_filter)
 
IMPELLER_EXTERN_C void ImpellerPaintSetColorSource (ImpellerPaint paint, ImpellerColorSource color_source)
 
IMPELLER_EXTERN_C void ImpellerPaintSetImageFilter (ImpellerPaint paint, ImpellerImageFilter image_filter)
 
IMPELLER_EXTERN_C void ImpellerPaintSetMaskFilter (ImpellerPaint paint, ImpellerMaskFilter mask_filter)
 
IMPELLER_EXTERN_C ImpellerParagraphStyle ImpellerParagraphStyleNew ()
 
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)
 
IMPELLER_EXTERN_C bool ImpellerTypographyContextRegisterFont (ImpellerTypographyContext context, const ImpellerMapping *contents, void *contents_on_release_user_data, const char *family_name_alias)
 
template<typename Object >
ScopedObject< ObjectRef (Object *object)
 
template<typename Object >
ScopedObject< ObjectAdopt (Object *object)
 
template<typename Object >
ScopedObject< ObjectAdopt (typename Object::InteropCSibling *object)
 
template<typename Object , typename... CtorArgs>
ScopedObject< ObjectCreate (CtorArgs &&... args)
 
static sk_sp< SkTypeface > CreateTypefaceFromFontData (std::unique_ptr< fml::Mapping > font_data)
 

Enumeration Type Documentation

◆ AdoptTag

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 }
ScopedObject< Object > Adopt(typename Object::InteropCSibling *object)
Definition: object.h:155

References Adopt().

◆ Create()

template<typename Object , typename... CtorArgs>
ScopedObject<Object> impeller::interop::Create ( CtorArgs &&...  args)

Definition at line 160 of file object.h.

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

References kAdopted.

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

◆ CreateTypefaceFromFontData()

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

Definition at line 43 of file typography_context.cc.

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

References VALIDATION_LOG.

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

◆ DEFINE_PEER_GETTER() [1/16]

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

◆ DEFINE_PEER_GETTER() [2/16]

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

◆ DEFINE_PEER_GETTER() [3/16]

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

◆ DEFINE_PEER_GETTER() [4/16]

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

◆ DEFINE_PEER_GETTER() [5/16]

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

◆ DEFINE_PEER_GETTER() [6/16]

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

◆ DEFINE_PEER_GETTER() [7/16]

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

◆ DEFINE_PEER_GETTER() [8/16]

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

◆ DEFINE_PEER_GETTER() [9/16]

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

◆ DEFINE_PEER_GETTER() [10/16]

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

◆ DEFINE_PEER_GETTER() [11/16]

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

◆ DEFINE_PEER_GETTER() [12/16]

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

◆ DEFINE_PEER_GETTER() [13/16]

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

◆ DEFINE_PEER_GETTER() [14/16]

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

◆ DEFINE_PEER_GETTER() [15/16]

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

◆ DEFINE_PEER_GETTER() [16/16]

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

◆ FromImpellerType()

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

Definition at line 209 of file formats.h.

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

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 }
#define IMPELLER_VERSION_GET_PATCH(version)
Definition: impeller.h:133
#define IMPELLER_VERSION_GET_MAJOR(version)
Definition: impeller.h:117
#define IMPELLER_VERSION_GET_VARIANT(version)
Definition: impeller.h:110
#define IMPELLER_VERSION_GET_MINOR(version)
Definition: impeller.h:125

References IMPELLER_VERSION_GET_MAJOR, IMPELLER_VERSION_GET_MINOR, IMPELLER_VERSION_GET_PATCH, and IMPELLER_VERSION_GET_VARIANT.

Referenced by ImpellerContextCreateOpenGLESNew().

◆ ImpellerColorFilterCreateBlendNew()

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

Definition at line 813 of file impeller.cc.

815  {
816  return ColorFilter::MakeBlend(ToImpellerType(*color),
817  ToImpellerType(blend_mode))
818  .Leak();
819 }
constexpr Matrix ToImpellerType(const ImpellerMatrix &m)
Definition: formats.h:201

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

◆ ImpellerColorFilterCreateColorMatrixNew()

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

Definition at line 822 of file impeller.cc.

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

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

◆ ImpellerColorFilterRelease()

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

Definition at line 808 of file impeller.cc.

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

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

◆ ImpellerColorFilterRetain()

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

Definition at line 803 of file impeller.cc.

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

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

◆ ImpellerColorSourceCreateConicalGradientNew()

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

Definition at line 735 of file impeller.cc.

744  {
745  const auto colors_and_stops = ParseColorsAndStops(stop_count, colors, stops);
746  return ColorSource::MakeConicalGradient(
747  ToImpellerType(*start_center), //
748  start_radius, //
749  ToImpellerType(*end_center), //
750  end_radius, //
751  colors_and_stops.first, //
752  colors_and_stops.second, //
753  ToDisplayListType(tile_mode), //
754  transformation == nullptr ? Matrix{}
755  : ToImpellerType(*transformation) //
756  )
757  .Leak();
758 }
static std::pair< std::vector< flutter::DlColor >, std::vector< Scalar > > ParseColorsAndStops(uint32_t stop_count, const ImpellerColor *colors, const float *stops)
Definition: impeller.cc:674
constexpr flutter::DlColor ToDisplayListType(Color color)
Definition: formats.h:77

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

◆ ImpellerColorSourceCreateImageNew()

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

Definition at line 785 of file impeller.cc.

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

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

◆ ImpellerColorSourceCreateLinearGradientNew()

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

Definition at line 691 of file impeller.cc.

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

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

◆ ImpellerColorSourceCreateRadialGradientNew()

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

Definition at line 713 of file impeller.cc.

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

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

◆ ImpellerColorSourceCreateSweepGradientNew()

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

Definition at line 761 of file impeller.cc.

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

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

◆ ImpellerColorSourceRelease()

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

Definition at line 669 of file impeller.cc.

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

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

◆ ImpellerColorSourceRetain()

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

Definition at line 664 of file impeller.cc.

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

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

◆ ImpellerContextCreateOpenGLESNew()

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

Definition at line 73 of file impeller.cc.

76  {
77  if (version != IMPELLER_VERSION) {
78  VALIDATION_LOG << "This version of Impeller ("
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 }
IMPELLER_EXPORT uint32_t ImpellerGetVersion()
Get the version of Impeller standalone API. This is the API that will be accepted for validity checks...
#define IMPELLER_VERSION
Definition: impeller.h:101
static std::string GetVersionAsString(uint32_t version)
Definition: impeller.cc:58

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

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

◆ ImpellerContextRelease()

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

Definition at line 103 of file impeller.cc.

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

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

◆ ImpellerContextRetain()

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

Definition at line 98 of file impeller.cc.

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

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

◆ ImpellerDisplayListBuilderClipOval()

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

Definition at line 314 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderClipPath()

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

Definition at line 333 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderClipRect()

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

Definition at line 307 of file impeller.cc.

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

References ToImpellerType().

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

◆ ImpellerDisplayListBuilderClipRoundedRect()

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

Definition at line 321 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderCreateDisplayListNew()

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

Definition at line 589 of file impeller.cc.

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

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

◆ ImpellerDisplayListBuilderDrawDashedLine()

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

Definition at line 407 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderDrawDisplayList()

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

Definition at line 599 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderDrawLine()

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

Definition at line 396 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderDrawOval()

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

Definition at line 430 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderDrawPaint()

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

Definition at line 390 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderDrawParagraph()

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

Definition at line 1005 of file impeller.cc.

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

References ToImpellerType().

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

◆ ImpellerDisplayListBuilderDrawPath()

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

Definition at line 465 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderDrawRect()

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

Definition at line 423 of file impeller.cc.

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

References ToImpellerType().

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

◆ ImpellerDisplayListBuilderDrawRoundedRect()

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

Definition at line 437 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderDrawRoundedRectDifference()

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

Definition at line 449 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderDrawTexture()

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

Definition at line 635 of file impeller.cc.

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

References ToDisplayListType(), and ToImpellerType().

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

◆ ImpellerDisplayListBuilderDrawTextureRect()

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

Definition at line 648 of file impeller.cc.

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

References ToDisplayListType(), and ToImpellerType().

◆ ImpellerDisplayListBuilderGetSaveCount()

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

Definition at line 189 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderGetTransform()

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

Definition at line 177 of file impeller.cc.

178  {
179  FromImpellerType(GetPeer(builder)->GetTransform(), *out_transform);
180 }
constexpr void FromImpellerType(const Matrix &from, ImpellerMatrix &to)
Definition: formats.h:209

References FromImpellerType().

◆ ImpellerDisplayListBuilderNew()

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

Definition at line 108 of file impeller.cc.

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

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

◆ ImpellerDisplayListBuilderRelease()

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

Definition at line 119 of file impeller.cc.

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

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

◆ ImpellerDisplayListBuilderResetTransform()

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

Definition at line 183 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderRestore()

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

Definition at line 140 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderRestoreToCount()

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

Definition at line 195 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderRetain()

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

Definition at line 114 of file impeller.cc.

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

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

◆ ImpellerDisplayListBuilderRotate()

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

Definition at line 152 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderSave()

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

Definition at line 124 of file impeller.cc.

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

◆ ImpellerDisplayListBuilderSaveLayer()

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

Definition at line 129 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerDisplayListBuilderScale()

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

Definition at line 145 of file impeller.cc.

147  {
148  GetPeer(builder)->Scale(Size{x_scale, y_scale});
149 }
TSize< Scalar > Size
Definition: size.h:171

◆ ImpellerDisplayListBuilderSetTransform()

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

Definition at line 165 of file impeller.cc.

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

References ToImpellerType(), and transform.

◆ ImpellerDisplayListBuilderTransform()

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

Definition at line 171 of file impeller.cc.

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

References ToImpellerType(), and transform.

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

◆ ImpellerDisplayListBuilderTranslate()

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

Definition at line 158 of file impeller.cc.

160  {
161  GetPeer(builder)->Translate(Point{x_translation, y_translation});
162 }
TPoint< Scalar > Point
Definition: point.h:327

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

◆ ImpellerDisplayListRelease()

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

Definition at line 584 of file impeller.cc.

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

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

◆ ImpellerDisplayListRetain()

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

Definition at line 579 of file impeller.cc.

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

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

◆ ImpellerGetVersion()

IMPELLER_EXTERN_C uint32_t impeller::interop::ImpellerGetVersion ( )

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

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

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

◆ ImpellerImageFilterCreateComposeNew()

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

Definition at line 884 of file impeller.cc.

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

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

◆ ImpellerImageFilterCreateDilateNew()

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

Definition at line 863 of file impeller.cc.

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

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

◆ ImpellerImageFilterCreateErodeNew()

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

Definition at line 869 of file impeller.cc.

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

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

◆ ImpellerImageFilterCreateMatrixNew()

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

Definition at line 875 of file impeller.cc.

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

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

◆ ImpellerImageFilterRelease()

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

Definition at line 849 of file impeller.cc.

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

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

◆ ImpellerImageFilterRetain()

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

Definition at line 844 of file impeller.cc.

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

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

◆ ImpellerMaskFilterCreateBlurNew()

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

Definition at line 838 of file impeller.cc.

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

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

◆ ImpellerMaskFilterRelease()

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

Definition at line 833 of file impeller.cc.

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

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

◆ ImpellerMaskFilterRetain()

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

Definition at line 828 of file impeller.cc.

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

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

◆ ImpellerPaintNew()

IMPELLER_EXTERN_C ImpellerPaint impeller::interop::ImpellerPaintNew ( )

Definition at line 340 of file impeller.cc.

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

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

◆ ImpellerPaintRelease()

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

Definition at line 350 of file impeller.cc.

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

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

◆ ImpellerPaintRetain()

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

Definition at line 345 of file impeller.cc.

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

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

◆ ImpellerPaintSetBlendMode()

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

Definition at line 360 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPaintSetColor()

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

Definition at line 355 of file impeller.cc.

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

References ToDisplayListType().

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

◆ ImpellerPaintSetColorFilter()

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

Definition at line 891 of file impeller.cc.

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

◆ ImpellerPaintSetColorSource()

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

Definition at line 897 of file impeller.cc.

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

◆ ImpellerPaintSetDrawStyle()

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

Definition at line 365 of file impeller.cc.

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

References ToDisplayListType().

◆ ImpellerPaintSetImageFilter()

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

Definition at line 903 of file impeller.cc.

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

◆ ImpellerPaintSetMaskFilter()

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

Definition at line 909 of file impeller.cc.

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

◆ ImpellerPaintSetStrokeCap()

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

Definition at line 370 of file impeller.cc.

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

References ToDisplayListType().

◆ ImpellerPaintSetStrokeJoin()

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

Definition at line 375 of file impeller.cc.

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

References ToDisplayListType().

◆ ImpellerPaintSetStrokeMiter()

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

Definition at line 385 of file impeller.cc.

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

◆ ImpellerPaintSetStrokeWidth()

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

Definition at line 380 of file impeller.cc.

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

◆ ImpellerParagraphBuilderAddText()

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

Definition at line 1049 of file impeller.cc.

1051  {
1052  if (data == nullptr) {
1053  length = 0;
1054  }
1055  if (length == 0) {
1056  return;
1057  }
1058  GetPeer(paragraph_builder)->AddText(data, length);
1059 }
std::shared_ptr< const fml::Mapping > data
Definition: texture_gles.cc:64

References data.

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

◆ ImpellerParagraphBuilderBuildParagraphNew()

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

Definition at line 1062 of file impeller.cc.

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

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

◆ ImpellerParagraphBuilderNew()

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

Definition at line 1012 of file impeller.cc.

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

References VALIDATION_LOG.

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

◆ ImpellerParagraphBuilderPopStyle()

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

Definition at line 1043 of file impeller.cc.

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

◆ ImpellerParagraphBuilderPushStyle()

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

Definition at line 1036 of file impeller.cc.

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

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

◆ ImpellerParagraphBuilderRelease()

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

Definition at line 1030 of file impeller.cc.

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

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

◆ ImpellerParagraphBuilderRetain()

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

Definition at line 1024 of file impeller.cc.

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

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

◆ ImpellerParagraphGetAlphabeticBaseline()

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

Definition at line 1109 of file impeller.cc.

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

◆ ImpellerParagraphGetHeight()

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

Definition at line 1084 of file impeller.cc.

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

◆ ImpellerParagraphGetIdeographicBaseline()

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

Definition at line 1104 of file impeller.cc.

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

◆ ImpellerParagraphGetLineCount()

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

Definition at line 1114 of file impeller.cc.

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

◆ ImpellerParagraphGetLongestLineWidth()

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

Definition at line 1089 of file impeller.cc.

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

◆ ImpellerParagraphGetMaxIntrinsicWidth()

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

Definition at line 1099 of file impeller.cc.

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

◆ ImpellerParagraphGetMaxWidth()

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

Definition at line 1079 of file impeller.cc.

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

◆ ImpellerParagraphGetMinIntrinsicWidth()

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

Definition at line 1094 of file impeller.cc.

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

◆ ImpellerParagraphRelease()

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

Definition at line 1074 of file impeller.cc.

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

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

◆ ImpellerParagraphRetain()

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

Definition at line 1069 of file impeller.cc.

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

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

◆ ImpellerParagraphStyleNew()

IMPELLER_EXTERN_C ImpellerParagraphStyle impeller::interop::ImpellerParagraphStyleNew ( )

Definition at line 915 of file impeller.cc.

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

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

◆ ImpellerParagraphStyleRelease()

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

Definition at line 925 of file impeller.cc.

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

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

◆ ImpellerParagraphStyleRetain()

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

Definition at line 920 of file impeller.cc.

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

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

◆ ImpellerParagraphStyleSetBackground()

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

Definition at line 936 of file impeller.cc.

937  {
938  GetPeer(paragraph_style)->SetBackground(Ref(GetPeer(paint)));
939 }
ScopedObject< Object > Ref(Object *object)
Definition: object.h:145

References Ref().

◆ ImpellerParagraphStyleSetFontFamily()

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

Definition at line 961 of file impeller.cc.

962  {
963  GetPeer(paragraph_style)->SetFontFamily(ReadString(family_name));
964 }
static std::string ReadString(const char *string)
Definition: impeller.cc:953

References ReadString().

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

◆ ImpellerParagraphStyleSetFontSize()

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

Definition at line 967 of file impeller.cc.

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

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

◆ ImpellerParagraphStyleSetFontStyle()

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

Definition at line 948 of file impeller.cc.

949  {
950  GetPeer(paragraph_style)->SetFontStyle(ToTxtType(style));
951 }
constexpr txt::FontWeight ToTxtType(ImpellerFontWeight weight)
Definition: formats.h:430

References ToTxtType().

◆ ImpellerParagraphStyleSetFontWeight()

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

Definition at line 942 of file impeller.cc.

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

References ToTxtType().

◆ ImpellerParagraphStyleSetForeground()

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

Definition at line 930 of file impeller.cc.

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

References Ref().

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

◆ ImpellerParagraphStyleSetHeight()

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

Definition at line 973 of file impeller.cc.

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

◆ ImpellerParagraphStyleSetLocale()

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

Definition at line 999 of file impeller.cc.

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

References ReadString().

◆ ImpellerParagraphStyleSetMaxLines()

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

Definition at line 993 of file impeller.cc.

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

◆ ImpellerParagraphStyleSetTextAlignment()

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

Definition at line 979 of file impeller.cc.

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

References ToTxtType().

◆ ImpellerParagraphStyleSetTextDirection()

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

Definition at line 986 of file impeller.cc.

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

References ToTxtType().

◆ ImpellerPathBuilderAddArc()

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

Definition at line 264 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderAddOval()

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

Definition at line 275 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderAddRect()

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

Definition at line 258 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderAddRoundedRect()

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

Definition at line 281 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderClose()

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

Definition at line 290 of file impeller.cc.

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

◆ ImpellerPathBuilderCopyPathNew()

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

Definition at line 295 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderCubicCurveTo()

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

Definition at line 247 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderLineTo()

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

Definition at line 233 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderMoveTo()

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

Definition at line 227 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderNew()

IMPELLER_EXTERN_C ImpellerPathBuilder impeller::interop::ImpellerPathBuilderNew ( )

Definition at line 212 of file impeller.cc.

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

◆ ImpellerPathBuilderQuadraticCurveTo()

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

Definition at line 239 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathBuilderRelease()

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

Definition at line 222 of file impeller.cc.

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

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

◆ ImpellerPathBuilderRetain()

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

Definition at line 217 of file impeller.cc.

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

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

◆ ImpellerPathBuilderTakePathNew()

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

Definition at line 301 of file impeller.cc.

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

References ToImpellerType().

◆ ImpellerPathRelease()

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

Definition at line 207 of file impeller.cc.

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

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

◆ ImpellerPathRetain()

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

Definition at line 202 of file impeller.cc.

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

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

◆ ImpellerSurfaceCreateWrappedFBONew()

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

Definition at line 607 of file impeller.cc.

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

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

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

◆ ImpellerSurfaceDrawDisplayList()

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

Definition at line 629 of file impeller.cc.

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

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

◆ ImpellerSurfaceRelease()

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

Definition at line 624 of file impeller.cc.

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

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

◆ ImpellerSurfaceRetain()

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

Definition at line 619 of file impeller.cc.

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

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

◆ ImpellerTextureCreateWithContentsNew()

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

Definition at line 472 of file impeller.cc.

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

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

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

◆ ImpellerTextureCreateWithOpenGLTextureHandleNew()

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

Definition at line 517 of file impeller.cc.

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

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

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

◆ ImpellerTextureGetOpenGLHandle()

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

Definition at line 566 of file impeller.cc.

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

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

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

◆ ImpellerTextureRelease()

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

Definition at line 561 of file impeller.cc.

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

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

◆ ImpellerTextureRetain()

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

Definition at line 556 of file impeller.cc.

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

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

◆ ImpellerTypographyContextNew()

IMPELLER_EXTERN_C ImpellerTypographyContext impeller::interop::ImpellerTypographyContextNew ( )

Definition at line 1119 of file impeller.cc.

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

References VALIDATION_LOG.

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

◆ ImpellerTypographyContextRegisterFont()

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

Definition at line 1139 of file impeller.cc.

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

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

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

◆ ImpellerTypographyContextRelease()

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

Definition at line 1134 of file impeller.cc.

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

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

◆ ImpellerTypographyContextRetain()

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

Definition at line 1129 of file impeller.cc.

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

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

◆ ParseColorsAndStops()

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

Definition at line 674 of file impeller.cc.

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

References ToDisplayListType().

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

◆ ReadString()

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

Definition at line 953 of file impeller.cc.

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

Referenced by ImpellerParagraphStyleSetFontFamily(), and ImpellerParagraphStyleSetLocale().

◆ Ref()

template<typename Object >
ScopedObject<Object> impeller::interop::Ref ( Object object)

Definition at line 145 of file object.h.

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

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

◆ ToDisplayListType() [1/11]

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

Definition at line 124 of file formats.h.

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

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

◆ ToDisplayListType() [2/11]

◆ ToDisplayListType() [3/11]

template<class DlType , class OtherType >
std::vector<DlType> impeller::interop::ToDisplayListType ( const std::vector< OtherType > &  other_vec)

Definition at line 90 of file formats.h.

90  {
91  std::vector<DlType> dl_vec;
92  dl_vec.reserve(other_vec.size());
93  for (const auto& other : other_vec) {
94  dl_vec.emplace_back(ToDisplayListType(other));
95  }
96  return dl_vec;
97 }
constexpr flutter::DlColor ToDisplayListType(ImpellerColor color)
Definition: formats.h:421

References ToDisplayListType().

◆ ToDisplayListType() [4/11]

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

Definition at line 110 of file formats.h.

110  {
111  switch (style) {
113  return flutter::DlBlurStyle::kNormal;
115  return flutter::DlBlurStyle::kSolid;
117  return flutter::DlBlurStyle::kOuter;
119  return flutter::DlBlurStyle::kInner;
120  }
121  return flutter::DlBlurStyle::kNormal;
122 }
@ kImpellerBlurStyleNormal
Definition: impeller.h:394
@ kImpellerBlurStyleOuter
Definition: impeller.h:396
@ kImpellerBlurStyleInner
Definition: impeller.h:397
@ kImpellerBlurStyleSolid
Definition: impeller.h:395

References kImpellerBlurStyleInner, kImpellerBlurStyleNormal, kImpellerBlurStyleOuter, and kImpellerBlurStyleSolid.

◆ ToDisplayListType() [5/11]

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

Definition at line 421 of file formats.h.

421  {
422  return flutter::DlColor(color.alpha, //
423  color.red, //
424  color.green, //
425  color.blue, //
427  );
428 }
float blue
Definition: impeller.h:548
float alpha
Definition: impeller.h:549
float green
Definition: impeller.h:547
ImpellerColorSpace color_space
Definition: impeller.h:550

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

◆ ToDisplayListType() [6/11]

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

Definition at line 408 of file formats.h.

409  {
410  switch (color_space) {
412  return flutter::DlColorSpace::kSRGB;
414  return flutter::DlColorSpace::kExtendedSRGB;
416  return flutter::DlColorSpace::kDisplayP3;
417  }
418  return flutter::DlColorSpace::kSRGB;
419 }
@ kImpellerColorSpaceExtendedSRGB
Definition: impeller.h:402
@ kImpellerColorSpaceSRGB
Definition: impeller.h:401
@ kImpellerColorSpaceDisplayP3
Definition: impeller.h:403

References kImpellerColorSpaceDisplayP3, kImpellerColorSpaceExtendedSRGB, and kImpellerColorSpaceSRGB.

◆ ToDisplayListType() [7/11]

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

Definition at line 360 of file formats.h.

360  {
361  switch (style) {
363  return flutter::DlDrawStyle::kFill;
365  return flutter::DlDrawStyle::kStroke;
367  return flutter::DlDrawStyle::kStrokeAndFill;
368  }
369  return flutter::DlDrawStyle::kFill;
370 }
@ kImpellerDrawStyleStroke
Definition: impeller.h:361
@ kImpellerDrawStyleFill
Definition: impeller.h:360
@ kImpellerDrawStyleStrokeAndFill
Definition: impeller.h:362

References kImpellerDrawStyleFill, kImpellerDrawStyleStroke, and kImpellerDrawStyleStrokeAndFill.

◆ ToDisplayListType() [8/11]

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

Definition at line 372 of file formats.h.

372  {
373  switch (cap) {
375  return flutter::DlStrokeCap::kButt;
377  return flutter::DlStrokeCap::kRound;
379  return flutter::DlStrokeCap::kSquare;
380  }
381  return flutter::DlStrokeCap::kButt;
382 }
@ kImpellerStrokeCapButt
Definition: impeller.h:366
@ kImpellerStrokeCapRound
Definition: impeller.h:367
@ kImpellerStrokeCapSquare
Definition: impeller.h:368

References kImpellerStrokeCapButt, kImpellerStrokeCapRound, and kImpellerStrokeCapSquare.

◆ ToDisplayListType() [9/11]

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

Definition at line 384 of file formats.h.

384  {
385  switch (join) {
387  return flutter::DlStrokeJoin::kMiter;
389  return flutter::DlStrokeJoin::kRound;
391  return flutter::DlStrokeJoin::kBevel;
392  }
393  return flutter::DlStrokeJoin::kMiter;
394 }
@ kImpellerStrokeJoinRound
Definition: impeller.h:373
@ kImpellerStrokeJoinBevel
Definition: impeller.h:374
@ kImpellerStrokeJoinMiter
Definition: impeller.h:372

References kImpellerStrokeJoinBevel, kImpellerStrokeJoinMiter, and kImpellerStrokeJoinRound.

◆ ToDisplayListType() [10/11]

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

Definition at line 99 of file formats.h.

100  {
101  switch (sampling) {
103  return flutter::DlImageSampling::kNearestNeighbor;
105  return flutter::DlImageSampling::kLinear;
106  }
107  return flutter::DlImageSampling::kLinear;
108 }
@ kImpellerTextureSamplingNearestNeighbor
Definition: impeller.h:382
@ kImpellerTextureSamplingLinear
Definition: impeller.h:383

References kImpellerTextureSamplingLinear, and kImpellerTextureSamplingNearestNeighbor.

◆ ToDisplayListType() [11/11]

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

Definition at line 244 of file formats.h.

244  {
245  switch (mode) {
247  return flutter::DlTileMode::kClamp;
249  return flutter::DlTileMode::kRepeat;
251  return flutter::DlTileMode::kMirror;
253  return flutter::DlTileMode::kDecal;
254  }
255  return flutter::DlTileMode::kClamp;
256 }
@ kImpellerTileModeMirror
Definition: impeller.h:389
@ kImpellerTileModeClamp
Definition: impeller.h:387
@ kImpellerTileModeRepeat
Definition: impeller.h:388
@ kImpellerTileModeDecal
Definition: impeller.h:390

References kImpellerTileModeClamp, kImpellerTileModeDecal, kImpellerTileModeMirror, and kImpellerTileModeRepeat.

◆ ToImpellerSize()

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

Definition at line 236 of file formats.h.

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

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

Referenced by ToImpellerType().

◆ ToImpellerType() [1/11]

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

Definition at line 287 of file formats.h.

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

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

◆ ToImpellerType() [2/11]

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

Definition at line 404 of file formats.h.

404  {
405  return ISize::MakeWH(size.width, size.height);
406 }
int64_t height
Definition: impeller.h:459
int64_t width
Definition: impeller.h:458

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

◆ ToImpellerType() [3/11]

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

Definition at line 201 of file formats.h.

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

References ImpellerMatrix::m.

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

◆ ToImpellerType() [4/11]

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

Definition at line 232 of file formats.h.

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

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

◆ ToImpellerType() [5/11]

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

Definition at line 240 of file formats.h.

240  {
241  return Rect::MakeXYWH(rect.x, rect.y, rect.width, rect.height);
242 }
float width
Definition: impeller.h:443
float height
Definition: impeller.h:444

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

◆ ToImpellerType() [6/11]

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

Definition at line 258 of file formats.h.

258  {
259  auto result = RoundingRadii{};
260  result.top_left = ToImpellerSize(radii.top_left);
261  result.bottom_left = ToImpellerSize(radii.bottom_left);
262  result.top_right = ToImpellerSize(radii.top_right);
263  result.bottom_right = ToImpellerSize(radii.bottom_right);
264  return result;
265 }
constexpr Size ToImpellerSize(const ImpellerPoint &point)
Definition: formats.h:236
ImpellerPoint top_left
Definition: impeller.h:539
ImpellerPoint top_right
Definition: impeller.h:541
ImpellerPoint bottom_left
Definition: impeller.h:540
ImpellerPoint bottom_right
Definition: impeller.h:542

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

◆ ToImpellerType() [7/11]

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

Definition at line 228 of file formats.h.

228  {
229  return Size{size.width, size.height};
230 }
float height
Definition: impeller.h:454
float width
Definition: impeller.h:453

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

◆ ToImpellerType() [8/11]

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

Definition at line 296 of file formats.h.

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

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

◆ ToImpellerType() [9/11]

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

Definition at line 277 of file formats.h.

277  {
278  switch (op) {
280  return flutter::DlCanvas::ClipOp::kDifference;
282  return flutter::DlCanvas::ClipOp::kIntersect;
283  }
284  return flutter::DlCanvas::ClipOp::kDifference;
285 }
@ kImpellerClipOperationIntersect
Definition: impeller.h:324
@ kImpellerClipOperationDifference
Definition: impeller.h:323

References kImpellerClipOperationDifference, and kImpellerClipOperationIntersect.

◆ ToImpellerType() [10/11]

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

Definition at line 267 of file formats.h.

267  {
268  switch (type) {
270  return FillType::kNonZero;
272  return FillType::kOdd;
273  }
274  return FillType::kNonZero;
275 }
GLenum type
@ kImpellerFillTypeOdd
Definition: impeller.h:319
@ kImpellerFillTypeNonZero
Definition: impeller.h:318

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

◆ ToImpellerType() [11/11]

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

Definition at line 396 of file formats.h.

396  {
397  switch (format) {
399  return PixelFormat::kR8G8B8A8UNormInt;
400  }
401  return PixelFormat::kR8G8B8A8UNormInt;
402 }
@ kImpellerPixelFormatRGBA8888
Definition: impeller.h:378

References kImpellerPixelFormatRGBA8888, and impeller::kR8G8B8A8UNormInt.

◆ ToSkiaType() [1/7]

◆ ToSkiaType() [2/7]

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

Definition at line 33 of file formats.h.

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

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

◆ ToSkiaType() [3/7]

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

Definition at line 41 of file formats.h.

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

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

◆ ToSkiaType() [4/7]

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

Definition at line 189 of file formats.h.

189  {
190  using Corner = SkRRect::Corner;
191  SkVector sk_radii[4];
192  sk_radii[Corner::kUpperLeft_Corner] = ToSkiaVector(radii.top_left);
193  sk_radii[Corner::kUpperRight_Corner] = ToSkiaVector(radii.top_right);
194  sk_radii[Corner::kLowerRight_Corner] = ToSkiaVector(radii.bottom_right);
195  sk_radii[Corner::kLowerLeft_Corner] = ToSkiaVector(radii.bottom_left);
196  SkRRect result;
197  result.setRectRadii(ToSkiaType(rect), sk_radii);
198  return result;
199 }
SkRRect ToSkiaType(const Rect &rect, const RoundingRadii &radii)
Definition: formats.h:189
constexpr SkVector ToSkiaVector(const Size &point)
Definition: formats.h:37

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

◆ ToSkiaType() [5/7]

template<class SkiaType , class OtherType >
std::vector<SkiaType> impeller::interop::ToSkiaType ( const std::vector< OtherType > &  other_vec)

Definition at line 68 of file formats.h.

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

References ToSkiaType().

◆ ToSkiaType() [6/7]

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

Definition at line 49 of file formats.h.

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

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

◆ ToSkiaType() [7/7]

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

Definition at line 59 of file formats.h.

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

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

◆ ToSkiaVector()

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

Definition at line 37 of file formats.h.

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

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

Referenced by ToSkiaType().

◆ ToSkMatrix()

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

Definition at line 85 of file formats.h.

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

References impeller::Matrix::m.

◆ ToTxtType() [1/4]

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

Definition at line 454 of file formats.h.

454  {
455  switch (style) {
457  return txt::FontStyle::normal;
459  return txt::FontStyle::italic;
460  }
461  return txt::FontStyle::normal;
462 }
@ kImpellerFontStyleItalic
Definition: impeller.h:420
@ kImpellerFontStyleNormal
Definition: impeller.h:419

References kImpellerFontStyleItalic, and kImpellerFontStyleNormal.

◆ ToTxtType() [2/4]

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

Definition at line 430 of file formats.h.

430  {
431  switch (weight) {
433  return txt::FontWeight::w100;
435  return txt::FontWeight::w200;
437  return txt::FontWeight::w300;
439  return txt::FontWeight::w400;
441  return txt::FontWeight::w500;
443  return txt::FontWeight::w600;
445  return txt::FontWeight::w700;
447  return txt::FontWeight::w800;
449  return txt::FontWeight::w900;
450  }
451  return txt::FontWeight::w400;
452 }
@ kImpellerFontWeight400
Definition: impeller.h:410
@ kImpellerFontWeight500
Definition: impeller.h:411
@ kImpellerFontWeight700
Definition: impeller.h:413
@ kImpellerFontWeight200
Definition: impeller.h:408
@ kImpellerFontWeight300
Definition: impeller.h:409
@ kImpellerFontWeight900
Definition: impeller.h:415
@ kImpellerFontWeight800
Definition: impeller.h:414
@ kImpellerFontWeight600
Definition: impeller.h:412
@ kImpellerFontWeight100
Definition: impeller.h:407

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

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

◆ ToTxtType() [3/4]

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

Definition at line 464 of file formats.h.

464  {
465  switch (align) {
467  return txt::TextAlign::left;
469  return txt::TextAlign::right;
471  return txt::TextAlign::center;
473  return txt::TextAlign::justify;
475  return txt::TextAlign::start;
477  return txt::TextAlign::end;
478  }
479  return txt::TextAlign::left;
480 }
@ kImpellerTextAlignmentJustify
Definition: impeller.h:427
@ kImpellerTextAlignmentLeft
Definition: impeller.h:424
@ kImpellerTextAlignmentCenter
Definition: impeller.h:426
@ kImpellerTextAlignmentRight
Definition: impeller.h:425
@ kImpellerTextAlignmentStart
Definition: impeller.h:428
@ kImpellerTextAlignmentEnd
Definition: impeller.h:429

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

◆ ToTxtType() [4/4]

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

Definition at line 482 of file formats.h.

482  {
483  switch (direction) {
485  return txt::TextDirection::rtl;
487  return txt::TextDirection::ltr;
488  }
489  return txt::TextDirection::ltr;
490 }
@ kImpellerTextDirectionLTR
Definition: impeller.h:434
@ kImpellerTextDirectionRTL
Definition: impeller.h:433

References kImpellerTextDirectionLTR, and kImpellerTextDirectionRTL.