Blender  V3.3
Classes | Macros | Typedefs | Variables
blf_internal_types.h File Reference
#include "GPU_texture.h"
#include "GPU_vertex_buffer.h"

Go to the source code of this file.

Classes

struct  BatchBLF
 
struct  KerningCacheBLF
 
struct  GlyphCacheBLF
 
struct  GlyphBLF
 
struct  FontBufInfoBLF
 
struct  FontBLF
 
struct  DirBLF
 

Macros

#define BLF_VARIATIONS_MAX   16 /* Maximum variation axes per font. */
 
#define MAKE_DVAR_TAG(a, b, c, d)    (((uint32_t)a << 24u) | ((uint32_t)b << 16u) | ((uint32_t)c << 8u) | ((uint32_t)d))
 
#define blf_variation_axis_weight   MAKE_DVAR_TAG('w', 'g', 'h', 't') /* 'wght' weight axis. */
 
#define blf_variation_axis_slant   MAKE_DVAR_TAG('s', 'l', 'n', 't') /* 'slnt' slant axis. */
 
#define blf_variation_axis_width   MAKE_DVAR_TAG('w', 'd', 't', 'h') /* 'wdth' width axis. */
 
#define blf_variation_axis_spacing   MAKE_DVAR_TAG('s', 'p', 'a', 'c') /* 'spac' spacing axis. */
 
#define blf_variation_axis_optsize   MAKE_DVAR_TAG('o', 'p', 's', 'z') /* 'opsz' optical size. */
 
#define BLF_BATCH_DRAW_LEN_MAX   2048 /* in glyph */
 
#define GLYPH_ASCII_TABLE_SIZE   128
 
#define KERNING_CACHE_TABLE_SIZE   128
 
#define KERNING_ENTRY_UNSET   INT_MAX
 

Typedefs

typedef struct BatchBLF BatchBLF
 
typedef struct KerningCacheBLF KerningCacheBLF
 
typedef struct GlyphCacheBLF GlyphCacheBLF
 
typedef struct GlyphBLF GlyphBLF
 
typedef struct FontBufInfoBLF FontBufInfoBLF
 
typedef struct FontBLF FontBLF
 
typedef struct DirBLF DirBLF
 

Variables

BatchBLF g_batch
 

Sub-Pixel Offset & Utilities

Free-type uses fixed point precision for sub-pixel offsets. Utility functions here avoid exposing the details in the BLF API.

#define USE_LEGACY_SPACING
 
#define FT_PIX_FLOOR(x)   ((x) & ~63)
 
#define FT_PIX_ROUND(x)   FT_PIX_FLOOR((x) + 32)
 
#define FT_PIX_CEIL(x)   ((x) + 63)
 
#define FT_PIX_DEFAULT_ROUNDING(x)   FT_PIX_FLOOR(x)
 
typedef int32_t ft_pix
 
BLI_INLINE int ft_pix_to_int (ft_pix v)
 
BLI_INLINE int ft_pix_to_int_floor (ft_pix v)
 
BLI_INLINE int ft_pix_to_int_ceil (ft_pix v)
 
BLI_INLINE ft_pix ft_pix_from_int (int v)
 
BLI_INLINE ft_pix ft_pix_from_float (float v)
 
BLI_INLINE ft_pix ft_pix_round_advance (ft_pix v, ft_pix step)
 

Macro Definition Documentation

◆ BLF_BATCH_DRAW_LEN_MAX

#define BLF_BATCH_DRAW_LEN_MAX   2048 /* in glyph */

Definition at line 98 of file blf_internal_types.h.

◆ blf_variation_axis_optsize

#define blf_variation_axis_optsize   MAKE_DVAR_TAG('o', 'p', 's', 'z') /* 'opsz' optical size. */

Definition at line 24 of file blf_internal_types.h.

◆ blf_variation_axis_slant

#define blf_variation_axis_slant   MAKE_DVAR_TAG('s', 'l', 'n', 't') /* 'slnt' slant axis. */

Definition at line 21 of file blf_internal_types.h.

◆ blf_variation_axis_spacing

#define blf_variation_axis_spacing   MAKE_DVAR_TAG('s', 'p', 'a', 'c') /* 'spac' spacing axis. */

