Visualization Library 2.0.0-b5

A lightweight C++ OpenGL middleware for 2D/3D graphics

VL     Star     Watch     Fork     Issue

[Download] [Tutorials] [All Classes] [Grouped Classes]
Classes | Macros | Typedefs | Enumerations | Functions
afhints.h File Reference
#include "aftypes.h"

Go to the source code of this file.

Classes

struct  AF_PointRec_
 
struct  AF_SegmentRec_
 
struct  AF_EdgeRec_
 
struct  AF_AxisHintsRec_
 
struct  AF_GlyphHintsRec_
 

Macros

#define xxAF_SORT_SEGMENTS
 
#define AF_HINTS_TEST_SCALER(h, f)   ( (h)->scaler_flags & (f) )
 
#define AF_HINTS_TEST_OTHER(h, f)   ( (h)->other_flags & (f) )
 
#define AF_HINTS_DO_HORIZONTAL(h)   !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_HORIZONTAL )
 
#define AF_HINTS_DO_VERTICAL(h)   !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_VERTICAL )
 
#define AF_HINTS_DO_ADVANCE(h)   !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_ADVANCE )
 
#define AF_HINTS_DO_BLUES(h)   1
 
#define AF_SEGMENT_LEN(seg)   ( (seg)->max_coord - (seg)->min_coord )
 
#define AF_SEGMENT_DIST(seg1, seg2)
 

Typedefs

typedef FT_BEGIN_HEADER enum AF_Dimension_ AF_Dimension
 
typedef enum AF_Direction_ AF_Direction
 
typedef enum AF_Flags_ AF_Flags
 
typedef enum AF_Edge_Flags_ AF_Edge_Flags
 
typedef struct AF_PointRec_AF_Point
 
typedef struct AF_SegmentRec_AF_Segment
 
typedef struct AF_EdgeRec_AF_Edge
 
typedef struct AF_PointRec_ AF_PointRec
 
typedef struct AF_SegmentRec_ AF_SegmentRec
 
typedef struct AF_EdgeRec_ AF_EdgeRec
 
typedef struct AF_AxisHintsRec_ AF_AxisHintsRec
 
typedef struct AF_AxisHintsRec_AF_AxisHints
 
typedef struct AF_GlyphHintsRec_ AF_GlyphHintsRec
 

Enumerations

enum  AF_Dimension_ { AF_DIMENSION_HORZ = 0, AF_DIMENSION_VERT = 1, AF_DIMENSION_MAX }
 
enum  AF_Direction_ {
  AF_DIR_NONE = 4, AF_DIR_RIGHT = 1, AF_DIR_LEFT = -1, AF_DIR_UP = 2,
  AF_DIR_DOWN = -2
}
 
enum  AF_Flags_ {
  AF_FLAG_NONE = 0, AF_FLAG_CONIC = 1 << 0, AF_FLAG_CUBIC = 1 << 1, AF_FLAG_CONTROL = AF_FLAG_CONIC | AF_FLAG_CUBIC,
  AF_FLAG_EXTREMA_X = 1 << 2, AF_FLAG_EXTREMA_Y = 1 << 3, AF_FLAG_ROUND_X = 1 << 4, AF_FLAG_ROUND_Y = 1 << 5,
  AF_FLAG_TOUCH_X = 1 << 6, AF_FLAG_TOUCH_Y = 1 << 7, AF_FLAG_WEAK_INTERPOLATION = 1 << 8, AF_FLAG_INFLECTION = 1 << 9
}
 
enum  AF_Edge_Flags_ { AF_EDGE_NORMAL = 0, AF_EDGE_ROUND = 1 << 0, AF_EDGE_SERIF = 1 << 1, AF_EDGE_DONE = 1 << 2 }
 

