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

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

?? hints.c

?? source code: Covert TXT to PDF
?? C
?? 第 1 頁 / 共 3 頁
字號:
/* $XConsortium: hints.c,v 1.4 91/10/10 11:18:13 rws Exp $ *//* Copyright International Business Machines, Corp. 1991 * All Rights Reserved * Copyright Lexmark International, Inc. 1991 * All Rights Reserved * * License to use, copy, modify, and distribute this software and its * documentation for any purpose and without fee is hereby granted, * provided that the above copyright notice appear in all copies and that * both that copyright notice and this permission notice appear in * supporting documentation, and that the name of IBM or Lexmark not be * used in advertising or publicity pertaining to distribution of the * software without specific, written prior permission. * * IBM AND LEXMARK PROVIDE THIS SOFTWARE "AS IS", WITHOUT ANY WARRANTIES OF * ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO ANY * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, * AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.  THE ENTIRE RISK AS TO THE * QUALITY AND PERFORMANCE OF THE SOFTWARE, INCLUDING ANY DUTY TO SUPPORT * OR MAINTAIN, BELONGS TO THE LICENSEE.  SHOULD ANY PORTION OF THE * SOFTWARE PROVE DEFECTIVE, THE LICENSEE (NOT IBM OR LEXMARK) ASSUMES THE * ENTIRE COST OF ALL SERVICING, REPAIR AND CORRECTION.  IN NO EVENT SHALL * IBM OR LEXMARK BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF * THIS SOFTWARE. */ /* HINTS    CWEB         V0006 ********                             *//*:h1.HINTS Module - Processing Rasterization Hints &author. Sten F. Andler; continuity by Jeffrey B. Lotspiech (lotspiech@almaden.ibm.com) and DuaineW. Pryor, Jr.  :h3.Include Files The included files are:*/#include <stdio.h>#include "types.h"#include "objects.h"#include "spaces.h"#include "paths.h"#include "regions.h"#include "hints.h" /*:h3.Functions Provided to the TYPE1IMAGER User None.*/ /*:h3.Functions Provided to Other Modules This module provides the following entry point to other modules:*/  /*SHARED LINE(S) ORIGINATED HERE*/ /*:h3.Macros Provided to Other Modules None.*/ /*:h2.InitHints() - Initialize hint data structure*/ #define MAXLABEL 20static struct {  int inuse;  int computed;  struct fractpoint hint;} oldHint[MAXLABEL]; #define ODD(x) (((int)(x)) & 01)#define FPFLOOR(fp) TOFRACTPEL((fp) >> FRACTBITS)#define FPROUND(fp) FPFLOOR((fp) + FPHALF) void InitHints(){  int i;   for (i = 0; i < MAXLABEL; i++)    {    oldHint[i].inuse    = FALSE;    oldHint[i].computed = FALSE;    }} /*:h3.CloseHints(hintP) - Reverse hints that are still open*/ void CloseHints(hintP)  struct fractpoint *hintP;{  int i;   for (i = 0; i < MAXLABEL; i++)    {    if (oldHint[i].inuse)      {      hintP->x -= oldHint[i].hint.x;      hintP->y -= oldHint[i].hint.y;       oldHint[i].inuse = FALSE;       IfTrace3((HintDebug > 1),"  Hint %d was open, hint=(%d,%d)\n",                i, hintP->x, hintP->y);      }    }} /*:h3.ComputeHint(hP, currX, currY, hintP) - Compute the value of a hint*/ static void ComputeHint(hP, currX, currY, hintP)  struct hintsegment *hP;  fractpel currX, currY;  struct fractpoint *hintP;{  fractpel currRef=0, currWidth=0;  int idealWidth;  fractpel hintValue=0;  char orientation; /*By construction, width is never zero.  Therefore we can use thewidth value to determine if the hint has been rotated by amultiple of 90 degrees.*/   if (hP->width.y == 0)    {    orientation = 'v';  /* vertical */    IfTrace0((HintDebug > 0),"  vertical hint\n");    }  else if (hP->width.x == 0)    {    orientation = 'h';  /* horizontal */    IfTrace0((HintDebug > 0),"  horizontal hint\n");    }  else    {    IfTrace0((HintDebug > 0),"  hint not vertical or horizontal\n");    hintP->x = hintP->y = 0;    return;    }   /* Compute currRef and currWidth with a unit of 1 pel */  if (orientation == 'v')      /* vertical */    {    currRef = hP->ref.x + currX;    currWidth = TYPE1_ABS(hP->width.x);    }  else if (orientation == 'h') /* horizontal */    {    currRef = hP->ref.y + currY;    currWidth = TYPE1_ABS(hP->width.y);    }  else                             /* error */    {    abort("ComputeHint: invalid orientation", 4);    }   IfTrace4((HintDebug > 1),    "  currX=%d, currY=%d, currRef=%d, currWidth=%d\n",    currX, currY,    currRef, currWidth);   if ((hP->hinttype == 'b')      /* Bar or stem */    || (hP->hinttype == 's'))    /* Serif */    {    idealWidth = NEARESTPEL(currWidth);    if (idealWidth == 0) idealWidth = 1;    if (ODD(idealWidth))         /* Is ideal width odd? */      {      /* center "ref" over pel */      hintValue = FPFLOOR(currRef) + FPHALF - currRef;      }    else      {      /* align "ref" on pel boundary */      hintValue = FPROUND(currRef) - currRef;      }    if (HintDebug > 2) {          IfTrace1(TRUE,"  idealWidth=%d, ", idealWidth);      }    }  else if (hP->hinttype == 'c')  /* Curve extrema */    {    /* align "ref" on pel boundary */    hintValue = FPROUND(currRef) - currRef;    }  else                           /* error */    {    abort("ComputeHint: invalid hinttype", 5);    }   IfTrace1((HintDebug > 1),"  hintValue=%d", hintValue);   if (orientation == 'v')      /* vertical */    {    hintP->x = hintValue;    hintP->y = 0;    }  else if (orientation == 'h') /* horizontal */    {    hintP->x = 0;    hintP->y = hintValue;    }  else                             /* error */    {    abort("ComputeHint: invalid orientation", 6);    }} /*:h3.ProcessHint(hP, currX, currY, hintP) - Process a rasterization hint*/ void ProcessHint(hP, currX, currY, hintP)  struct hintsegment *hP;  fractpel currX, currY;  struct fractpoint *hintP;{  struct fractpoint thisHint;   IfTrace4((HintDebug > 1),"  ref=(%d,%d), width=(%d,%d)",      hP->ref.x, hP->ref.y,      hP->width.x, hP->width.y);  IfTrace4((HintDebug > 1),", %c %c %c %c",      hP->orientation, hP->hinttype,      hP->adjusttype, hP->direction);  IfTrace1((HintDebug > 1),", label=%d\n", hP->label);   if ((hP->adjusttype == 'm')      /* Move */    || (hP->adjusttype == 'a'))    /* Adjust */    {    /* Look up hint in oldHint table */    if ((hP->label >= 0) && (hP->label < MAXLABEL))      {      if (oldHint[hP->label].computed)        /* Use old hint value if already computed */        {        thisHint.x = oldHint[hP->label].hint.x;        thisHint.y = oldHint[hP->label].hint.y;        oldHint[hP->label].inuse    = TRUE;        }      else        /* Compute new value for hint and store it for future use */        {        ComputeHint(hP, currX, currY, &thisHint);         oldHint[hP->label].hint.x = thisHint.x;        oldHint[hP->label].hint.y = thisHint.y;        oldHint[hP->label].inuse    = TRUE;        oldHint[hP->label].computed = TRUE;        }      }    else                             /* error */      {      abort("ProcessHint: invalid label", 7);      }    }  else if (hP->adjusttype == 'r')  /* Reverse */    {    /* Use the inverse of the existing hint value to reverse hint */    if ((hP->label >= 0) && (hP->label < MAXLABEL))      {      if (oldHint[hP->label].inuse)        {        thisHint.x = -oldHint[hP->label].hint.x;        thisHint.y = -oldHint[hP->label].hint.y;        oldHint[hP->label].inuse = FALSE;        }      else                           /* error */        {        abort("ProcessHint: label is not in use", 8);        }      }    else                           /* error */      {      abort("ProcessHint: invalid label", 9);      }     }  else                           /* error */    {    abort("ProcessHint: invalid adjusttype", 10);    }  IfTrace3((HintDebug > 1),"  label=%d, thisHint=(%d,%d)\n",    hP->label, thisHint.x, thisHint.y);   hintP->x += thisHint.x;  hintP->y += thisHint.y;   IfTrace2((HintDebug > 1),"  hint=(%d,%d)\n",    hintP->x, hintP->y);} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久丝袜美腿综合| 91亚洲精华国产精华精华液| 日本中文在线一区| 亚洲成人久久影院| 亚洲国产日韩a在线播放| 久久久久亚洲综合| 欧美图片一区二区三区| 99在线精品观看| 欧美人妖巨大在线| 久久精品欧美一区二区三区不卡 | 久久天堂av综合合色蜜桃网| 亚洲大片免费看| 欧美探花视频资源| 日本在线不卡视频| 日韩午夜激情电影| 国产高清精品在线| 中文字幕欧美区| 麻豆成人久久精品二区三区小说| 东方欧美亚洲色图在线| 精品免费日韩av| 美女视频网站黄色亚洲| 精品视频在线看| 一区二区国产盗摄色噜噜| 不卡的av网站| 亚洲图片你懂的| 色综合久久中文字幕| 日韩一区二区三区在线视频| 7777精品伊人久久久大香线蕉经典版下载 | www.爱久久.com| 久久成人av少妇免费| 日韩国产高清在线| 色综合久久综合网97色综合| 久久久久国产免费免费| 麻豆91精品91久久久的内涵| 最近日韩中文字幕| 久久国产精品99精品国产| 26uuu精品一区二区| av资源站一区| 美国三级日本三级久久99| 国产视频一区二区在线| 欧美日韩国产一二三| 国产综合色视频| 免费成人在线播放| 亚洲一二三四在线观看| 91精品国产综合久久精品性色| 色噜噜狠狠一区二区三区果冻| 日韩毛片一二三区| 日韩欧美国产综合在线一区二区三区| 国产中文字幕精品| 午夜精品福利久久久| 91精品在线免费| 成人h动漫精品一区二区 | 色一区在线观看| 日本在线不卡一区| 在线亚洲欧美专区二区| 国产精品全国免费观看高清| 久久99精品国产91久久来源| 欧美日韩视频在线第一区| 最近日韩中文字幕| 不卡的av在线| 国产精品免费久久久久| 国产九色精品成人porny| 欧美成人猛片aaaaaaa| 天天影视色香欲综合网老头| 欧美日韩黄色一区二区| 亚洲图片一区二区| 欧美在线观看视频在线| 亚洲一区二区成人在线观看| 色呦呦国产精品| 亚洲人成7777| 色综合久久中文综合久久牛| 亚洲情趣在线观看| 99久久精品免费精品国产| 国产精品国产精品国产专区不蜜| 国产白丝网站精品污在线入口| 久久看人人爽人人| 国产精一区二区三区| 久久精品一区二区三区不卡牛牛| 国内精品免费在线观看| www欧美成人18+| 国产精品香蕉一区二区三区| 国产亚洲成aⅴ人片在线观看| 国产宾馆实践打屁股91| 国产免费观看久久| 成人av网站免费观看| 中文字幕在线一区| 色网综合在线观看| 亚洲一区二区在线播放相泽| 欧美日韩精品一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 一区二区三区日韩精品视频| 在线视频综合导航| 亚洲线精品一区二区三区八戒| 欧美日韩国产天堂| 美女性感视频久久| 国产日韩欧美电影| 91免费国产在线观看| 亚洲一卡二卡三卡四卡五卡| 91精品免费在线| 经典三级一区二区| 国产精品入口麻豆九色| 91久久精品一区二区二区| 日韩福利视频导航| 久久精品欧美日韩精品| 一本色道综合亚洲| 日韩在线卡一卡二| 久久九九久久九九| 色偷偷成人一区二区三区91| 日韩精品免费专区| 久久久国产一区二区三区四区小说| av日韩在线网站| 亚洲18色成人| 国产网站一区二区三区| 欧洲一区在线电影| 国产在线精品视频| 亚洲视频一区二区在线观看| 91精品国产全国免费观看 | 国产精品天美传媒| 欧美日韩精品一区二区天天拍小说| 久久草av在线| 亚洲人吸女人奶水| 日韩一区二区三区视频在线| 成人性生交大片免费| 亚洲福利国产精品| 国产欧美精品一区二区三区四区| 日本韩国视频一区二区| 精彩视频一区二区三区| 一二三区精品福利视频| 精品久久99ma| 欧亚一区二区三区| 国产精品一区二区久久精品爱涩 | 欧美高清hd18日本| 成人性生交大片免费看中文| 丝袜亚洲精品中文字幕一区| 中文字幕第一区第二区| 3atv在线一区二区三区| 99久久综合狠狠综合久久| 麻豆精品久久久| 夜夜操天天操亚洲| 国产无遮挡一区二区三区毛片日本 | 久久久久久电影| 欧美日韩精品专区| 91在线视频18| 国产在线精品免费av| 爽好多水快深点欧美视频| 1区2区3区欧美| 久久精品人人做人人爽97| 91精品国产麻豆| 色8久久精品久久久久久蜜| 国产凹凸在线观看一区二区| 玖玖九九国产精品| 亚洲不卡一区二区三区| 国产精品伦理一区二区| 久久久一区二区三区| 欧美一区国产二区| 欧美色图在线观看| 色诱视频网站一区| av男人天堂一区| 国产成人免费在线观看| 久久99久久久欧美国产| 丝袜美腿亚洲色图| 亚洲综合色噜噜狠狠| 亚洲日本va午夜在线影院| 国产日韩欧美激情| 久久久久国产成人精品亚洲午夜| 日韩一区二区三区视频| 欧美人与性动xxxx| 欧美日韩三级在线| 欧美在线不卡视频| 色婷婷激情一区二区三区| 99在线精品一区二区三区| 成人av在线看| 成人综合在线网站| 国产成+人+日韩+欧美+亚洲| 国产传媒欧美日韩成人| 国产真实精品久久二三区| 精品亚洲免费视频| 麻豆精品新av中文字幕| 麻豆精品久久精品色综合| 麻豆中文一区二区| 精品一区在线看| 极品少妇xxxx精品少妇偷拍 | 久久久国产一区二区三区四区小说 | 亚洲人吸女人奶水| 亚洲你懂的在线视频| 一区二区三区欧美久久| 一区二区激情小说| 婷婷久久综合九色综合绿巨人 | 日韩视频在线你懂得| 日韩欧美中文一区| 精品国产乱码久久久久久蜜臀 | 国产91高潮流白浆在线麻豆 | 国产精品二三区| 亚洲欧美电影院| 亚洲亚洲精品在线观看| 日韩极品在线观看| 久久疯狂做爰流白浆xx| 国产精品69毛片高清亚洲| 成人免费av资源| 91老司机福利 在线|