summaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2025-03-19 18:19:31 +0100
committerj-p <jp_bruyere@hotmail.com>2025-03-24 19:12:00 +0100
commit1f23dd482f4236f9a9758a9bf2ecd9642c0a2c93 (patch)
treecebb0ac383e6f1b5e665da4f6cff5dd10fbed3d3
parent14caaa8a1e95b537902568b2c103c2c949a1a80c (diff)
rgb color conversion with byte mask
-rw-r--r--src/vkvg_context_internal.c4
-rw-r--r--src/vkvg_context_internal.h4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/vkvg_context_internal.c b/src/vkvg_context_internal.c
index 7b549cd..90a0b54 100644
--- a/src/vkvg_context_internal.c
+++ b/src/vkvg_context_internal.c
@@ -1933,8 +1933,8 @@ void _draw_full_screen_quad(VkvgContext ctx, vec4 *scissor) {
_ensure_vertex_cache_size(ctx, 3);
_add_vertexf_unchecked(ctx, -1, -1);
- _add_vertexf_unchecked(ctx, 3, -1);
- _add_vertexf_unchecked(ctx, -1, 3);
+ _add_vertexf_unchecked(ctx, 3, -1);
+ _add_vertexf_unchecked(ctx, -1, 3);
ctx->curVertOffset = ctx->vertCount;
diff --git a/src/vkvg_context_internal.h b/src/vkvg_context_internal.h
index 79af73c..6382c1f 100644
--- a/src/vkvg_context_internal.h
+++ b/src/vkvg_context_internal.h
@@ -56,10 +56,10 @@
#define FULLSCREEN_BIT 0x10000000
#define SRCTYPE_MASK 0x000000FF
-#define CreateRgba(r, g, b, a) ((a << 24) | (r << 16) | (g << 8) | b)
+#define CreateRgba(r, g, b, a) (((a&0xFF) << 24) | ((r&0xFF) << 16) | ((g&0xFF) << 8) | b)
#ifdef VKVG_PREMULT_ALPHA
#define CreateRgbaf(r, g, b, a) \
- (((int)(a * 255.0f) << 24) | ((int)(b * a * 255.0f) << 16) | ((int)(g * a * 255.0f) << 8) | (int)(r * a * 255.0f))
+ ((((uint32_t)(a * 255.0f)&0xFF) << 24) | (((uint32_t)(b * a * 255.0f)&0xFF) << 16) | (((uint32_t)(g * a * 255.0f)&0xFF) << 8) | ((uint32_t)(r * a * 255.0f)&0xFF))
#else
#define CreateRgbaf(r, g, b, a) \
(((int)(a * 255.0f) << 24) | ((int)(b * 255.0f) << 16) | ((int)(g * 255.0f) << 8) | (int)(r * 255.0f))