ref: 06d508c1decd6fc5683f88d9c21020c37392cdea
dir: /demos/src/ftgrays.h/
#ifndef FTGRAYS_H #define FTGRAYS_H typedef int TScan; typedef long TPos; typedef float TDist; #define FT_MAX_GRAY_SPANS 32 typedef struct FT_GraySpan_ { short x; short len; unsigned char coverage; } FT_GraySpan; typedef int (*FT_GraySpan_Func)( int y, int count, FT_GraySpan* spans, void* user ); typedef struct TCell_ { TScan x; TScan y; int area; int cover; } TCell, *PCell; typedef struct TRaster_ { PCell cells; int max_cells; int num_cells; TScan min_ex, max_ex; TScan min_ey, max_ey; int area; int cover; int invalid; TScan ex, ey; TScan cx, cy; TPos x, y; TScan last_ey; FT_Vector bez_stack[32*3]; int lev_stack[32]; FT_Outline outline; FT_Bitmap target; FT_GraySpan gray_spans[ FT_MAX_GRAY_SPANS ]; int num_gray_spans; FT_GraySpan_Func render_span; void* render_span_closure; int span_y; } TRaster, *PRaster; extern int grays_raster_render( TRaster* raster, FT_Outline* outline, FT_Bitmap* target_map ); extern int grays_raster_init( FT_Raster raster, const char* pool_base, long pool_size ); #endif