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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ftoutln.c

?? a very goog book
?? C
?? 第 1 頁 / 共 2 頁
字號:
        end0 = end;      }      if ( end != n_points - 1 )        goto Bad;      /* XXX: check the that array */      return 0;    }  Bad:    return FT_Err_Invalid_Argument;  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( FT_Error )  FT_Outline_Copy( FT_Outline*  source,                   FT_Outline  *target )  {    FT_Int  is_owner;    if ( !source            || !target            ||         source->n_points   != target->n_points   ||         source->n_contours != target->n_contours )      return FT_Err_Invalid_Argument;    FT_MEM_COPY( target->points, source->points,                 source->n_points * sizeof ( FT_Vector ) );    FT_MEM_COPY( target->tags, source->tags,                 source->n_points * sizeof ( FT_Byte ) );    FT_MEM_COPY( target->contours, source->contours,                 source->n_contours * sizeof ( FT_Short ) );    /* copy all flags, except the `ft_outline_owner' one */    is_owner      = target->flags & ft_outline_owner;    target->flags = source->flags;    target->flags &= ~ft_outline_owner;    target->flags |= is_owner;    return FT_Err_Ok;  }  FT_EXPORT_DEF( FT_Error )  FT_Outline_Done_Internal( FT_Memory    memory,                            FT_Outline*  outline )  {    if ( outline )    {      if ( outline->flags & ft_outline_owner )      {        FT_FREE( outline->points   );        FT_FREE( outline->tags     );        FT_FREE( outline->contours );      }      *outline = null_outline;      return FT_Err_Ok;    }    else      return FT_Err_Invalid_Argument;  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( FT_Error )  FT_Outline_Done( FT_Library   library,                   FT_Outline*  outline )  {    /* check for valid `outline' in FT_Outline_Done_Internal() */    if ( !library )      return FT_Err_Invalid_Library_Handle;    return FT_Outline_Done_Internal( library->memory, outline );  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( void )  FT_Outline_Get_CBox( FT_Outline*  outline,                       FT_BBox     *acbox )  {    FT_Pos  xMin, yMin, xMax, yMax;    if ( outline && acbox )    {      if ( outline->n_points == 0 )      {        xMin = 0;        yMin = 0;        xMax = 0;        yMax = 0;      }      else      {        FT_Vector*  vec   = outline->points;        FT_Vector*  limit = vec + outline->n_points;        xMin = xMax = vec->x;        yMin = yMax = vec->y;        vec++;        for ( ; vec < limit; vec++ )        {          FT_Pos  x, y;          x = vec->x;          if ( x < xMin ) xMin = x;          if ( x > xMax ) xMax = x;          y = vec->y;          if ( y < yMin ) yMin = y;          if ( y > yMax ) yMax = y;        }      }      acbox->xMin = xMin;      acbox->xMax = xMax;      acbox->yMin = yMin;      acbox->yMax = yMax;    }  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( void )  FT_Outline_Translate( FT_Outline*  outline,                        FT_Pos       xOffset,                        FT_Pos       yOffset )  {    FT_UShort   n;    FT_Vector*  vec = outline->points;    for ( n = 0; n < outline->n_points; n++ )    {      vec->x += xOffset;      vec->y += yOffset;      vec++;    }  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( void )  FT_Outline_Reverse( FT_Outline*  outline )  {    FT_UShort  n;    FT_Int     first, last;    first = 0;    for ( n = 0; n < outline->n_contours; n++ )    {      last  = outline->contours[n];      /* reverse point table */      {        FT_Vector*  p = outline->points + first;        FT_Vector*  q = outline->points + last;        FT_Vector   swap;        while ( p < q )        {          swap = *p;          *p   = *q;          *q   = swap;          p++;          q--;        }      }      /* reverse tags table */      {        char*  p = outline->tags + first;        char*  q = outline->tags + last;        char   swap;        while ( p < q )        {          swap = *p;          *p   = *q;          *q   = swap;          p++;          q--;        }      }      first = last + 1;    }    outline->flags ^= ft_outline_reverse_fill;  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( FT_Error )  FT_Outline_Render( FT_Library         library,                     FT_Outline*        outline,                     FT_Raster_Params*  params )  {    FT_Error     error;    FT_Bool      update = 0;    FT_Renderer  renderer;    FT_ListNode  node;    if ( !library )      return FT_Err_Invalid_Library_Handle;    if ( !params )      return FT_Err_Invalid_Argument;    renderer = library->cur_renderer;    node     = library->renderers.head;    params->source = (void*)outline;    error = FT_Err_Cannot_Render_Glyph;    while ( renderer )    {      error = renderer->raster_render( renderer->raster, params );      if ( !error || FT_ERROR_BASE( error ) != FT_Err_Cannot_Render_Glyph )        break;      /* FT_Err_Cannot_Render_Glyph is returned if the render mode   */      /* is unsupported by the current renderer for this glyph image */      /* format                                                      */      /* now, look for another renderer that supports the same */      /* format                                                */      renderer = FT_Lookup_Renderer( library, ft_glyph_format_outline,                                     &node );      update   = 1;    }    /* if we changed the current renderer for the glyph image format */    /* we need to select it as the next current one                  */    if ( !error && update && renderer )      FT_Set_Renderer( library, renderer, 0, 0 );    return error;  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( FT_Error )  FT_Outline_Get_Bitmap( FT_Library   library,                         FT_Outline*  outline,                         FT_Bitmap   *abitmap )  {    FT_Raster_Params  params;    if ( !abitmap )      return FT_Err_Invalid_Argument;    /* other checks are delayed to FT_Outline_Render() */    params.target = abitmap;    params.flags  = 0;    if ( abitmap->pixel_mode == ft_pixel_mode_grays )      params.flags |= ft_raster_flag_aa;    return FT_Outline_Render( library, outline, &params );  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( void )  FT_Vector_Transform( FT_Vector*  vector,                       FT_Matrix*  matrix )  {    FT_Pos xz, yz;    if ( !vector || !matrix )      return;    xz = FT_MulFix( vector->x, matrix->xx ) +         FT_MulFix( vector->y, matrix->yx );    yz = FT_MulFix( vector->x, matrix->xy ) +         FT_MulFix( vector->y, matrix->yy );    vector->x = xz;    vector->y = yz;  }  /* documentation is in ftoutln.h */  FT_EXPORT_DEF( void )  FT_Outline_Transform( FT_Outline*  outline,                        FT_Matrix*   matrix )  {    FT_Vector*  vec = outline->points;    FT_Vector*  limit = vec + outline->n_points;    for ( ; vec < limit; vec++ )      FT_Vector_Transform( vec, matrix );  }/* END */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97成人超碰视| 久久国产精品无码网站| av一区二区三区四区| 中文字幕av在线一区二区三区| 成人免费的视频| 综合网在线视频| 欧美色精品天天在线观看视频| 日韩影院在线观看| 欧美精品一区二区三区很污很色的| 国产综合色产在线精品| 国产精品久久久久久久久久免费看| 99re成人精品视频| 亚洲国产成人av| 日韩一级完整毛片| 色噜噜夜夜夜综合网| 亚洲国产成人av好男人在线观看| 日韩一区二区在线看| 国产1区2区3区精品美女| 亚洲欧美一区二区三区久本道91| 欧美丝袜丝交足nylons图片| 美女网站视频久久| 国产精品日产欧美久久久久| 欧美日韩一区国产| 国产传媒久久文化传媒| 亚洲一区二区三区四区在线观看| www国产精品av| 成人18精品视频| 日本美女一区二区三区视频| 中文字幕精品在线不卡| 欧美日韩精品一区视频| 国产成人免费在线| 日日嗨av一区二区三区四区| 欧美韩国日本不卡| 91.麻豆视频| 99久久亚洲一区二区三区青草| 日日摸夜夜添夜夜添国产精品 | 蜜臀av性久久久久蜜臀aⅴ| 久久精品欧美日韩精品| 欧美日韩一二三区| 成人免费视频app| 欧美aaa在线| 亚洲精品一二三区| 久久久美女毛片| 91精品国产乱| 91久久精品一区二区二区| 国产揄拍国内精品对白| 图片区小说区区亚洲影院| 久久精品欧美一区二区三区不卡| 69堂成人精品免费视频| 99精品欧美一区二区三区小说| 免费在线看成人av| 亚洲图片欧美色图| 亚洲视频一二三| 欧美国产禁国产网站cc| 久久亚洲免费视频| 777色狠狠一区二区三区| 欧美亚洲尤物久久| 波多野结衣视频一区| 国产自产2019最新不卡| 青青草97国产精品免费观看 | 天天影视涩香欲综合网| 自拍偷拍国产精品| 精品美女在线播放| 制服丝袜中文字幕亚洲| 欧美人妖巨大在线| 91福利社在线观看| 色综合久久久久网| 成人不卡免费av| 成人深夜福利app| 国产在线播放一区| 久久99热狠狠色一区二区| 蜜桃久久久久久| 欧美亚洲日本一区| 欧美伊人久久久久久午夜久久久久| av午夜精品一区二区三区| 成人免费毛片片v| 99久久国产综合精品色伊| 99久久久久久| 91丨porny丨国产入口| av高清久久久| 在线免费观看日本欧美| 在线亚洲免费视频| 欧美区一区二区三区| 91精品黄色片免费大全| 日韩欧美国产成人一区二区| 欧美本精品男人aⅴ天堂| 久久亚洲综合av| 欧美韩日一区二区三区四区| 中文字幕中文字幕一区二区| 国产精品麻豆久久久| 亚洲九九爱视频| 亚洲国产精品一区二区久久恐怖片 | 一区二区三区免费观看| 亚洲一二三级电影| 亚洲一级在线观看| 美女高潮久久久| 成人福利视频在线| 欧美系列日韩一区| 欧美一区二区三区日韩视频| 精品国产制服丝袜高跟| 中文字幕一区二区三中文字幕| 一区二区三区美女视频| 男人的天堂亚洲一区| 国产原创一区二区| 91成人免费在线视频| 91精品久久久久久蜜臀| 国产精品色噜噜| 午夜精品一区二区三区三上悠亚| 久久99九九99精品| 北岛玲一区二区三区四区| 欧美在线播放高清精品| 日韩欧美在线不卡| 国产精品少妇自拍| 性久久久久久久久| 激情文学综合插| 欧美性感一区二区三区| 国产欧美一区二区精品性| 亚洲国产精品自拍| 国产精品456露脸| 欧美日韩在线播放| 国产性色一区二区| 日韩精品亚洲一区二区三区免费| 国产精品一区在线| 51精品秘密在线观看| 欧美经典三级视频一区二区三区| 亚洲福利一二三区| 成人天堂资源www在线| 4438成人网| 亚洲免费观看高清完整版在线观看熊| 首页综合国产亚洲丝袜| 97精品国产97久久久久久久久久久久| 日韩免费在线观看| 亚洲在线观看免费| 成人美女视频在线看| 欧美成人激情免费网| 图片区日韩欧美亚洲| jlzzjlzz亚洲女人18| 亚洲精品一区二区三区四区高清 | 欧美在线一二三四区| 久久这里只有精品视频网| 亚洲一卡二卡三卡四卡五卡| jlzzjlzz亚洲女人18| 久久综合狠狠综合久久激情| 丝袜美腿亚洲一区二区图片| 色综合一区二区三区| 国产精品伦理在线| 国产精品一级片| 欧美一区二区成人6969| 午夜不卡av在线| 欧美日韩你懂得| 亚洲精品自拍动漫在线| va亚洲va日韩不卡在线观看| 久久久久久夜精品精品免费| 另类人妖一区二区av| 制服丝袜国产精品| 亚洲成人免费在线观看| 欧洲色大大久久| 亚洲免费在线视频| 91麻豆福利精品推荐| 亚洲图片你懂的| 91在线免费看| 亚洲欧美国产三级| 99久久久无码国产精品| 中文字幕日韩av资源站| 99免费精品在线| 亚洲欧美在线视频观看| 91视频com| 亚洲综合久久av| 欧美日韩久久一区| 首页欧美精品中文字幕| 日韩午夜激情电影| 精品一区二区影视| 久久天堂av综合合色蜜桃网| 国产在线播精品第三| 亚洲国产成人一区二区三区| 成人免费看片app下载| 亚洲摸摸操操av| 欧美无砖砖区免费| 免费在线观看视频一区| 日韩美女视频在线| 国产精品一区二区免费不卡| 亚洲国产精品精华液2区45| 91小视频免费看| 亚洲午夜国产一区99re久久| 91精品视频网| 国产一区二区三区国产| 中文字幕一区在线观看| 欧美丝袜丝交足nylons| 精品亚洲aⅴ乱码一区二区三区| 久久蜜桃av一区二区天堂| 99久久精品国产观看| 日日欢夜夜爽一区| 久久久久国产免费免费 | 欧美日韩国产高清一区| 免费高清在线一区| 国产亚洲人成网站| 色av一区二区| 久久99精品视频| 亚洲欧美日韩中文字幕一区二区三区| 日本丶国产丶欧美色综合|