亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ftsmooth.c

?? a very goog book
?? C
字號:
/***************************************************************************//*                                                                         *//*  ftsmooth.c                                                             *//*                                                                         *//*    Anti-aliasing renderer interface (body).                             *//*                                                                         *//*  Copyright 2000-2001, 2002 by                                           *//*  David Turner, Robert Wilhelm, and Werner Lemberg.                      *//*                                                                         *//*  This file is part of the FreeType project, and may only be used,       *//*  modified, and distributed under the terms of the FreeType project      *//*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     *//*  this file you indicate that you have read the license and              *//*  understand and accept it fully.                                        *//*                                                                         *//***************************************************************************/#include <ft2build.h>#include FT_INTERNAL_OBJECTS_H#include FT_OUTLINE_H#include "ftsmooth.h"#include "ftgrays.h"#include "ftsmerrs.h"  /* initialize renderer -- init its raster */  static FT_Error  ft_smooth_init( FT_Renderer  render )  {    FT_Library  library = FT_MODULE_LIBRARY( render );    render->clazz->raster_class->raster_reset( render->raster,                                               library->raster_pool,                                               library->raster_pool_size );    return 0;  }  /* sets render-specific mode */  static FT_Error  ft_smooth_set_mode( FT_Renderer  render,                      FT_ULong     mode_tag,                      FT_Pointer   data )  {    /* we simply pass it to the raster */    return render->clazz->raster_class->raster_set_mode( render->raster,                                                         mode_tag,                                                         data );  }  /* transform a given glyph image */  static FT_Error  ft_smooth_transform( FT_Renderer   render,                       FT_GlyphSlot  slot,                       FT_Matrix*    matrix,                       FT_Vector*    delta )  {    FT_Error  error = Smooth_Err_Ok;    if ( slot->format != render->glyph_format )    {      error = Smooth_Err_Invalid_Argument;      goto Exit;    }    if ( matrix )      FT_Outline_Transform( &slot->outline, matrix );    if ( delta )      FT_Outline_Translate( &slot->outline, delta->x, delta->y );  Exit:    return error;  }  /* return the glyph's control box */  static void  ft_smooth_get_cbox( FT_Renderer   render,                      FT_GlyphSlot  slot,                      FT_BBox*      cbox )  {    FT_MEM_SET( cbox, 0, sizeof ( *cbox ) );    if ( slot->format == render->glyph_format )      FT_Outline_Get_CBox( &slot->outline, cbox );  }  /* convert a slot's glyph image into a bitmap */  static FT_Error  ft_smooth_render( FT_Renderer   render,                    FT_GlyphSlot  slot,                    FT_UInt       mode,                    FT_Vector*    origin )  {    FT_Error     error;    FT_Outline*  outline = NULL;    FT_BBox      cbox;    FT_UInt      width, height, pitch;    FT_Bitmap*   bitmap;    FT_Memory    memory;    FT_Raster_Params  params;    /* check glyph image format */    if ( slot->format != render->glyph_format )    {      error = Smooth_Err_Invalid_Argument;      goto Exit;    }    /* check mode */    if ( mode != ft_render_mode_normal )      return Smooth_Err_Cannot_Render_Glyph;    outline = &slot->outline;    /* translate the outline to the new origin if needed */    if ( origin )      FT_Outline_Translate( outline, origin->x, origin->y );    /* compute the control box, and grid fit it */    FT_Outline_Get_CBox( outline, &cbox );    cbox.xMin &= -64;    cbox.yMin &= -64;    cbox.xMax  = ( cbox.xMax + 63 ) & -64;    cbox.yMax  = ( cbox.yMax + 63 ) & -64;    width  = ( cbox.xMax - cbox.xMin ) >> 6;    height = ( cbox.yMax - cbox.yMin ) >> 6;    bitmap = &slot->bitmap;    memory = render->root.memory;    /* release old bitmap buffer */    if ( slot->flags & FT_GLYPH_OWN_BITMAP )    {      FT_FREE( bitmap->buffer );      slot->flags &= ~FT_GLYPH_OWN_BITMAP;    }    /* allocate new one, depends on pixel format */    pitch = width;    bitmap->pixel_mode = ft_pixel_mode_grays;    bitmap->num_grays  = 256;    bitmap->width      = width;    bitmap->rows       = height;    bitmap->pitch      = pitch;    if ( FT_ALLOC( bitmap->buffer, (FT_ULong)pitch * height ) )      goto Exit;    slot->flags |= FT_GLYPH_OWN_BITMAP;    /* translate outline to render it into the bitmap */    FT_Outline_Translate( outline, -cbox.xMin, -cbox.yMin );    /* set up parameters */    params.target = bitmap;    params.source = outline;    params.flags  = ft_raster_flag_aa;    /* render outline into the bitmap */    error = render->raster_render( render->raster, &params );        FT_Outline_Translate( outline, cbox.xMin, cbox.yMin );    if ( error )      goto Exit;    slot->format      = ft_glyph_format_bitmap;    slot->bitmap_left = cbox.xMin >> 6;    slot->bitmap_top  = cbox.yMax >> 6;  Exit:    if ( outline && origin )      FT_Outline_Translate( outline, -origin->x, -origin->y );    return error;  }  FT_CALLBACK_TABLE_DEF  const FT_Renderer_Class  ft_smooth_renderer_class =  {    {      ft_module_renderer,      sizeof( FT_RendererRec ),      "smooth",      0x10000L,      0x20000L,      0,    /* module specific interface */      (FT_Module_Constructor)ft_smooth_init,      (FT_Module_Destructor) 0,      (FT_Module_Requester)  0    },    ft_glyph_format_outline,    (FTRenderer_render)   ft_smooth_render,    (FTRenderer_transform)ft_smooth_transform,    (FTRenderer_getCBox)  ft_smooth_get_cbox,    (FTRenderer_setMode)  ft_smooth_set_mode,    (FT_Raster_Funcs*)    &ft_grays_raster  };/* END */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产视频一区二区在线| 91丨九色丨蝌蚪富婆spa| 欧美高清一级片在线观看| 一本到三区不卡视频| aaa国产一区| 日本视频在线一区| |精品福利一区二区三区| 日韩一区二区三区高清免费看看| 成人免费精品视频| 久久精品72免费观看| 一区二区在线观看视频在线观看| 亚洲精品在线三区| 日韩视频中午一区| 欧美日韩国产欧美日美国产精品| 北条麻妃一区二区三区| 午夜成人免费视频| 亚洲综合色噜噜狠狠| 亚洲日本丝袜连裤袜办公室| 欧美高清在线精品一区| 精品对白一区国产伦| 欧美一级艳片视频免费观看| 欧美午夜片在线观看| 色综合久久99| 欧美三日本三级三级在线播放| 色综合色综合色综合色综合色综合 | 国产成人午夜高潮毛片| 黑人巨大精品欧美黑白配亚洲| 另类小说综合欧美亚洲| 激情六月婷婷综合| 国产成人8x视频一区二区| 国产高清不卡一区| 99国产精品视频免费观看| 色网站国产精品| 欧美日韩国产免费一区二区| 91精品国产色综合久久不卡蜜臀| 欧美日韩精品一区二区三区| 91精品国产综合久久婷婷香蕉 | 国产精品久久久久久久第一福利| 久久九九全国免费| 亚洲麻豆国产自偷在线| 日韩国产精品久久久久久亚洲| 久久精品国产精品亚洲红杏 | 国产精品毛片大码女人| 亚洲成人一二三| 久久成人免费网| 波多野结衣精品在线| 欧美性猛交xxxx黑人交| 欧美成人bangbros| 亚洲va天堂va国产va久| 成人性生交大合| 欧美v日韩v国产v| 亚洲卡通欧美制服中文| 国产一区二区三区四区在线观看| 成人午夜视频福利| 亚洲精品一区二区三区在线观看| 一区精品在线播放| 国产一区二区在线看| 欧美日韩在线综合| 一区二区三区 在线观看视频| 久久99久久精品| 欧美日韩一区三区| 一区二区三区欧美| 99视频一区二区| 国产精品乱码人人做人人爱 | 99精品在线观看视频| 久久久久久久久久久久久久久99 | 免费观看日韩电影| 欧美区一区二区三区| 亚洲精品日韩综合观看成人91| 国产一区二区伦理片| 精品国产免费久久| 国产精品亚洲专一区二区三区 | 在线观看国产一区二区| 亚洲欧洲美洲综合色网| 成人免费av资源| 亚洲欧美一区二区视频| 91视频免费观看| 亚洲成a人在线观看| 欧美日韩视频在线观看一区二区三区| 亚洲精品写真福利| 欧美午夜在线观看| 麻豆91在线看| 国产女主播视频一区二区| 99精品久久99久久久久| 一区二区在线观看免费| 欧美精品aⅴ在线视频| 免费成人av在线播放| 欧美国产精品劲爆| 91亚洲国产成人精品一区二三| 亚洲精品伦理在线| 日韩一二在线观看| 成人app下载| 日本欧美在线观看| 久久亚洲精华国产精华液| 不卡影院免费观看| 午夜天堂影视香蕉久久| 中文字幕免费观看一区| 欧美三级乱人伦电影| 国产福利精品一区| 亚洲高清在线视频| 中文一区在线播放| 在线综合+亚洲+欧美中文字幕| 国产精品一区二区无线| 亚洲久草在线视频| 国产日韩欧美一区二区三区综合| 欧美性欧美巨大黑白大战| 成人免费毛片嘿嘿连载视频| 日精品一区二区| 亚洲男人的天堂网| 国产精品乱码人人做人人爱| 欧美电影免费观看高清完整版在| 色狠狠桃花综合| www.欧美亚洲| 成人av一区二区三区| 国产一区二区三区在线观看精品 | 91亚洲精品久久久蜜桃| 国产激情视频一区二区在线观看 | 欧洲色大大久久| 97久久精品人人爽人人爽蜜臀| 麻豆成人久久精品二区三区红| 亚洲成年人影院| 天天综合天天综合色| 亚洲精品成人悠悠色影视| 亚洲欧美在线观看| 亚洲视频一区在线| 亚洲激情图片一区| 亚洲一区二区影院| 婷婷丁香激情综合| 日韩高清中文字幕一区| 久久 天天综合| 国产精品一区久久久久| 成人毛片视频在线观看| 成人av影院在线| 欧美怡红院视频| 911精品产国品一二三产区| 欧美一级日韩不卡播放免费| 日韩精品一区二区三区视频| 精品乱人伦小说| 中文字幕免费在线观看视频一区| 亚洲欧洲成人自拍| 亚洲va韩国va欧美va精品| 精品写真视频在线观看| 国产精品18久久久久久久久久久久| 欧美一区二区三区视频在线| 日韩精品一区在线| 亚洲欧美区自拍先锋| 日韩国产欧美在线视频| 国产99一区视频免费| 欧美人与z0zoxxxx视频| 久久久精品tv| 日本aⅴ亚洲精品中文乱码| 成人综合在线观看| 欧美日本韩国一区二区三区视频| 久久毛片高清国产| 日韩精品欧美成人高清一区二区| 国产乱理伦片在线观看夜一区| 色综合色狠狠天天综合色| 精品国产乱码久久久久久图片 | 国产精品九色蝌蚪自拍| 亚洲成人综合在线| eeuss影院一区二区三区| 91精品久久久久久久91蜜桃| 亚洲人精品午夜| 丰满亚洲少妇av| 美女久久久精品| 欧美日韩精品电影| 亚洲国产精品久久一线不卡| 欧美日韩国产另类不卡| 亚洲男人天堂av网| 婷婷激情综合网| 久久99国产精品久久| 99视频精品在线| 在线综合视频播放| 国产色综合久久| 亚洲精选免费视频| 中文一区二区在线观看| 亚洲精品一区二区三区影院| 亚洲成人免费在线观看| 色天天综合久久久久综合片| 中文字幕电影一区| 成人动漫精品一区二区| 国产精品女主播在线观看| 成人美女视频在线观看| 亚洲国产成人私人影院tom| 国产成人在线影院| 国产精品美女久久久久av爽李琼| av电影在线观看不卡| 亚洲精品国产高清久久伦理二区| 欧美在线综合视频| 综合分类小说区另类春色亚洲小说欧美| 亚洲成av人片一区二区梦乃| 色婷婷综合久久久久中文一区二区 | 国产福利精品一区| 国产精品免费网站在线观看| 91看片淫黄大片一级在线观看| 国产精品久久久久影院亚瑟| 欧美视频中文字幕| 加勒比av一区二区| 综合激情网...| 欧美成人欧美edvon|