--- a/src/2d.c Mon Jul 28 23:11:30 2025 +0200 +++ b/src/2d.c Wed Jul 30 00:12:13 2025 +0200 @@ -91,7 +91,10 @@ const bool border = rectangle->thickness > 0; // Compute shader flags - int flags = asc_create_flags(1, 3, filled, round, border); + int flags = 0; + asc_set_flag_if(flags, ASC_RECTANGLE_SHADER_FLAG_FILL, filled); + asc_set_flag_if(flags, ASC_RECTANGLE_SHADER_FLAG_ROUND, round); + asc_set_flag_if(flags, ASC_RECTANGLE_SHADER_FLAG_BORDER, border); // Look up and activate the shader const AscShaderProgram *shader = asc_shader_lookup_or_create( @@ -222,12 +225,14 @@ const bool border = ellipsis->thickness > 0; // Compute shader flags - int shader_flags = asc_create_flags(1, 2, filled, border); + int flags = 0; + asc_set_flag_if(flags, ASC_ELLIPSIS_SHADER_FLAG_FILL, filled); + asc_set_flag_if(flags, ASC_ELLIPSIS_SHADER_FLAG_BORDER, border); // Look up and activate the shader const AscShaderProgram *shader = asc_shader_lookup_or_create( - ASC_SHADER_ELLIPSIS(shader_flags), - asc_ellipsis_shader_create, shader_flags + ASC_SHADER_ELLIPSIS(flags), + asc_ellipsis_shader_create, flags ); if (asc_shader_use(shader, camera)) return; asc_cptr_cast(AscEllipsisShader, ellipsis_shader, shader);