Changes while attempting to debug
This commit is contained in:
@ -16,6 +16,7 @@ Changes:
|
||||
package VEFontCache
|
||||
|
||||
import "core:math"
|
||||
import "core:mem"
|
||||
|
||||
Advance_Snap_Smallfont_Size :: 12
|
||||
|
||||
@ -388,6 +389,7 @@ load_font :: proc( ctx : ^Context, label : string, data : []byte, size_px : f32
|
||||
size_scale = size_px < 0.0 ? \
|
||||
parser_scale_for_pixel_height( & parser_info, -size_px ) \
|
||||
: parser_scale_for_mapping_em_to_pixels( & parser_info, size_px )
|
||||
// size_scale = 1.0
|
||||
|
||||
used = true
|
||||
|
||||
@ -435,20 +437,20 @@ cache_glyph :: proc( ctx : ^Context, font : FontID, glyph_index : Glyph, scale,
|
||||
|
||||
if ctx.debug_print_verbose
|
||||
{
|
||||
log( "shape: \n")
|
||||
log( "shape:")
|
||||
for vertex in shape
|
||||
{
|
||||
if vertex.type == .Move {
|
||||
logf("move_to %d %d\n", vertex.x, vertex.y )
|
||||
logf("move_to %d %d", vertex.x, vertex.y )
|
||||
}
|
||||
else if vertex.type == .Line {
|
||||
logf("line_to %d %d\n", vertex.x, vertex.y )
|
||||
logf("line_to %d %d", vertex.x, vertex.y )
|
||||
}
|
||||
else if vertex.type == .Curve {
|
||||
logf("curve_to %d %d through %d %d\n", vertex.x, vertex.y, vertex.contour_x0, vertex.contour_y0 )
|
||||
logf("curve_to %d %d through %d %d", vertex.x, vertex.y, vertex.contour_x0, vertex.contour_y0 )
|
||||
}
|
||||
else if vertex.type == .Cubic {
|
||||
logf("cubic_to %d %d through %d %d and %d %d\n",
|
||||
logf("cubic_to %d %d through %d %d and %d %d",
|
||||
vertex.x, vertex.y,
|
||||
vertex.contour_x0, vertex.contour_y0,
|
||||
vertex.contour_x1, vertex.contour_y1 )
|
||||
@ -668,10 +670,10 @@ shape_text_cached :: proc( ctx : ^Context, font : FontID, text_utf8 : string ) -
|
||||
{
|
||||
ELFhash64 :: proc( hash : ^u64, ptr : ^( $Type), count := 1 )
|
||||
{
|
||||
x := u64(0)
|
||||
bytes = transmute( [^]byte) ptr
|
||||
x := u64(0)
|
||||
bytes := transmute( [^]byte) ptr
|
||||
for index : i32 = 0; index < i32( size_of(Type)); index += 1 {
|
||||
(hash^) = ((hash^) << 4 ) + bytes[index]
|
||||
(hash^) = ((hash^) << 4 ) + u64(bytes[index])
|
||||
x = (hash^) & 0xF000000000000000
|
||||
if x != 0 {
|
||||
(hash^) ~= (x >> 24)
|
||||
@ -679,7 +681,13 @@ shape_text_cached :: proc( ctx : ^Context, font : FontID, text_utf8 : string ) -
|
||||
(hash^) &= ~x
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
font := font
|
||||
hash := cast(u64) 0x9f8e00d51d263c24;
|
||||
ELFhash64( & hash, raw_data(transmute([]u8) text_utf8), len(text_utf8) )
|
||||
ELFhash64( & hash, & font )
|
||||
|
||||
shape_cache := & ctx.shape_cache
|
||||
state := & ctx.shape_cache.state
|
||||
|
||||
|
Reference in New Issue
Block a user