@@ -49,17 +49,17 @@ internal static class NativeMethods
4949 public static extern void alphaskia_typeface_free ( alphaskia_typeface_t type_face ) ;
5050
5151 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
52- public static extern alphaskia_textstyle_t alphaskia_textstyle_new ( byte family_name_count , string [ ] family_names , ushort weight , byte italic ) ;
52+ public static extern alphaskia_text_style_t alphaskia_text_style_new ( byte family_name_count , string [ ] family_names , ushort weight , byte italic ) ;
5353 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
54- public static extern byte alphaskia_textstyle_get_family_name_count ( alphaskia_textstyle_t textstyle ) ;
54+ public static extern byte alphaskia_text_style_get_family_name_count ( alphaskia_text_style_t text_style ) ;
5555 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
56- public static extern alphaskia_string_t alphaskia_textstyle_get_family_name ( alphaskia_textstyle_t textstyle , byte index ) ;
56+ public static extern alphaskia_string_t alphaskia_text_style_get_family_name ( alphaskia_text_style_t text_style , byte index ) ;
5757 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
58- public static extern ushort alphaskia_textstyle_get_weight ( alphaskia_textstyle_t textstyle ) ;
58+ public static extern ushort alphaskia_text_style_get_weight ( alphaskia_text_style_t text_style ) ;
5959 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
60- public static extern byte alphaskia_textstyle_is_italic ( alphaskia_textstyle_t textstyle ) ;
60+ public static extern byte alphaskia_text_style_is_italic ( alphaskia_text_style_t text_style ) ;
6161 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
62- public static extern void alphaskia_textstyle_free ( alphaskia_textstyle_t textstyle ) ;
62+ public static extern void alphaskia_text_style_free ( alphaskia_text_style_t text_style ) ;
6363
6464 [ DllImport ( AlphaSkiaNativeLibName ) ]
6565 public static extern alphaskia_typeface_t alphaskia_typeface_make_from_name (
@@ -168,15 +168,16 @@ public static extern void alphaskia_canvas_fill_text(alphaskia_canvas_t canvas,
168168 [ MarshalAs ( UnmanagedType . LPWStr ) ]
169169 string text ,
170170 int text_length ,
171- alphaskia_textstyle_t textstyle , float font_size , float x , float y , AlphaSkiaTextAlign text_align ,
171+ alphaskia_text_style_t text_style , float font_size , float x , float y , AlphaSkiaTextAlign text_align ,
172172 AlphaSkiaTextBaseline baseline ) ;
173173
174174 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
175- public static extern float alphaskia_canvas_measure_text ( alphaskia_canvas_t canvas ,
175+ public static extern alphaskia_text_metrics_t alphaskia_canvas_measure_text ( alphaskia_canvas_t canvas ,
176176 [ MarshalAs ( UnmanagedType . LPWStr ) ]
177177 string text ,
178178 int text_length ,
179- alphaskia_textstyle_t textstyle , float font_size ) ;
179+ alphaskia_text_style_t text_style , float font_size , AlphaSkiaTextAlign text_align ,
180+ AlphaSkiaTextBaseline baseline ) ;
180181
181182 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
182183 public static extern void alphaskia_canvas_begin_rotate ( alphaskia_canvas_t canvas , float center_x , float center_y ,
@@ -188,4 +189,43 @@ public static extern void alphaskia_canvas_begin_rotate(alphaskia_canvas_t canva
188189 [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
189190 public static extern void alphaskia_canvas_draw_image ( alphaskia_canvas_t canvas , alphaskia_image_t image , float x ,
190191 float y , float w , float h ) ;
192+
193+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
194+ public static extern float alphaskia_text_metrics_get_width ( alphaskia_text_metrics_t text_metrics ) ;
195+
196+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
197+ public static extern float alphaskia_text_metrics_get_actual_bounding_box_left ( alphaskia_text_metrics_t text_metrics ) ;
198+
199+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
200+ public static extern float alphaskia_text_metrics_get_actual_bounding_box_right ( alphaskia_text_metrics_t text_metrics ) ;
201+
202+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
203+ public static extern float alphaskia_text_metrics_get_font_bounding_box_ascent ( alphaskia_text_metrics_t text_metrics ) ;
204+
205+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
206+ public static extern float alphaskia_text_metrics_get_font_bounding_box_descent ( alphaskia_text_metrics_t text_metrics ) ;
207+
208+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
209+ public static extern float alphaskia_text_metrics_get_actual_bounding_box_ascent ( alphaskia_text_metrics_t text_metrics ) ;
210+
211+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
212+ public static extern float alphaskia_text_metrics_get_actual_bounding_box_descent ( alphaskia_text_metrics_t text_metrics ) ;
213+
214+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
215+ public static extern float alphaskia_text_metrics_get_em_height_ascent ( alphaskia_text_metrics_t text_metrics ) ;
216+
217+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
218+ public static extern float alphaskia_text_metrics_get_em_height_descent ( alphaskia_text_metrics_t text_metrics ) ;
219+
220+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
221+ public static extern float alphaskia_text_metrics_get_hanging_baseline ( alphaskia_text_metrics_t text_metrics ) ;
222+
223+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
224+ public static extern float alphaskia_text_metrics_get_alphabetic_baseline ( alphaskia_text_metrics_t text_metrics ) ;
225+
226+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
227+ public static extern float alphaskia_text_metrics_get_ideographic_baseline ( alphaskia_text_metrics_t text_metrics ) ;
228+
229+ [ DllImport ( AlphaSkiaNativeLibName , CallingConvention = CallingConvention . Cdecl ) ]
230+ public static extern void alphaskia_text_metrics_free ( alphaskia_text_metrics_t text_metrics ) ;
191231}
0 commit comments