This repository has been archived on 2022-05-21. You can view files and clone it, but cannot push or open issues or pull requests.
LEFTONE/util/glyphas/cache.h

48 lines
881 B
C
Raw Permalink Normal View History

#pragma once
#include <stdint.h>
#include "util/gleasy/atlas.h"
#include "./face.h"
#include "./glyph.h"
typedef struct {
uint32_t unicode;
int32_t width;
int32_t height;
gleasy_atlas_geometry_t geometry;
glyphas_glyph_metrics_t hmetrics;
glyphas_glyph_metrics_t vmetrics;
} glyphas_cache_glyph_t;
struct glyphas_cache_t;
typedef struct glyphas_cache_t glyphas_cache_t;
glyphas_cache_t*
glyphas_cache_new(
gleasy_atlas_t* atlas,
glyphas_face_t* face,
int32_t char_width,
int32_t char_height
);
void
glyphas_cache_delete(
glyphas_cache_t* cache
);
const glyphas_cache_glyph_t* /* NULLABLE */
glyphas_cache_add_glyph(
glyphas_cache_t* cache,
uint32_t unicode
);
const glyphas_cache_glyph_t* /* NULLABLE */
glyphas_cache_lookup_glyph(
const glyphas_cache_t* cache,
uint32_t unicode
);