zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ftbbox.c File Reference
#include <ft2build.h>
#include <FT_BBOX_H>
#include <FT_IMAGE_H>
#include <FT_OUTLINE_H>
#include <FT_INTERNAL_CALC_H>
#include <FT_INTERNAL_OBJECTS_H>

Go to the source code of this file.

Macros

#define CHECK_X(p, bbox)   ( p->x < bbox.xMin || p->x > bbox.xMax )
 
#define CHECK_Y(p, bbox)   ( p->y < bbox.yMin || p->y > bbox.yMax )
 

Typedefs

typedef struct TBBox_Rec_ TBBox_Rec
 

Functions

static void BBox_Conic_Check (FT_Pos y1, FT_Pos y2, FT_Pos y3, FT_Pos *min, FT_Pos *max)
 
static int BBox_Conic_To (FT_Vector *control, FT_Vector *to, TBBox_Rec *user)
 
static void BBox_Cubic_Check (FT_Pos y1, FT_Pos y2, FT_Pos y3, FT_Pos y4, FT_Pos *min, FT_Pos *max)
 
static int BBox_Cubic_To (FT_Vector *control1, FT_Vector *control2, FT_Vector *to, TBBox_Rec *user)
 
static int BBox_Move_To (FT_Vector *to, TBBox_Rec *user)
 
 for (n=1;n< outline->n_points;n++)
 
 FT_DEFINE_OUTLINE_FUNCS (bbox_interface,(FT_Outline_MoveTo_Func) BBox_Move_To,(FT_Outline_LineTo_Func) BBox_Move_To,(FT_Outline_ConicTo_Func) BBox_Conic_To,(FT_Outline_CubicTo_Func) BBox_Cubic_To, 0, 0) FT_Outline_Get_BBox(FT_Outline *outline
 
 if (outline->n_points==0||outline->n_contours<=0)
 
 if (cbox.xMin< bbox.xMin||cbox.xMax > bbox.xMax||cbox.yMin< bbox.yMin||cbox.yMax > bbox.yMax)
 
static void test_cubic_extrema (FT_Pos y1, FT_Pos y2, FT_Pos y3, FT_Pos y4, FT_Fixed u, FT_Pos *min, FT_Pos *max)
 

Variables

FT_BBoxabbox
 
FT_BBox bbox
 
return FT_Err_Invalid_Argument
 
return FT_Err_Invalid_Outline
 
return FT_Err_Ok
 
FT_UShort n
 
FT_Vectorvec = outline->points
 
bbox xMin = bbox.xMax = cbox.xMin = cbox.xMax = vec->x
 
bbox yMin = bbox.yMax = cbox.yMin = cbox.yMax = vec->y
 

Macro Definition Documentation

#define CHECK_X (   p,
  bbox 
)    ( p->x < bbox.xMin || p->x > bbox.xMax )

Definition at line 73 of file ftbbox.c.

Referenced by BBox_Conic_To(), and BBox_Cubic_To().

#define CHECK_Y (   p,
  bbox 
)    ( p->y < bbox.yMin || p->y > bbox.yMax )

Definition at line 76 of file ftbbox.c.

Referenced by BBox_Conic_To(), and BBox_Cubic_To().

Typedef Documentation

typedef struct TBBox_Rec_ TBBox_Rec

Function Documentation

static void BBox_Conic_Check ( FT_Pos  y1,
FT_Pos  y2,
FT_Pos  y3,
FT_Pos min,
FT_Pos max 
)
static

Definition at line 103 of file ftbbox.c.

References FT_MulDiv().

Referenced by BBox_Conic_To().

static int BBox_Conic_To ( FT_Vector control,
FT_Vector to,
TBBox_Rec user 
)
static

Definition at line 163 of file ftbbox.c.

References BBox_Conic_Check(), CHECK_X, CHECK_Y, FT_Vector_::x, and FT_Vector_::y.

static void BBox_Cubic_Check ( FT_Pos  y1,
FT_Pos  y2,
FT_Pos  y3,
FT_Pos  y4,
FT_Pos min,
FT_Pos max 
)
static

