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

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

?? miwideline.h

?? linux下電話本所依賴的一些圖形庫
?? H
字號:
/* $TOG: miwideline.h /main/12 1998/02/09 14:49:26 kaleb $ *//*Copyright 1988, 1998  The Open GroupAll Rights Reserved.The above copyright notice and this permission notice shall be includedin all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESSOR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OFMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OROTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OROTHER DEALINGS IN THE SOFTWARE.Except as contained in this notice, the name of The Open Group shallnot be used in advertising or otherwise to promote the sale, use orother dealings in this Software without prior written authorizationfrom The Open Group.*//* $XFree86: xc/programs/Xserver/mi/miwideline.h,v 1.7 1998/10/04 09:39:35 dawes Exp $ *//* Author:  Keith Packard, MIT X Consortium */#ifndef MI_WIDELINE_H#define MI_WIDELINE_H 1#include "mispans.h"/*  * interface data to span-merging polygon filler */typedef struct _SpanData {    SpanGroup	fgGroup, bgGroup;} SpanDataRec, *SpanDataPtr;#define AppendSpanGroup(pGC, pixel, spanPtr, spanData) { \	SpanGroup   *group, *othergroup = NULL; \	if (pixel->pixel == GDK_GC_FBDATA(pGC)->values.foreground.pixel) \	{ \	    group = &spanData->fgGroup; \	    if (GDK_GC_FBDATA(pGC)->values.line_style == GDK_LINE_DOUBLE_DASH) \		othergroup = &spanData->bgGroup; \	} \	else \	{ \	    group = &spanData->bgGroup; \	    othergroup = &spanData->fgGroup; \	} \	miAppendSpans (group, othergroup, spanPtr); \}/* * Polygon edge description for integer wide-line routines */typedef struct _PolyEdge {    int	    height;	/* number of scanlines to process */    int	    x;		/* starting x coordinate */    int	    stepx;	/* fixed integral dx */    int	    signdx;	/* variable dx sign */    int	    e;		/* initial error term */    int	    dy;    int	    dx;} PolyEdgeRec, *PolyEdgePtr;#define SQSECANT 108.856472512142 /* 1/sin^2(11/2) - miter limit constant *//* * types for general polygon routines */typedef struct _PolyVertex {    double  x, y;} PolyVertexRec, *PolyVertexPtr;typedef struct _PolySlope {    int	    dx, dy;    double  k;	    /* x0 * dy - y0 * dx */} PolySlopeRec, *PolySlopePtr;/* * Line face description for caps/joins */typedef struct _LineFace {    double  xa, ya;    int	    dx, dy;    int	    x, y;    double  k;} LineFaceRec, *LineFacePtr;/* * macros for polygon fillers */#define MIPOLYRELOADLEFT    if (!left_height && left_count) { \	    	    	    	left_height = left->height; \	    	    	    	left_x = left->x; \	    	    	    	left_stepx = left->stepx; \	    	    	    	left_signdx = left->signdx; \	    	    	    	left_e = left->e; \	    	    	    	left_dy = left->dy; \	    	    	    	left_dx = left->dx; \	    	    	    	--left_count; \	    	    	    	++left; \			    }#define MIPOLYRELOADRIGHT   if (!right_height && right_count) { \	    	    	    	right_height = right->height; \	    	    	    	right_x = right->x; \	    	    	    	right_stepx = right->stepx; \	    	    	    	right_signdx = right->signdx; \	    	    	    	right_e = right->e; \	    	    	    	right_dy = right->dy; \	    	    	    	right_dx = right->dx; \	    	    	    	--right_count; \	    	    	    	++right; \			}#define MIPOLYSTEPLEFT  left_x += left_stepx; \    	    	    	left_e += left_dx; \    	    	    	if (left_e > 0) \    	    	    	{ \	    	    	    left_x += left_signdx; \	    	    	    left_e -= left_dy; \    	    	    	}#define MIPOLYSTEPRIGHT right_x += right_stepx; \    	    	    	right_e += right_dx; \    	    	    	if (right_e > 0) \    	    	    	{ \	    	    	    right_x += right_signdx; \	    	    	    right_e -= right_dy; \    	    	    	}#define MILINESETPIXEL(pDrawable, pGC, pixel, oldPixel) { \    oldPixel = GDK_GC_FBDATA(pGC)->values.foreground; \    if (pixel->pixel != oldPixel.pixel) { \        gdk_gc_set_foreground(pGC, pixel); \    } \}#define MILINERESETPIXEL(pDrawable, pGC, pixel, oldPixel) { \    if (pixel->pixel != oldPixel.pixel) { \        gdk_gc_set_foreground(pGC, &oldPixel); \    } \}#ifndef ICEIL#ifdef NOINLINEICEIL#define ICEIL(x) ((int)ceil(x))#else#ifdef __GNUC__#define ICEIL ICIELstatic __inline int ICEIL(double x){    int _cTmp = x;    return ((x == _cTmp) || (x < 0.0)) ? _cTmp : _cTmp+1;}#else#define ICEIL(x) ((((x) == (_cTmp = (x))) || ((x) < 0.0)) ? _cTmp : _cTmp+1)#define ICEILTEMPDECL static int _cTmp;#endif#endif#endifextern void miFillPolyHelper(GdkDrawable* pDrawable, GdkGC* pGC,                             GdkColor * pixel, SpanDataPtr spanData, int y,                             int overall_height, PolyEdgePtr left,                             PolyEdgePtr right, int left_count,                             int right_count);extern int miRoundJoinFace(LineFacePtr face, PolyEdgePtr edge,                           gboolean * leftEdge);extern void miRoundJoinClip(LineFacePtr pLeft, LineFacePtr pRight,                            PolyEdgePtr edge1, PolyEdgePtr edge2, int *y1,                            int *y2, gboolean *left1, gboolean *left2);extern int miRoundCapClip(LineFacePtr face, gboolean isInt, PolyEdgePtr edge,                          gboolean *leftEdge);extern void miLineProjectingCap(GdkDrawable* pDrawable, GdkGC* pGC,                                GdkColor *pixel, SpanDataPtr spanData,                                LineFacePtr face, gboolean isLeft,                                double xorg, double yorg, gboolean isInt);extern SpanDataPtr miSetupSpanData(GdkGC* pGC, SpanDataPtr spanData, int npt);extern void miCleanupSpanData(GdkDrawable* pDrawable, GdkGC* pGC,                              SpanDataPtr spanData);extern int miPolyBuildEdge(double x0, double y0, double k, int dx, int dy,				int xi, int yi, int left, PolyEdgePtr edge);extern int miPolyBuildPoly(PolyVertexPtr vertices, PolySlopePtr slopes,				int count, int xi, int yi, PolyEdgePtr left,				PolyEdgePtr right, int *pnleft, int *pnright,				int *h);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线看片a免费观看| 欧美高清精品3d| 免费黄网站欧美| 国产成人av一区二区三区在线观看| 国产在线播放一区| www.久久久久久久久| 91成人网在线| 精品国产麻豆免费人成网站| 国产精品污污网站在线观看| 一区二区激情小说| 蜜桃av一区二区| 白白色 亚洲乱淫| 这里是久久伊人| 欧美国产精品久久| 午夜精品福利一区二区蜜股av | 欧美吻胸吃奶大尺度电影| 欧美日韩色综合| 亚洲精品在线电影| 亚洲自拍偷拍欧美| 成人爽a毛片一区二区免费| 欧美在线不卡一区| 久久精品视频网| 性感美女久久精品| 99国产精品国产精品毛片| 91 com成人网| 亚洲精品中文字幕乱码三区| 国产精品白丝jk黑袜喷水| 欧美天堂一区二区三区| 亚洲国产岛国毛片在线| 免费不卡在线观看| 欧美性大战久久久久久久蜜臀| 国产丝袜美腿一区二区三区| 香蕉久久夜色精品国产使用方法| 成人夜色视频网站在线观看| 精品国内二区三区| 亚洲bdsm女犯bdsm网站| 色综合一个色综合| 欧美一区二区精美| 中文字幕日本不卡| 丁香激情综合国产| 日韩欧美精品在线| 视频一区在线视频| 欧美在线一区二区| 亚洲女同女同女同女同女同69| 国产在线不卡一区| 精品欧美久久久| 毛片av一区二区| 欧美影院午夜播放| 亚洲一区免费观看| 色菇凉天天综合网| 一区二区高清视频在线观看| 成人ar影院免费观看视频| 久久综合一区二区| 精品一区二区三区蜜桃| 欧美成人r级一区二区三区| 视频一区二区三区在线| 欧美色综合久久| 亚洲国产视频直播| 777xxx欧美| 久久国产精品色| 国产丝袜在线精品| www.在线成人| 亚洲乱码国产乱码精品精可以看| 亚洲一区二区三区四区五区中文| 色香蕉久久蜜桃| 午夜视黄欧洲亚洲| 在线一区二区三区做爰视频网站| 亚洲视频一二三区| 欧美亚洲高清一区| 偷拍与自拍一区| 日韩一区二区电影网| 韩国一区二区三区| 亚洲国产精品二十页| av不卡一区二区三区| 亚洲精品乱码久久久久久黑人| 欧美伊人久久久久久久久影院| 亚洲美女淫视频| 欧美一区二区国产| 国产成人av自拍| 国产精品三级视频| 在线日韩一区二区| 美女高潮久久久| 一级做a爱片久久| 国产欧美精品区一区二区三区| 精品视频1区2区| 91亚洲男人天堂| 久久er精品视频| 五月综合激情网| 中文字幕一区三区| 精品粉嫩aⅴ一区二区三区四区| 91视视频在线观看入口直接观看www | 成人精品免费视频| 丝袜亚洲另类欧美综合| 国产精品丝袜久久久久久app| 欧美欧美午夜aⅴ在线观看| 丁香另类激情小说| 激情综合色综合久久| 香蕉乱码成人久久天堂爱免费| 国产精品不卡一区| 中文字幕免费在线观看视频一区| 日韩欧美你懂的| 91精品国产美女浴室洗澡无遮挡| 91麻豆国产在线观看| 波多野结衣在线一区| 国产一区二区三区| 麻豆精品一区二区综合av| 亚洲成人av免费| 亚洲国产视频一区二区| 亚洲最大色网站| 国产精品国产三级国产三级人妇| 久久视频一区二区| 久久一留热品黄| 国产视频视频一区| 久久久久久亚洲综合| 久久影院午夜片一区| 久久久精品免费网站| 久久久777精品电影网影网| 欧美成va人片在线观看| 精品欧美久久久| 久久综合色之久久综合| 精品国产凹凸成av人导航| xf在线a精品一区二区视频网站| 日韩欧美激情四射| 26uuu亚洲综合色欧美| 日韩一二在线观看| 精品国产髙清在线看国产毛片| 精品日韩在线一区| 久久久久久久久久久99999| 久久久久久电影| 国产精品久久久久久妇女6080| 国产精品久久久99| 亚洲国产一区二区视频| 免费精品99久久国产综合精品| 久久精品国产精品亚洲综合| 九九九精品视频| bt欧美亚洲午夜电影天堂| 色婷婷综合久久久中文字幕| 91福利在线免费观看| 在线不卡一区二区| 精品久久久久久无| 中文字幕欧美日韩一区| 亚洲一二三四在线观看| 麻豆91免费看| 99国产精品久久久久久久久久久| 欧美午夜在线观看| 久久综合国产精品| 成人免费一区二区三区在线观看| 亚洲自拍偷拍欧美| 国产一区二区三区免费看| 成人福利视频在线| 欧美一区二区三区四区五区 | 一区二区在线免费| 久久精品国产精品亚洲综合| eeuss鲁一区二区三区| 欧美亚洲自拍偷拍| 久久亚洲一区二区三区明星换脸| 国产精品午夜电影| 日韩电影一二三区| 国产69精品久久777的优势| 欧美三区在线视频| 国产亚洲一二三区| 首页综合国产亚洲丝袜| 成人午夜视频福利| 日韩亚洲欧美一区二区三区| 国产精品久久久久久久浪潮网站| 日韩专区一卡二卡| 99国产精品一区| 亚洲精品一线二线三线| 亚洲国产精品欧美一二99| 国产福利精品一区二区| 51精品国自产在线| 综合欧美一区二区三区| 国产一区福利在线| 欧美剧在线免费观看网站 | 91首页免费视频| 久久精品视频免费| 老司机精品视频导航| 在线看国产一区| 自拍偷拍亚洲综合| 国产91精品一区二区| 精品捆绑美女sm三区| 性久久久久久久久久久久| 99国产欧美另类久久久精品| 国产亲近乱来精品视频| 免费观看91视频大全| 欧美色爱综合网| 亚洲欧美偷拍三级| www.99精品| 中文字幕欧美国产| 国产·精品毛片| 久久免费的精品国产v∧| 琪琪久久久久日韩精品| 欧美日韩电影在线播放| 亚洲高清不卡在线| 欧美图片一区二区三区| 亚洲精品亚洲人成人网在线播放| 成人免费视频免费观看| 欧美激情在线免费观看| 国产黄色成人av| 欧美激情一区二区三区四区|