summaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorj-p <jp_bruyere@hotmail.com>2026-10-26 08:46:46 +0100
committerGitHub <noreply@github.com>2026-10-26 08:46:46 +0100
commit61887b0627a0777058bfb72836cf3081b6db062b (patch)
treef23bed5fda623da6c173c3fc73e6ce8ff09b0573
parent272db86a1755e87595dc3c2c6f4925c352af3056 (diff)
win compilation, font size in api (#178)
-rw-r--r--gunit_tests/drawTestBase.cpp4
-rw-r--r--include/vkvg.h4
-rw-r--r--samples/tests/text.cpp6
-rw-r--r--src/vkvg_context.c10
-rw-r--r--src/vkvg_context_internal.c4
-rw-r--r--tests/text.c4
6 files changed, 16 insertions, 16 deletions
diff --git a/gunit_tests/drawTestBase.cpp b/gunit_tests/drawTestBase.cpp
index b05710a..472a814 100644
--- a/gunit_tests/drawTestBase.cpp
+++ b/gunit_tests/drawTestBase.cpp
@@ -23,8 +23,8 @@ DrawTestBase::DrawTestBase() {
vkvg_device_create_info_t info{};
info.samples = VK_SAMPLE_COUNT_4_BIT;
- fs::path fontDir = fs::path(GTEST_DATA_ROOT) / "fonts";
- info.fontsDirectories = fontDir.c_str();
+ fs::path fontDir = fs::path(GTEST_DATA_ROOT) / fs::path("fonts");
+ info.fontsDirectories = fontDir.string().c_str();
dev = vkvg_device_create(&info);
}
diff --git a/include/vkvg.h b/include/vkvg.h
index e15eab0..bd6a465 100644
--- a/include/vkvg.h
+++ b/include/vkvg.h
@@ -1710,9 +1710,9 @@ vkvg_public void vkvg_select_font_face(VkvgContext ctx, const char* name);
*
* @param ctx a valid vkvg @ref context
* @param path A valid font file path.
- * @param name A short name to select this font afteward
+ * @param size Font size in point units.
*/
-vkvg_public void vkvg_load_font_from_path(VkvgContext ctx, const char* path, const char* name);
+vkvg_public void vkvg_load_font_from_path(VkvgContext ctx, const char* path, uint32_t size);
/**
* @brief Select a new font by providing a pointer on the font file loaded in memory and its size in byte.
*
diff --git a/samples/tests/text.cpp b/samples/tests/text.cpp
index 3c64586..4eac831 100644
--- a/samples/tests/text.cpp
+++ b/samples/tests/text.cpp
@@ -201,7 +201,7 @@ TEST(text_simple) {
vkvg_paint(ctx);
vkvg_set_source_rgb(ctx, 1, 1, 1);
- vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", "dancing");
+ vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", 30);
print_boxed(ctx, "abcdefghijklmnopqrstuvwxyz", 20, 60, 20);
print_boxed(ctx, "ABC", 20, 160, 60);
vkvg_select_font_face(ctx, "mono");
@@ -217,7 +217,7 @@ TEST(text_font_file_path) {
vkvg_set_source_rgb(ctx, 0, 0, 0);
vkvg_paint(ctx);
vkvg_set_source_rgb(ctx, 1, 1, 1);
- vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", "droid");
+ vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", 30);
print_boxed(ctx, "This is a test string!", 50, 20, 12);
print_boxed(ctx, "This is a test string!", 50, 50, 20);
print_boxed(ctx, "ANOTHER ONE TO CHECK..", 50, 80, 20);
@@ -321,7 +321,7 @@ TEST(text_proto_sinaitic) {
vkvg_paint(ctx);
vkvg_set_source_rgb(ctx, 1, 1, 1);
- vkvg_load_font_from_path(ctx, "data/Proto-Sinaitic15.ttf", "sinaitic");
+ vkvg_load_font_from_path(ctx, "data/Proto-Sinaitic15.ttf", 30);
print_boxed(ctx, "hwhy", 100, 150, 60);
vkvg_destroy(ctx);
diff --git a/src/vkvg_context.c b/src/vkvg_context.c
index de9c75a..1711fbe 100644
--- a/src/vkvg_context.c
+++ b/src/vkvg_context.c
@@ -38,7 +38,7 @@ static const vkvg_context_save_t CTX_INIT = {
};
void _init_ctx(VkvgContext ctx) {
- memcpy((void*)&(ctx->curColor), (void*)&CTX_INIT, (void*)&(ctx->indCount) - (void*)&(ctx->curColor));
+ memcpy((void*)&(ctx->curColor), (void*)&CTX_INIT, (uintptr_t)&(ctx->indCount) - (uintptr_t)&(ctx->curColor));
ctx->cmdStarted = false;
ctx->curClipState = vkvg_clip_state_none;
@@ -1240,11 +1240,11 @@ void vkvg_select_font_face(VkvgContext ctx, const char* name) {
RECORD(ctx, VKVG_CMD_SET_FONT_FACE, name);
vkvg_set_font(ctx, vkvg_font_create(ctx->pSurf, name, 12));
}
-void vkvg_load_font_from_path(VkvgContext ctx, const char* path, const char* name) {
+void vkvg_load_font_from_path(VkvgContext ctx, const char* path, uint32_t size) {
if (vkvg_status(ctx))
return;
RECORD(ctx, VKVG_CMD_SET_FONT_PATH, name);
- vkvg_set_font(ctx, vkvg_font_create_from_file(ctx->pSurf, path, 0, 12));
+ vkvg_set_font(ctx, vkvg_font_create_from_file(ctx->pSurf, path, 0, size));
}
void vkvg_set_font_size(VkvgContext ctx, uint32_t size) {
if (vkvg_status(ctx))
@@ -1375,7 +1375,7 @@ void vkvg_save(VkvgContext ctx) {
else
sav->clippingState = vkvg_clip_state_clear;*/
- memcpy((void*)sav, (void*)&(ctx->curColor), (void*)&(ctx->indCount) - (void*)&(ctx->curColor));
+ memcpy((void*)sav, (void*)&(ctx->curColor), (uintptr_t)&(ctx->indCount) - (uintptr_t)&(ctx->curColor));
sav->curClipRef = ctx->curClipRef;
if (ctx->pattern)
@@ -1448,7 +1448,7 @@ void vkvg_restore(VkvgContext ctx) {
if (ctx->cmdStarted)
CmdSetStencilReference(ctx->cmd, VK_STENCIL_FRONT_AND_BACK, ctx->curClipRef);
- memcpy((void*)&(ctx->curColor), (void*)sav, (void*)&(ctx->pattern) - (void*)&(ctx->curColor));
+ memcpy((void*)&(ctx->curColor), (void*)sav, (uintptr_t)&(ctx->pattern) - (uintptr_t)&(ctx->curColor));
ctx->pushCstDirty = true;
diff --git a/src/vkvg_context_internal.c b/src/vkvg_context_internal.c
index f569cc2..e3cb2ce 100644
--- a/src/vkvg_context_internal.c
+++ b/src/vkvg_context_internal.c
@@ -790,8 +790,8 @@ void _update_cur_pattern(VkvgContext ctx, VkvgPattern pat) {
vkvg_matrix_transform_distance(&ctx->pushConsts.mat, &grad->cp[1].z, &grad->cp[0].w);
}
gradPat->offset = ctx->pSurf->gradCount * sizeof(vkvg_gradient_t);
- memcpy(vkh_buffer_get_mapped_pointer(&ctx->pSurf->uboGrad) + gradPat->offset,
- grad, sizeof(vkvg_gradient_t));
+ uintptr_t targetAddr = (uintptr_t)vkh_buffer_get_mapped_pointer(&ctx->pSurf->uboGrad) + gradPat->offset;
+ memcpy((void*)targetAddr, grad, sizeof(vkvg_gradient_t));
//vkh_buffer_flush(&ctx->pSurf->uboGrad);
if (ctx->cmdStarted)
diff --git a/tests/text.c b/tests/text.c
index d151b53..fda9c4a 100644
--- a/tests/text.c
+++ b/tests/text.c
@@ -260,7 +260,7 @@ void font_file_path() {
vkvg_set_source_rgb(ctx, 0, 0, 0);
vkvg_paint(ctx);
vkvg_set_source_rgb(ctx, 1, 1, 1);
- vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", "droid");
+ vkvg_load_font_from_path(ctx, "data/DancingScript-Regular.ttf", 50);
print_boxed(ctx, "This is a test string!", 50, 20, 12);
print_boxed(ctx, "This is a test string!", 50, 50, 20);
print_boxed(ctx, "ANOTHER ONE TO CHECK..", 50, 80, 20);
@@ -312,7 +312,7 @@ void proto_sinaitic() {
vkvg_paint(ctx);
vkvg_set_source_rgb(ctx, 1, 1, 1);
- vkvg_load_font_from_path(ctx, "data/Proto-Sinaitic15.ttf", "sinaitic");
+ vkvg_load_font_from_path(ctx, "data/Proto-Sinaitic15.ttf", 50);
print_boxed(ctx, "hwhy", 100, 150, 60);
vkvg_destroy(ctx);