Definition at line 23 of file blf_internal_types.h.

◆ blf_variation_axis_weight

#define blf_variation_axis_weight   MAKE_DVAR_TAG('w', 'g', 'h', 't') /* 'wght' weight axis. */

Definition at line 20 of file blf_internal_types.h.

◆ blf_variation_axis_width

#define blf_variation_axis_width   MAKE_DVAR_TAG('w', 'd', 't', 'h') /* 'wdth' width axis. */

Definition at line 22 of file blf_internal_types.h.

◆ BLF_VARIATIONS_MAX

#define BLF_VARIATIONS_MAX   16 /* Maximum variation axes per font. */

Definition at line 15 of file blf_internal_types.h.

◆ FT_PIX_CEIL

#define FT_PIX_CEIL (   x)    ((x) + 63)

Definition at line 49 of file blf_internal_types.h.

◆ FT_PIX_DEFAULT_ROUNDING

#define FT_PIX_DEFAULT_ROUNDING (   x)    FT_PIX_FLOOR(x)

Definition at line 52 of file blf_internal_types.h.

◆ FT_PIX_FLOOR

#define FT_PIX_FLOOR (   x)    ((x) & ~63)

Definition at line 47 of file blf_internal_types.h.

◆ FT_PIX_ROUND

#define FT_PIX_ROUND (   x)    FT_PIX_FLOOR((x) + 32)

Definition at line 48 of file blf_internal_types.h.

◆ GLYPH_ASCII_TABLE_SIZE

#define GLYPH_ASCII_TABLE_SIZE   128

Definition at line 101 of file blf_internal_types.h.

◆ KERNING_CACHE_TABLE_SIZE

#define KERNING_CACHE_TABLE_SIZE   128

Definition at line 104 of file blf_internal_types.h.

◆ KERNING_ENTRY_UNSET

#define KERNING_ENTRY_UNSET   INT_MAX

Definition at line 107 of file blf_internal_types.h.

◆ MAKE_DVAR_TAG

#define MAKE_DVAR_TAG (   a,
  b,
  c,
 
)     (((uint32_t)a << 24u) | ((uint32_t)b << 16u) | ((uint32_t)c << 8u) | ((uint32_t)d))

Definition at line 17 of file blf_internal_types.h.

◆ USE_LEGACY_SPACING

#define USE_LEGACY_SPACING

Definition at line 45 of file blf_internal_types.h.

Typedef Documentation

◆ BatchBLF

typedef struct BatchBLF BatchBLF

◆ DirBLF

typedef struct DirBLF DirBLF

◆ FontBLF

typedef struct FontBLF FontBLF

◆ FontBufInfoBLF

◆ ft_pix

typedef int32_t ft_pix

This is an internal type that represents sub-pixel positioning, users of this type are to use ft_pix_* functions to keep scaling/rounding in one place.

Definition at line 37 of file blf_internal_types.h.

◆ GlyphBLF

typedef struct GlyphBLF GlyphBLF

◆ GlyphCacheBLF

typedef struct GlyphCacheBLF GlyphCacheBLF

◆ KerningCacheBLF

Function Documentation

◆ ft_pix_from_float()

BLI_INLINE ft_pix ft_pix_from_float ( float  v)

Definition at line 81 of file blf_internal_types.h.

References v.

◆ ft_pix_from_int()

BLI_INLINE ft_pix ft_pix_from_int ( int  v)

◆ ft_pix_round_advance()

BLI_INLINE ft_pix ft_pix_round_advance ( ft_pix  v,
ft_pix  step 
)

◆ ft_pix_to_int()

BLI_INLINE int ft_pix_to_int ( ft_pix  v)

◆ ft_pix_to_int_ceil()

BLI_INLINE int ft_pix_to_int_ceil ( ft_pix  v)

Definition at line 71 of file blf_internal_types.h.

References FT_PIX_CEIL, and v.

Referenced by blf_font_boundbox_ex(), and blf_font_boundbox_foreach_glyph_ex().

◆ ft_pix_to_int_floor()

BLI_INLINE int ft_pix_to_int_floor ( ft_pix  v)

Variable Documentation

◆ g_batch

BatchBLF g_batch
extern