Definition at line 333 of file ftbbox.c.

References d, FT_DivFix(), FT_MulFix(), FT_Pos, FT_SqrtFixed(), t2, and test_cubic_extrema().

Referenced by BBox_Cubic_To().

static int BBox_Cubic_To ( FT_Vector control1,
FT_Vector control2,
FT_Vector to,
TBBox_Rec user 
)
static

Definition at line 532 of file ftbbox.c.

References BBox_Cubic_Check(), CHECK_X, CHECK_Y, FT_Vector_::x, and FT_Vector_::y.

static int BBox_Move_To ( FT_Vector to,
TBBox_Rec user 
)
static

Definition at line 64 of file ftbbox.c.

for ( n  = 1; n < outline->n_points; n++)
FT_DEFINE_OUTLINE_FUNCS ( bbox_interface  ,
(FT_Outline_MoveTo_Func BBox_Move_To,
(FT_Outline_LineTo_Func BBox_Move_To,
(FT_Outline_ConicTo_Func BBox_Conic_To,
(FT_Outline_CubicTo_Func BBox_Cubic_To,
,
 
)
if ( outline->  n_points = = 0 || outline->n_contours <= 0)

Definition at line 590 of file ftbbox.c.

if ( cbox.xMin< bbox.xMin||cbox.xMax > bbox.xMax||cbox.yMin< bbox.yMin||cbox.yMax > bbox.  yMax)

Definition at line 633 of file ftbbox.c.

References bbox, error, and FT_Outline_Decompose().

static void test_cubic_extrema ( FT_Pos  y1,
FT_Pos  y2,
FT_Pos  y3,
FT_Pos  y4,
FT_Fixed  u,
FT_Pos min,
FT_Pos max 
)
static

Definition at line 289 of file ftbbox.c.

References d, FT_MulFix(), FT_Pos, and FT_UNUSED.

Referenced by BBox_Cubic_Check().

Variable Documentation

else * abbox
Initial value:
{
FT_BBox cbox

Definition at line 576 of file ftbbox.c.

return FT_Err_Invalid_Argument

Definition at line 584 of file ftbbox.c.

Referenced by FT_Activate_Size(), FT_Add_Module(), FT_Attach_File(), FT_Bitmap_Convert(), FT_Bitmap_Done(), FT_Bitmap_Embolden(), FT_ClassicKern_Validate(), FT_CMap_New(), ft_face_get_mm_service(), FT_Get_BDF_Charset_ID(), FT_Get_BDF_Property(), FT_Get_CID_From_Glyph_Index(), FT_Get_CID_Is_Internally_CID_Keyed(), FT_Get_CID_Registry_Ordering_Supplement(), FT_Get_Glyph(), FT_Get_Glyph_Name(), FT_Get_Kerning(), FT_Get_MM_Var(), FT_Get_Multi_Master(), FT_Get_PFR_Advance(), FT_Get_PFR_Kerning(), FT_Get_PFR_Metrics(), FT_Get_PS_Font_Info(), FT_Get_PS_Font_Private(), FT_Get_SubGlyph_Info(), FT_Get_Track_Kerning(), FT_Get_WinFNT_Header(), FT_Glyph_Copy(), FT_Glyph_Stroke(), FT_Glyph_StrokeBorder(), FT_Glyph_To_Bitmap(), FT_Glyph_Transform(), FT_Matrix_Invert(), ft_mem_qalloc(), ft_mem_qrealloc(), FT_New_Face(), FT_New_GlyphSlot(), FT_New_Library(), FT_New_Memory_Face(), FT_Open_Face(), FT_OpenType_Validate(), FT_Outline_Check(), FT_Outline_Copy(), FT_Outline_Decompose(), FT_Outline_Done_Internal(), FT_Outline_Embolden(), FT_Outline_Get_Bitmap(), FT_Outline_New_Internal(), FT_Outline_Render(), FT_Render_Glyph(), FT_Request_Size(), FT_Select_Charmap(), FT_Select_Size(), FT_Set_Charmap(), FT_Set_MM_Blend_Coordinates(), FT_Set_MM_Design_Coordinates(), FT_Set_Renderer(), FT_Set_Var_Blend_Coordinates(), FT_Set_Var_Design_Coordinates(), FT_Stream_New(), FT_Stream_ReadFields(), FT_Stroker_GetBorderCounts(), FT_Stroker_New(), FT_Stroker_ParseOutline(), FT_TrueTypeGX_Validate(), and main().

return FT_Err_Invalid_Outline

Definition at line 587 of file ftbbox.c.

Referenced by FT_Outline_Decompose(), and FT_Stroker_ParseOutline().

return FT_Err_Ok

Definition at line 658 of file ftbbox.c.

Referenced by _ft_face_scale_advances(), _tt_check_patents_in_table(), cff_face_init(), find_unicode_charmap(), FT_Activate_Size(), FT_Add_Module(), ft_bitmap_assure_buffer(), FT_Bitmap_Convert(), FT_Bitmap_Copy(), FT_Bitmap_Done(), FT_Bitmap_Embolden(), ft_bitmap_glyph_init(), FT_CMap_New(), FT_DEFINE_GLYPH(), FT_Done_Face(), FT_Done_FreeType(), FT_Done_Library(), FT_Done_Size(), ft_face_get_mm_service(), FT_Get_Advances(), FT_Get_Kerning(), FT_Get_PFR_Metrics(), FT_Get_Track_Kerning(), FT_Glyph_To_Bitmap(), FT_Glyph_Transform(), FT_GlyphLoader_CheckPoints(), FT_GlyphLoader_CheckSubGlyphs(), ft_glyphslot_init(), FT_GlyphSlot_Own_Bitmap(), FT_List_Iterate(), FT_Match_Size(), FT_Matrix_Invert(), ft_mem_qalloc(), ft_mem_qrealloc(), ft_mem_realloc(), FT_New_Library(), FT_Outline_Copy(), FT_Outline_Decompose(), FT_Outline_Done_Internal(), FT_Outline_Embolden(), ft_outline_glyph_prepare(), FT_Outline_New_Internal(), FT_Raccess_Get_DataOffsets(), FT_Raccess_Get_HeaderInfo(), FT_Reference_Face(), FT_Reference_Library(), FT_Remove_Module(), FT_Render_Glyph_Internal(), FT_Request_Size(), FT_Select_Size(), FT_Set_Renderer(), FT_Stream_EnterFrame(), FT_Stream_Open(), FT_Stream_ReadAt(), FT_Stream_ReadChar(), FT_Stream_ReadFields(), FT_Stream_ReadULong(), FT_Stream_ReadULongLE(), FT_Stream_ReadUOffset(), FT_Stream_ReadUShort(), FT_Stream_ReadUShortLE(), FT_Stream_Seek(), ft_stroke_border_arcto(), ft_stroke_border_get_counts(), ft_stroke_border_grow(), ft_stroke_border_lineto(), ft_stroker_add_reverse_left(), ft_stroker_arcto(), FT_Stroker_BeginSubPath(), ft_stroker_cap(), FT_Stroker_ConicTo(), FT_Stroker_CubicTo(), FT_Stroker_EndSubPath(), ft_stroker_inside(), FT_Stroker_LineTo(), FT_Stroker_ParseOutline(), ft_stroker_process_corner(), ft_validator_init(), main(), parse_afm(), T1_Face_Init(), and T42_Face_Init().

Definition at line 580 of file ftbbox.c.

bbox xMin = bbox.xMax = cbox.xMin = cbox.xMax = vec->x

Definition at line 602 of file ftbbox.c.

Referenced by FT_Outline_Get_CBox(), and tt_face_load_generic_header().

bbox yMin = bbox.yMax = cbox.yMin = cbox.yMax = vec->y

Definition at line 603 of file ftbbox.c.

Referenced by FT_Outline_Get_CBox(), and tt_face_load_generic_header().