35 return render->clazz->raster_class->raster_set_mode(
render->raster,
86#ifndef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
116 unsigned char* dst_line =
target->origin -
y *
target->pitch;
121 for ( ;
count--; spans++ )
122 for (
dst = dst_line + spans->
x * 3,
w = spans->
len;
w--;
dst += 3 )
172 sub[0].
y - sub[1].
y );
182 sub[1].
y - sub[2].
y );
200 int pitch =
bitmap->pitch;
229 sub[1].
x - sub[0].
x );
237 bitmap->buffer += 2 * pitch;
240 sub[2].
x - sub[1].
x );
244 bitmap->buffer -= 2 * pitch;
336#define SCALE ( 1 << 2 )
347 unsigned int cover,
sum;
358 for (
x = 0;
x < spans->
len;
x++ )
462 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
480 x_shift = 64 * -
slot->bitmap_left;
481 y_shift = 64 * -
slot->bitmap_top;
494 if ( x_shift || y_shift )
521#ifdef FT_CONFIG_OPTION_SUBPIXEL_RENDERING
526 FT_Bitmap_LcdFilterFunc lcd_filter_func;
530 if (
slot->face &&
slot->face->internal->lcd_filter_func )
532 lcd_weights =
slot->face->internal->lcd_weights;
533 lcd_filter_func =
slot->face->internal->lcd_filter_func;
537 lcd_weights =
slot->library->lcd_weights;
538 lcd_filter_func =
slot->library->lcd_filter_func;
541 if ( lcd_filter_func )
542 lcd_filter_func(
bitmap, lcd_weights );
553 slot->format = FT_GLYPH_FORMAT_BITMAP;
558 slot->internal->flags &= ~FT_GLYPH_OWN_BITMAP;
561 if ( x_shift || y_shift )
569 ft_smooth_renderer_class,
584 FT_GLYPH_FORMAT_OUTLINE,
enum FT_Render_Mode_ FT_Render_Mode
#define FT_RASTER_FLAG_AA
#define FT_RASTER_FLAG_DIRECT
#define FT_OUTLINE_OVERLAP
void(* FT_SpanFunc)(int y, int count, const FT_Span *spans, void *user)
FT_BEGIN_HEADER typedef signed long FT_Pos
FT_Library_SetLcdFilter(FT_Library library, FT_LcdFilter filter)
#define FT_ALLOC_MULT(ptr, count, item_size)
#define FT_OFFSET(base, count)
void(* FT_Module_Destructor)(FT_Module module)
#define FT_MODULE_RENDERER
FT_Error(* FT_Module_Constructor)(FT_Module module)
FT_Module_Interface(* FT_Module_Requester)(FT_Module module, const char *name)
ft_glyphslot_preset_bitmap(FT_GlyphSlot slot, FT_Render_Mode mode, const FT_Vector *origin)
#define FT_GLYPH_OWN_BITMAP
#define FT_DEFINE_RENDERER( class_, flags_, size_, name_, version_, requires_, interface_, init_, done_, get_interface_, glyph_format_, render_glyph_, transform_glyph_, get_glyph_cbox_, set_mode_, raster_class_)
FT_Outline_Translate(const FT_Outline *outline, FT_Pos xOffset, FT_Pos yOffset)
FT_Outline_Transform(const FT_Outline *outline, const FT_Matrix *matrix)
FT_Outline_Get_CBox(const FT_Outline *outline, FT_BBox *acbox)
FT_Error(* FT_Renderer_SetModeFunc)(FT_Renderer renderer, FT_ULong mode_tag, FT_Pointer mode_ptr)
FT_Error(* FT_Renderer_TransformFunc)(FT_Renderer renderer, FT_GlyphSlot slot, const FT_Matrix *matrix, const FT_Vector *delta)
void(* FT_Renderer_GetCBoxFunc)(FT_Renderer renderer, FT_GlyphSlot slot, FT_BBox *cbox)
FT_Error(* FT_Renderer_RenderFunc)(FT_Renderer renderer, FT_GlyphSlot slot, FT_Render_Mode mode, const FT_Vector *origin)
static FT_Error ft_smooth_raster_lcdv(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
static void ft_smooth_lcd_spans(int y, int count, const FT_Span *spans, TOrigin *target)
static FT_Error ft_smooth_init(FT_Renderer render)
static FT_Error ft_smooth_set_mode(FT_Renderer render, FT_ULong mode_tag, FT_Pointer data)
static void ft_smooth_overlap_spans(int y, int count, const FT_Span *spans, TOrigin *target)
static FT_Error ft_smooth_raster_overlap(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
static void ft_smooth_get_cbox(FT_Renderer render, FT_GlyphSlot slot, FT_BBox *cbox)
static FT_Error ft_smooth_transform(FT_Renderer render, FT_GlyphSlot slot, const FT_Matrix *matrix, const FT_Vector *delta)
static FT_Error ft_smooth_render(FT_Renderer render, FT_GlyphSlot slot, FT_Render_Mode mode, const FT_Vector *origin)
static FT_Error ft_smooth_raster_lcd(FT_Renderer render, FT_Outline *outline, FT_Bitmap *bitmap)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLint GLint GLint GLint GLint GLint y
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLenum const GLfloat * params
GLubyte GLubyte GLubyte GLubyte w
GLsizei const GLfloat * points
static char memory[1024 *256]
static int sum(int x_, int y_)