mirror of
https://github.com/Ed94/VEFontCache-Odin.git
synced 2025-08-06 06:52:44 -07:00
Got the demo to show text again (but with lots of errors)
This commit is contained in:
@@ -155,13 +155,15 @@ draw_text_string_pos_norm :: proc( content : string, font : Font_ID, size : f32,
|
|||||||
color_norm := normalize_rgba8(color)
|
color_norm := normalize_rgba8(color)
|
||||||
def := demo_ctx.font_ids[ font.label ]
|
def := demo_ctx.font_ids[ font.label ]
|
||||||
|
|
||||||
|
size := size > 2.0 ? size : f32(def.default_size)
|
||||||
|
|
||||||
ve.draw_text_normalized_space( & demo_ctx.ve_ctx,
|
ve.draw_text_normalized_space( & demo_ctx.ve_ctx,
|
||||||
def.ve_id,
|
def.ve_id,
|
||||||
size,
|
size,
|
||||||
color_norm,
|
color_norm,
|
||||||
demo_ctx.screen_size,
|
demo_ctx.screen_size,
|
||||||
pos,
|
pos,
|
||||||
scale,
|
scale * 1 / demo_ctx.screen_size,
|
||||||
1.0,
|
1.0,
|
||||||
content
|
content
|
||||||
)
|
)
|
||||||
@@ -224,6 +226,7 @@ sokol_gfx_free :: proc "c" ( data : rawptr, user_data : rawptr ) {
|
|||||||
free(data, allocator = context.allocator )
|
free(data, allocator = context.allocator )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
init :: proc "c" ()
|
init :: proc "c" ()
|
||||||
{
|
{
|
||||||
context = runtime.default_context()
|
context = runtime.default_context()
|
||||||
@@ -278,7 +281,7 @@ init :: proc "c" ()
|
|||||||
path_firacode := strings.concatenate({ PATH_FONTS, "FiraCode-Regular.ttf" })
|
path_firacode := strings.concatenate({ PATH_FONTS, "FiraCode-Regular.ttf" })
|
||||||
|
|
||||||
demo_ctx.font_logo = font_load(path_sawarabi_mincho, 330.0, "SawarabiMincho", 6 )
|
demo_ctx.font_logo = font_load(path_sawarabi_mincho, 330.0, "SawarabiMincho", 6 )
|
||||||
demo_ctx.font_title = font_load(path_open_sans, 92.0, "OpenSans", 12 )
|
demo_ctx.font_title = font_load(path_open_sans, 92.0, "OpenSans", 6 )
|
||||||
demo_ctx.font_print = font_load(path_noto_sans_jp, 19.0, "NotoSansJP")
|
demo_ctx.font_print = font_load(path_noto_sans_jp, 19.0, "NotoSansJP")
|
||||||
demo_ctx.font_mono = font_load(path_ubuntu_mono, 21.0, "UbuntuMono")
|
demo_ctx.font_mono = font_load(path_ubuntu_mono, 21.0, "UbuntuMono")
|
||||||
demo_ctx.font_small = font_load(path_roboto, 10.0, "Roboto")
|
demo_ctx.font_small = font_load(path_roboto, 10.0, "Roboto")
|
||||||
@@ -295,7 +298,7 @@ init :: proc "c" ()
|
|||||||
demo_ctx.font_demo_raincode = font_load(path_noto_sans_jp_reg, 20.0, "NotoSansJPRegular")
|
demo_ctx.font_demo_raincode = font_load(path_noto_sans_jp_reg, 20.0, "NotoSansJPRegular")
|
||||||
demo_ctx.font_demo_grid2 = font_load(path_noto_serif_sc, 54.0, "NotoSerifSC")
|
demo_ctx.font_demo_grid2 = font_load(path_noto_serif_sc, 54.0, "NotoSerifSC")
|
||||||
demo_ctx.font_demo_grid3 = font_load(path_bitter, 44.0, "Bitter")
|
demo_ctx.font_demo_grid3 = font_load(path_bitter, 44.0, "Bitter")
|
||||||
demo_ctx.font_firacode = font_load(path_firacode, 16.0, "FiraCode", 12 )
|
demo_ctx.font_firacode = font_load(path_firacode, 16.0, "FiraCode", 3 )
|
||||||
}
|
}
|
||||||
|
|
||||||
event :: proc "c" (sokol_event : ^app.Event)
|
event :: proc "c" (sokol_event : ^app.Event)
|
||||||
|
@@ -177,8 +177,8 @@ startup :: proc( ctx : ^Context, parser_kind : Parser_Kind = .STB_TrueType, // N
|
|||||||
glyph_draw_params := Init_Glyph_Draw_Params_Default,
|
glyph_draw_params := Init_Glyph_Draw_Params_Default,
|
||||||
shape_cache_params := Init_Shape_Cache_Params_Default,
|
shape_cache_params := Init_Shape_Cache_Params_Default,
|
||||||
shaper_params := Init_Shaper_Params_Default,
|
shaper_params := Init_Shaper_Params_Default,
|
||||||
alpha_sharpen : f32 = 0.1,
|
alpha_sharpen : f32 = 0.0,
|
||||||
px_scalar : f32 = 1.89,
|
px_scalar : f32 = 1,
|
||||||
|
|
||||||
// Curve quality to use for a font when unspecified,
|
// Curve quality to use for a font when unspecified,
|
||||||
// Affects step size for bezier curve passes in generate_glyph_pass_draw_list
|
// Affects step size for bezier curve passes in generate_glyph_pass_draw_list
|
||||||
@@ -571,46 +571,46 @@ Zoom : Used with a draw procedure that uses scaling via zoom, will scale the
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
@(deferred_in = auto_pop_font)
|
@(deferred_in = auto_pop_font)
|
||||||
scope_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); append(& ctx.stack.font, font ) }
|
scope_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); append(& ctx.stack.font, font ) }
|
||||||
push_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); append(& ctx.stack.font, font ) }
|
push_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); append(& ctx.stack.font, font ) }
|
||||||
pop_font :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.font) }
|
pop_font :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.font) }
|
||||||
auto_pop_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); pop(& ctx.stack.font) }
|
auto_pop_font :: #force_inline proc( ctx : ^Context, font : Font_ID ) { assert(ctx != nil); pop(& ctx.stack.font) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_font_size)
|
@(deferred_in = auto_pop_font_size)
|
||||||
scope_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); append(& ctx.stack.font_size, px_size) }
|
scope_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); append(& ctx.stack.font_size, px_size) }
|
||||||
push_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); append(& ctx.stack.font_size, px_size) }
|
push_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); append(& ctx.stack.font_size, px_size) }
|
||||||
pop_font_size :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.font_size) }
|
pop_font_size :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.font_size) }
|
||||||
auto_pop_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); pop(& ctx.stack.font_size) }
|
auto_pop_font_size :: #force_inline proc( ctx : ^Context, px_size : f32 ) { assert(ctx != nil); pop(& ctx.stack.font_size) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_colour )
|
@(deferred_in = auto_pop_colour )
|
||||||
scope_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); append(& ctx.stack.colour, colour) }
|
scope_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); append(& ctx.stack.colour, colour) }
|
||||||
push_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); append(& ctx.stack.colour, colour) }
|
push_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); append(& ctx.stack.colour, colour) }
|
||||||
pop_colour :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.colour) }
|
pop_colour :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.colour) }
|
||||||
auto_pop_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); pop(& ctx.stack.colour) }
|
auto_pop_colour :: #force_inline proc( ctx : ^Context, colour : RGBAN ) { assert(ctx != nil); pop(& ctx.stack.colour) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_view)
|
@(deferred_in = auto_pop_view)
|
||||||
scope_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); append(& ctx.stack.view, view) }
|
scope_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); append(& ctx.stack.view, view) }
|
||||||
push_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); append(& ctx.stack.view, view) }
|
push_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); append(& ctx.stack.view, view) }
|
||||||
pop_view :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.view) }
|
pop_view :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop(& ctx.stack.view) }
|
||||||
auto_pop_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); pop(& ctx.stack.view) }
|
auto_pop_view :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); pop(& ctx.stack.view) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_position)
|
@(deferred_in = auto_pop_position)
|
||||||
scope_position :: #force_inline proc( ctx : ^Context, position : Vec2 ) { assert(ctx != nil); append(& ctx.stack.position, position ) }
|
scope_position :: #force_inline proc( ctx : ^Context, position : Vec2 ) { assert(ctx != nil); append(& ctx.stack.position, position ) }
|
||||||
push_position :: #force_inline proc( ctx : ^Context, position : Vec2 ) { assert(ctx != nil); append(& ctx.stack.position, position ) }
|
push_position :: #force_inline proc( ctx : ^Context, position : Vec2 ) { assert(ctx != nil); append(& ctx.stack.position, position ) }
|
||||||
pop_position :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop( & ctx.stack.position) }
|
pop_position :: #force_inline proc( ctx : ^Context ) { assert(ctx != nil); pop( & ctx.stack.position) }
|
||||||
auto_pop_position :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); pop( & ctx.stack.position) }
|
auto_pop_position :: #force_inline proc( ctx : ^Context, view : Vec2 ) { assert(ctx != nil); pop( & ctx.stack.position) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_scale)
|
@(deferred_in = auto_pop_scale)
|
||||||
scope_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); append(& ctx.stack.scale, scale ) }
|
scope_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); append(& ctx.stack.scale, scale ) }
|
||||||
push_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); append(& ctx.stack.scale, scale ) }
|
push_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); append(& ctx.stack.scale, scale ) }
|
||||||
pop_scale :: #force_inline proc( ctx : ^Context, ) { assert(ctx != nil); pop(& ctx.stack.scale) }
|
pop_scale :: #force_inline proc( ctx : ^Context, ) { assert(ctx != nil); pop(& ctx.stack.scale) }
|
||||||
auto_pop_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); pop(& ctx.stack.scale) }
|
auto_pop_scale :: #force_inline proc( ctx : ^Context, scale : Vec2 ) { assert(ctx != nil); pop(& ctx.stack.scale) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_zoom )
|
@(deferred_in = auto_pop_zoom )
|
||||||
scope_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { append(& ctx.stack.zoom, zoom ) }
|
scope_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { append(& ctx.stack.zoom, zoom ) }
|
||||||
push_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { append(& ctx.stack.zoom, zoom) }
|
push_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { append(& ctx.stack.zoom, zoom) }
|
||||||
pop_zoom :: #force_inline proc( ctx : ^Context ) { pop(& ctx.stack.zoom) }
|
pop_zoom :: #force_inline proc( ctx : ^Context ) { pop(& ctx.stack.zoom) }
|
||||||
auto_pop_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { pop(& ctx.stack.zoom) }
|
auto_pop_zoom :: #force_inline proc( ctx : ^Context, zoom : f32 ) { pop(& ctx.stack.zoom) }
|
||||||
|
|
||||||
@(deferred_in = auto_pop_vpz)
|
@(deferred_in = auto_pop_vpz)
|
||||||
scope_vpz :: #force_inline proc( ctx : ^Context, camera : VPZ_Transform ) {
|
scope_vpz :: #force_inline proc( ctx : ^Context, camera : VPZ_Transform ) {
|
||||||
|
Reference in New Issue
Block a user