[wasm-api] Match interface and implementation signatures

This commit is contained in:
Behdad Esfahbod 2023-02-24 12:42:22 -07:00
parent fea3ffe031
commit 39f8703df1
6 changed files with 64 additions and 83 deletions

View File

@ -31,9 +31,8 @@ namespace hb {
namespace wasm {
void
blob_free (HB_WASM_EXEC_ENV
ptr_d(blob_t, blob))
HB_WASM_API (void, blob_free) (HB_WASM_EXEC_ENV
ptr_d(blob_t, blob))
{
HB_OUT_PARAM (blob_t, blob);
if (unlikely (!blob))

View File

@ -35,26 +35,9 @@ namespace wasm {
static_assert (sizeof (glyph_info_t) == sizeof (hb_glyph_info_t), "");
static_assert (sizeof (glyph_position_t) == sizeof (hb_glyph_position_t), "");
void
buffer_contents_free (HB_WASM_EXEC_ENV
ptr_d(buffer_contents_t, contents))
{
HB_OUT_PARAM (buffer_contents_t, contents);
if (unlikely (!contents))
return;
module_free (contents->info);
module_free (contents->pos);
contents->info = nullref;
contents->pos = nullref;
contents->length = 0;
}
void
buffer_contents_realloc (HB_WASM_EXEC_ENV
ptr_d(buffer_contents_t, contents),
uint32_t size)
HB_WASM_API (void, buffer_contents_realloc) (HB_WASM_EXEC_ENV
ptr_d(buffer_contents_t, contents),
uint32_t size)
{
HB_OUT_PARAM (buffer_contents_t, contents);
if (unlikely (!contents))
@ -83,9 +66,23 @@ void
contents->length = size;
}
void
buffer_copy_contents (HB_WASM_EXEC_ENV_COMPOUND
ptr_d(buffer_t, buffer))
HB_WASM_API (void, buffer_contents_free) (HB_WASM_EXEC_ENV
ptr_d(buffer_contents_t, contents))
{
HB_OUT_PARAM (buffer_contents_t, contents);
if (unlikely (!contents))
return;
module_free (contents->info);
module_free (contents->pos);
contents->info = nullref;
contents->pos = nullref;
contents->length = 0;
}
HB_WASM_API_COMPOUND (buffer_contents_t, buffer_copy_contents) (HB_WASM_EXEC_ENV_COMPOUND
ptr_d(buffer_t, buffer))
{
HB_RETURN_STRUCT (buffer_contents_t, ret);
HB_REF2OBJ (buffer);
@ -99,10 +96,9 @@ buffer_copy_contents (HB_WASM_EXEC_ENV_COMPOUND
ret.pos = wasm_runtime_module_dup_data (module_inst, (const char *) buffer->pos, length * sizeof (buffer->pos[0]));
}
bool_t
buffer_set_contents (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer),
ptr_d(const buffer_contents_t, contents))
HB_WASM_API (bool_t, buffer_set_contents) (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer),
ptr_d(const buffer_contents_t, contents))
{
HB_REF2OBJ (buffer);
HB_OUT_PARAM (buffer_contents_t, contents);
@ -128,27 +124,24 @@ buffer_set_contents (HB_WASM_EXEC_ENV
return true;
}
direction_t
buffer_get_direction (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
HB_WASM_API (direction_t, buffer_get_direction) (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
{
HB_REF2OBJ (buffer);
return (direction_t) hb_buffer_get_direction (buffer);
}
void
buffer_reverse (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
HB_WASM_API (void, buffer_reverse) (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
{
HB_REF2OBJ (buffer);
hb_buffer_reverse (buffer);
}
void
buffer_reverse_clusters (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
HB_WASM_API (void, buffer_reverse_clusters) (HB_WASM_EXEC_ENV
ptr_d(buffer_t, buffer))
{
HB_REF2OBJ (buffer);

View File

@ -31,10 +31,9 @@ namespace hb {
namespace wasm {
void
face_reference_table (HB_WASM_EXEC_ENV_COMPOUND
ptr_d(face_t, face),
tag_t table_tag)
HB_WASM_API_COMPOUND (blob_t, face_reference_table) (HB_WASM_EXEC_ENV_COMPOUND
ptr_d(face_t, face),
tag_t table_tag)
{
HB_RETURN_STRUCT (blob_t, ret);
HB_REF2OBJ (face);
@ -50,9 +49,8 @@ face_reference_table (HB_WASM_EXEC_ENV_COMPOUND
hb_blob_destroy (blob);
}
unsigned
face_get_upem (HB_WASM_EXEC_ENV
ptr_d(face_t, face))
HB_WASM_API (unsigned, face_get_upem) (HB_WASM_EXEC_ENV
ptr_d(face_t, face))
{
HB_REF2OBJ (face);

View File

@ -31,9 +31,8 @@ namespace hb {
namespace wasm {
ptr_t(face_t)
font_get_face (HB_WASM_EXEC_ENV
ptr_d(font_t, font))
HB_WASM_API (ptr_t(face_t), font_get_face) (HB_WASM_EXEC_ENV
ptr_d(font_t, font))
{
HB_REF2OBJ (font);
@ -43,11 +42,10 @@ font_get_face (HB_WASM_EXEC_ENV
return faceref;
}
void
font_get_scale (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
ptr_d(int32_t, x_scale),
ptr_d(int32_t, y_scale))
HB_WASM_API (void, font_get_scale) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
ptr_d(int32_t, x_scale),
ptr_d(int32_t, y_scale))
{
HB_REF2OBJ (font);
@ -57,11 +55,10 @@ font_get_scale (HB_WASM_EXEC_ENV
hb_font_get_scale (font, x_scale, y_scale);
}
codepoint_t
font_get_glyph (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t unicode,
codepoint_t variation_selector)
HB_WASM_API (codepoint_t, font_get_glyph) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t unicode,
codepoint_t variation_selector)
{
HB_REF2OBJ (font);
codepoint_t glyph;
@ -70,19 +67,17 @@ font_get_glyph (HB_WASM_EXEC_ENV
return glyph;
}
hb_position_t
font_get_glyph_h_advance (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph)
HB_WASM_API (position_t, font_get_glyph_h_advance) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph)
{
HB_REF2OBJ (font);
return hb_font_get_glyph_h_advance (font, glyph);
}
hb_position_t
font_get_glyph_v_advance (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph)
HB_WASM_API (position_t, font_get_glyph_v_advance) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph)
{
HB_REF2OBJ (font);
return hb_font_get_glyph_v_advance (font, glyph);
@ -90,11 +85,10 @@ font_get_glyph_v_advance (HB_WASM_EXEC_ENV
static_assert (sizeof (glyph_extents_t) == sizeof (hb_glyph_extents_t), "");
bool_t
font_get_glyph_extents (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph,
ptr_d(glyph_extents_t, extents))
HB_WASM_API (bool_t, font_get_glyph_extents) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph,
ptr_d(glyph_extents_t, extents))
{
HB_REF2OBJ (font);
HB_OUT_PARAM (glyph_extents_t, extents);
@ -105,11 +99,10 @@ font_get_glyph_extents (HB_WASM_EXEC_ENV
(hb_glyph_extents_t *) extents);
}
void
font_glyph_to_string (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph,
char *s, uint32_t size)
HB_WASM_API (void, font_glyph_to_string) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
codepoint_t glyph,
char *s, uint32_t size)
{
HB_REF2OBJ (font);

View File

@ -31,11 +31,10 @@ namespace hb {
namespace wasm {
bool_t
shape_with (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
ptr_d(buffer_t, buffer),
const char *shaper)
HB_WASM_INTERFACE (bool_t, shape_with) (HB_WASM_EXEC_ENV
ptr_d(font_t, font),
ptr_d(buffer_t, buffer),
const char *shaper)
{
HB_REF2OBJ (font);
HB_REF2OBJ (buffer);

View File

@ -43,7 +43,6 @@
#include "hb-wasm-api.h"
#undef HB_WASM_API
#undef HB_WASM_BEGIN_DECLS
#undef HB_WASM_END_DECLS