mirror of https://github.com/Chlumsky/msdfgen.git
Add additional size assertions for msdfgen::Range and use pointer magic to convert msdf_range_t into msdfgen::Range
This commit is contained in:
parent
f041dd492c
commit
df74428a86
|
|
@ -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<float>;
|
||||
using SDFBitmapRef = msdfgen::BitmapRef<float>;
|
||||
|
|
@ -570,8 +571,7 @@ int msdf_generate_sdf(msdf_bitmap_t* output, msdf_shape_handle shape, const msdf
|
|||
}
|
||||
const msdfgen::Projection projection(*reinterpret_cast<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
msdfgen::generateSDF(*static_cast<SDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
msdfgen::generatePSDF(*static_cast<PSDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
msdfgen::generateMSDF(*static_cast<MSDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
msdfgen::generateMTSDF(*static_cast<MTSDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
const msdfgen::GeneratorConfig actual_config(config->overlap_support == MSDF_TRUE);
|
||||
msdfgen::generateSDF(*static_cast<SDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
const msdfgen::GeneratorConfig actual_config(config->overlap_support == MSDF_TRUE);
|
||||
msdfgen::generatePSDF(*static_cast<PSDFBitmap*>(output->handle), *reinterpret_cast<const msdfgen::Shape*>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
const msdfgen::ErrorCorrectionConfig error_correction_config(
|
||||
static_cast<msdfgen::ErrorCorrectionConfig::Mode>(config->mode),
|
||||
static_cast<msdfgen::ErrorCorrectionConfig::DistanceCheckMode>(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<const msdfgen::Vector2*>(&transform->scale),
|
||||
*reinterpret_cast<const msdfgen::Vector2*>(&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<const msdfgen::Range*>(&transform->distance_mapping));
|
||||
const msdfgen::ErrorCorrectionConfig error_correction_config(
|
||||
static_cast<msdfgen::ErrorCorrectionConfig::Mode>(config->mode),
|
||||
static_cast<msdfgen::ErrorCorrectionConfig::DistanceCheckMode>(config->distance_check_mode), config->min_deviation_ratio,
|
||||
|
|
|
|||
Loading…
Reference in New Issue