Functions

 af_direction_compute (FT_Pos dx, FT_Pos dy)
 
 af_axis_hints_new_segment (AF_AxisHints axis, FT_Memory memory, AF_Segment *asegment)
 
 af_axis_hints_new_edge (AF_AxisHints axis, FT_Int fpos, AF_Direction dir, FT_Memory memory, AF_Edge *edge)
 
 af_glyph_hints_init (AF_GlyphHints hints, FT_Memory memory)
 
 af_glyph_hints_rescale (AF_GlyphHints hints, AF_ScriptMetrics metrics)
 
 af_glyph_hints_reload (AF_GlyphHints hints, FT_Outline *outline)
 
 af_glyph_hints_save (AF_GlyphHints hints, FT_Outline *outline)
 
 af_glyph_hints_align_edge_points (AF_GlyphHints hints, AF_Dimension dim)
 
 af_glyph_hints_align_strong_points (AF_GlyphHints hints, AF_Dimension dim)
 
 af_glyph_hints_align_weak_points (AF_GlyphHints hints, AF_Dimension dim)
 
 af_glyph_hints_done (AF_GlyphHints hints)
 

Macro Definition Documentation

◆ AF_HINTS_DO_ADVANCE

#define AF_HINTS_DO_ADVANCE (   h)    !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_ADVANCE )

Definition at line 389 of file afhints.h.

◆ AF_HINTS_DO_BLUES

#define AF_HINTS_DO_BLUES (   h)    1

Definition at line 392 of file afhints.h.

Referenced by af_latin2_hint_edges(), and af_latin_hint_edges().

◆ AF_HINTS_DO_HORIZONTAL

#define AF_HINTS_DO_HORIZONTAL (   h)    !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_HORIZONTAL )

Definition at line 383 of file afhints.h.

◆ AF_HINTS_DO_VERTICAL

#define AF_HINTS_DO_VERTICAL (   h)    !AF_HINTS_TEST_SCALER( h, AF_SCALER_FLAG_NO_VERTICAL )

Definition at line 386 of file afhints.h.

◆ AF_HINTS_TEST_OTHER

#define AF_HINTS_TEST_OTHER (   h,
  f 
)    ( (h)->other_flags & (f) )

Definition at line 363 of file afhints.h.

◆ AF_HINTS_TEST_SCALER

#define AF_HINTS_TEST_SCALER (   h,
  f 
)    ( (h)->scaler_flags & (f) )

Definition at line 362 of file afhints.h.

◆ AF_SEGMENT_DIST

#define AF_SEGMENT_DIST (   seg1,
  seg2 
)
Value:
( ( (seg1)->pos > (seg2)->pos ) \
? (seg1)->pos - (seg2)->pos \
: (seg2)->pos - (seg1)->pos )

Definition at line 457 of file afhints.h.

◆ AF_SEGMENT_LEN

#define AF_SEGMENT_LEN (   seg)    ( (seg)->max_coord - (seg)->min_coord )

Definition at line 455 of file afhints.h.

◆ xxAF_SORT_SEGMENTS

#define xxAF_SORT_SEGMENTS

Definition at line 24 of file afhints.h.

Typedef Documentation

◆ AF_AxisHints

typedef struct AF_AxisHintsRec_ * AF_AxisHints

◆ AF_AxisHintsRec

◆ AF_Dimension

◆ AF_Direction

◆ AF_Edge

typedef struct AF_EdgeRec_* AF_Edge

Definition at line 247 of file afhints.h.

◆ AF_Edge_Flags

◆ AF_EdgeRec

typedef struct AF_EdgeRec_ AF_EdgeRec

◆ AF_Flags

typedef enum AF_Flags_ AF_Flags

◆ AF_GlyphHintsRec

◆ AF_Point

typedef struct AF_PointRec_* AF_Point

Definition at line 245 of file afhints.h.

◆ AF_PointRec

typedef struct AF_PointRec_ AF_PointRec

◆ AF_Segment

typedef struct AF_SegmentRec_* AF_Segment

