diff --git a/core/msdfgen_c.cpp b/core/msdfgen_c.cpp index 434108c..bb15d9a 100644 --- a/core/msdfgen_c.cpp +++ b/core/msdfgen_c.cpp @@ -29,6 +29,7 @@ namespace { static_assert(sizeof(msdfgen::Point2) == sizeof(msdfgen::Vector2)); static_assert(sizeof(msdfgen::Vector2) == sizeof(msdf_vector2_t)); + static_assert(sizeof(msdfgen::Range) == sizeof(msdfgen::Point2)); using SDFBitmap = msdfgen::Bitmap; using SDFBitmapRef = msdfgen::BitmapRef; @@ -570,8 +571,7 @@ int msdf_generate_sdf(msdf_bitmap_t* output, msdf_shape_handle shape, const msdf } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); msdfgen::generateSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform); return MSDF_SUCCESS; } @@ -585,8 +585,7 @@ int msdf_generate_psdf(msdf_bitmap_t* output, msdf_shape_handle shape, const msd } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); msdfgen::generatePSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform); return MSDF_SUCCESS; } @@ -600,8 +599,7 @@ int msdf_generate_msdf(msdf_bitmap_t* output, msdf_shape_handle shape, const msd } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); msdfgen::generateMSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform); return MSDF_SUCCESS; } @@ -615,8 +613,7 @@ int msdf_generate_mtsdf(msdf_bitmap_t* output, msdf_shape_handle shape, const ms } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); msdfgen::generateMTSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform); return MSDF_SUCCESS; } @@ -633,8 +630,7 @@ int msdf_generate_sdf_with_config(msdf_bitmap_t* output, } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); const msdfgen::GeneratorConfig actual_config(config->overlap_support == MSDF_TRUE); msdfgen::generateSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform, actual_config); @@ -653,8 +649,7 @@ int msdf_generate_psdf_with_config(msdf_bitmap_t* output, } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); const msdfgen::GeneratorConfig actual_config(config->overlap_support == MSDF_TRUE); msdfgen::generatePSDF(*static_cast(output->handle), *reinterpret_cast(shape), actual_transform, actual_config); @@ -673,8 +668,7 @@ int msdf_generate_msdf_with_config(msdf_bitmap_t* output, } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); const msdfgen::ErrorCorrectionConfig error_correction_config( static_cast(config->mode), static_cast(config->distance_check_mode), config->min_deviation_ratio, @@ -697,8 +691,7 @@ int msdf_generate_mtsdf_with_config(msdf_bitmap_t* output, } const msdfgen::Projection projection(*reinterpret_cast(&transform->scale), *reinterpret_cast(&transform->translation)); - const msdfgen::Range dist_mapping(transform->distance_mapping.lower, transform->distance_mapping.upper); - const msdfgen::SDFTransformation actual_transform(projection, dist_mapping); + const msdfgen::SDFTransformation actual_transform(projection, *reinterpret_cast(&transform->distance_mapping)); const msdfgen::ErrorCorrectionConfig error_correction_config( static_cast(config->mode), static_cast(config->distance_check_mode), config->min_deviation_ratio,