Definition at line 246 of file afhints.h.

◆ AF_SegmentRec

typedef struct AF_SegmentRec_ AF_SegmentRec

Enumeration Type Documentation

◆ AF_Dimension_

Enumerator
AF_DIMENSION_HORZ 
AF_DIMENSION_VERT 
AF_DIMENSION_MAX 

Definition at line 33 of file afhints.h.

◆ AF_Direction_

Enumerator
AF_DIR_NONE 
AF_DIR_RIGHT 
AF_DIR_LEFT 
AF_DIR_UP 
AF_DIR_DOWN 

Definition at line 47 of file afhints.h.

◆ AF_Edge_Flags_

Enumerator
AF_EDGE_NORMAL 
AF_EDGE_ROUND 
AF_EDGE_SERIF 
AF_EDGE_DONE 

Definition at line 235 of file afhints.h.

◆ AF_Flags_

enum AF_Flags_
Enumerator
AF_FLAG_NONE 
AF_FLAG_CONIC 
AF_FLAG_CUBIC 
AF_FLAG_CONTROL 
AF_FLAG_EXTREMA_X 
AF_FLAG_EXTREMA_Y 
AF_FLAG_ROUND_X 
AF_FLAG_ROUND_Y 
AF_FLAG_TOUCH_X 
AF_FLAG_TOUCH_Y 
AF_FLAG_WEAK_INTERPOLATION 
AF_FLAG_INFLECTION 

Definition at line 204 of file afhints.h.

Function Documentation

◆ af_axis_hints_new_edge()

af_axis_hints_new_edge ( AF_AxisHints  axis,
FT_Int  fpos,
AF_Direction  dir,
FT_Memory  memory,
AF_Edge edge 
)

◆ af_axis_hints_new_segment()

af_axis_hints_new_segment ( AF_AxisHints  axis,
FT_Memory  memory,
AF_Segment asegment 
)

◆ af_direction_compute()

af_direction_compute ( FT_Pos  dx,
FT_Pos  dy 
)

Definition at line 481 of file afhints.c.

References AF_DIR_DOWN, AF_DIR_LEFT, AF_DIR_NONE, AF_DIR_RIGHT, AF_DIR_UP, FT_ABS, FT_LOCAL_DEF, and FT_Pos.

Referenced by af_glyph_hints_reload().

◆ af_glyph_hints_align_edge_points()

af_glyph_hints_align_edge_points ( AF_GlyphHints  hints,
AF_Dimension  dim 
)

◆ af_glyph_hints_align_strong_points()

af_glyph_hints_align_strong_points ( AF_GlyphHints  hints,
AF_Dimension  dim 
)

◆ af_glyph_hints_align_weak_points()

af_glyph_hints_align_weak_points ( AF_GlyphHints  hints,
AF_Dimension  dim 
)

◆ af_glyph_hints_done()

af_glyph_hints_done ( AF_GlyphHints  hints)

◆ af_glyph_hints_init()

af_glyph_hints_init ( AF_GlyphHints  hints,
FT_Memory  memory 
)

Definition at line 530 of file afhints.c.

References FT_LOCAL_DEF, and FT_ZERO.

Referenced by af_latin2_metrics_init_widths(), af_latin_metrics_init_widths(), and af_loader_init().

◆ af_glyph_hints_reload()

af_glyph_hints_reload ( AF_GlyphHints  hints,
FT_Outline outline 
)

◆ af_glyph_hints_rescale()

af_glyph_hints_rescale ( AF_GlyphHints  hints,
AF_ScriptMetrics  metrics 
)

Definition at line 581 of file afhints.c.

References FT_LOCAL_DEF.

Referenced by af_latin2_metrics_init_widths(), and af_latin_metrics_init_widths().

◆ af_glyph_hints_save()

af_glyph_hints_save ( AF_GlyphHints  hints,
FT_Outline outline 
)