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

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

?? curve.h

?? Windows 圖形編程 書籍
?? H
字號:
#pragma once

//-----------------------------------------------------------------------------------//
//              Windows Graphics Programming: Win32 GDI and DirectDraw               //
//                             ISBN  0-13-086985-6                                   //
//                                                                                   //
//  Written            by  Yuan, Feng                             www.fengyuan.com   //
//  Copyright (c) 2000 by  Hewlett-Packard Company                www.hp.com         //
//  Published          by  Prentice Hall PTR, Prentice-Hall, Inc. www.phptr.com      //
//                                                                                   //
//  FileName   : curve.h						                                     //
//  Description: Path data, curve transformation, styled curve                       //
//  Version    : 1.00.000, May 31, 2000                                              //
//-----------------------------------------------------------------------------------//

class KDash
{
public:
	virtual double GetLength(int step)
	{
		return 10;
	}

	virtual BOOL DrawDash(double x1, double y1, double x2, double y2, int step)
	{
		return FALSE;
	}
};



class K2DMap
{
public:
	virtual void Map(long & px, long & py) = 0;
};


class KBiLinearMap : public K2DMap
{
	double x00, y00, x01, y01, x10, y10, x11, y11;
	double orgx, orgy, width, height;

public:
	void SetWindow(int x, int y, int w, int h)
	{
		orgx   = x;
		orgy   = y;
		width  = w;
		height = h;
	}

	void SetDestination(POINT P[])
	{
		x00 = P[0].x; y00 = P[0].y;
		x01 = P[1].x; y01 = P[1].y;
		x10 = P[2].x; y10 = P[2].y;
		x11 = P[3].x; y11 = P[3].y;
	}

	virtual void Map(long & px, long & py)
	{
		double x = (px - orgx ) / width;
		double y = (py - orgy ) / height;

		px = (long) ( (1-x) * ( x00 * (1-y) + x01 * y ) +
			              x * ( x10 * (1-y) + x11 * y ) );

		py = (long) ( (1-x) * ( y00 * (1-y) + y01 * y ) +
			              x * ( y10 * (1-y) + y11 * y ) );
	}
};


class KTransCurve
{
	int   m_orgx; // first point in a figure
	int   m_orgy;

	float x0;	  // current last point	
	float y0;
	float m_dstx;
	float m_dsty;
	int   m_seglen; // segment length to break

	virtual void  Map(float x, float y, float & rx, float & ry)
	{
		rx = x;
		ry = y;
	}

	virtual BOOL DrvLineTo(HDC hDC, int x, int y)
	{
		return ::LineTo(hDC, x, y);
	}

	virtual BOOL DrvMoveTo(HDC hDC, int x, int y)
	{
		return ::MoveToEx(hDC, x, y, NULL);
	}

	virtual BOOL DrvBezierTo(HDC hDC, POINT p[])
	{
		return ::PolyBezierTo(hDC, p, 3);
	}	

	BOOL BezierTo(HDC hDC, float x1, float y1, float x2, float y2, float x3, float y3);
	
public:

	KTransCurve(int seglen)
	{
		m_seglen = seglen;
	}

	BOOL   MoveTo(HDC hDC, int x, int y);

	BOOL BezierTo(HDC hDC, int x1, int y1, int x2, int y2, int x3, int y3)
	{
		return BezierTo(hDC, (float) x1, (float) y1, (float) x2, (float) y2, (float) x3, (float) y3);
	}
	
	BOOL CloseFigure(HDC hDC)
	{
		LineTo(hDC, m_orgx, m_orgy );

		return ::CloseFigure(hDC);
	}

	BOOL LineTo(HDC hDC, int x3, int y3)
	{
		return BezierTo(hDC, (x0*2+x3)/3, (y0*2+y3)/3, (x0+x3*2)/3, (y0+y3*2)/3, (float) x3, (float) y3);
	}
};


class KPathData
{
public:
	POINT * m_pPoint;
	BYTE  * m_pFlag;
	int     m_nCount;

	KPathData()
	{
		m_pPoint = NULL;
		m_pFlag  = NULL;
		m_nCount = 0;
	}

	~KPathData()
	{
		if ( m_pPoint ) delete m_pPoint;
		if ( m_pFlag  ) delete m_pFlag;
	}

	int  GetPathData(HDC hDC);
	void MarkPoints(HDC hDC, bool bShowLine=true);
	void MapPoints(K2DMap & map);

	BOOL Draw(HDC hDC, KTransCurve & transformer, bool bPath);
};


class KStyleCurve
{
	int		 m_step;
	double	 m_x1, m_y1;
	KDash  * m_pDash;

public:

	KStyleCurve(KDash * pDash)
	{
		m_x1   = 0;
		m_y1   = 0;
		m_step = 0;
		m_pDash= pDash;
	}

	BOOL MoveTo(double x, double y);
	BOOL LineTo(double x, double y);
	BOOL PolyDraw(const POINT *ppt, const BYTE *pbTypes, int nCount);
};


class KDashes : public KDash
{
	HDC    m_hDC;
	int    m_test;

	virtual double GetLength(int step)
	{
		if ( step & 1)
			return 5+m_test;
		else
			return 5+m_test*2;
	}

	virtual BOOL DrawDash(double x1, double y1, double x2, double y2, int step);
	
public:
	
	KDashes(HDC hDC, int test)
	{
		m_hDC   = hDC;
		m_test  = test;
	}
};


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区四区国产精品| 国产成人精品亚洲午夜麻豆| 中文字幕二三区不卡| 日韩亚洲欧美在线| 51精品视频一区二区三区| 欧美日韩一级片在线观看| 精品视频在线免费看| 99国产精品视频免费观看| 成人av网站在线| 国产69精品一区二区亚洲孕妇| 美女一区二区三区在线观看| 久久99这里只有精品| 丁香激情综合五月| 国产成人久久精品77777最新版本| 精品一区二区三区香蕉蜜桃 | 99久精品国产| 91丝袜国产在线播放| 色哟哟国产精品免费观看| 在线免费亚洲电影| 91精品久久久久久久久99蜜臂| 日韩欧美一二三区| 国产精品视频线看| 亚洲成人av免费| 国产麻豆精品视频| 99r国产精品| 在线不卡中文字幕| 国产视频亚洲色图| 一区二区三区精品| 精品一二三四在线| 一本色道久久综合亚洲91| 91精品国产日韩91久久久久久| 精品成人免费观看| 亚洲激情中文1区| 久久精品国产精品亚洲精品 | 亚洲第一主播视频| 另类小说色综合网站| 国产成人av电影在线观看| 97超碰欧美中文字幕| 91精品国产综合久久久蜜臀粉嫩 | 成人动漫在线一区| 91精品国产一区二区三区蜜臀| 欧美变态凌虐bdsm| 日韩一区在线播放| 韩国av一区二区三区四区| 波多野结衣亚洲| 欧美一级理论性理论a| 日韩三级视频在线观看| 亚洲视频一二三区| 精品一区二区国语对白| 色香蕉久久蜜桃| 久久亚区不卡日本| 亚洲国产精品自拍| 色综合久久久久久久久| 精品久久人人做人人爰| 一区二区在线看| 成人丝袜18视频在线观看| 日韩写真欧美这视频| 亚洲第一av色| 欧美性色综合网| 亚洲欧美另类综合偷拍| 成人中文字幕合集| 精品国产乱码久久久久久1区2区 | 色噜噜狠狠一区二区三区果冻| 久久亚洲影视婷婷| 久久超级碰视频| 日韩一卡二卡三卡四卡| 亚洲国产精品一区二区www在线| 成人黄页在线观看| 国产蜜臀97一区二区三区| 精品夜夜嗨av一区二区三区| 日韩手机在线导航| 免费观看在线色综合| 欧美日本高清视频在线观看| 夜夜嗨av一区二区三区| 色哦色哦哦色天天综合| 亚洲精品乱码久久久久久黑人| av一区二区三区| 中文字幕一区在线| 99久久夜色精品国产网站| 国产精品免费视频观看| 91麻豆免费看片| 欧美国产日本视频| 成人精品鲁一区一区二区| 国产日产亚洲精品系列| 国产乱对白刺激视频不卡| 欧美一区二区成人| 精彩视频一区二区三区| 久久午夜电影网| 国产成人在线影院| 18成人在线视频| 欧美影院一区二区三区| 亚洲成人黄色影院| 欧美人妇做爰xxxⅹ性高电影| 天天综合色天天综合色h| 日韩精品影音先锋| 成人黄动漫网站免费app| 亚洲视频一二三| 欧美日韩精品一区二区天天拍小说 | 国产精品久久久久影视| 色88888久久久久久影院按摩| 午夜私人影院久久久久| 精品国产三级a在线观看| eeuss鲁片一区二区三区| 亚洲午夜av在线| 26uuu欧美日本| 色中色一区二区| 免费欧美日韩国产三级电影| 亚洲国产精品二十页| 欧美做爰猛烈大尺度电影无法无天| 亚洲成人激情综合网| 久久久www免费人成精品| 91麻豆高清视频| 久久精品国产亚洲高清剧情介绍| www国产成人| 欧美色成人综合| 粉嫩一区二区三区性色av| 午夜天堂影视香蕉久久| 欧美国产1区2区| 91麻豆精品国产| 91亚洲资源网| 国产乱码精品一区二区三区忘忧草 | 7878成人国产在线观看| 成人看片黄a免费看在线| 石原莉奈一区二区三区在线观看| 精品剧情v国产在线观看在线| 在线影院国内精品| 激情伊人五月天久久综合| 亚洲伦在线观看| 久久精品无码一区二区三区| 91精品国产综合久久蜜臀| 99精品视频一区| 久久国产免费看| 亚洲制服丝袜av| 久久久久久久久99精品| 日韩一级二级三级精品视频| 在线亚洲一区二区| k8久久久一区二区三区| 国产最新精品免费| 久久99久久精品| 日韩vs国产vs欧美| 亚洲成人av电影| 亚洲成人免费视| 亚洲国产成人av| 亚洲精品高清在线观看| 自拍偷拍国产精品| 亚洲欧美视频在线观看| 中文字幕在线不卡视频| 国产欧美精品一区二区三区四区| 欧美成人伊人久久综合网| 91精品国产综合久久精品app| 91免费观看国产| 一本色道综合亚洲| 欧美性色综合网| 精品视频在线免费看| 欧美久久久久免费| 欧美日韩精品免费| 91精品国产欧美一区二区18| 欧美日韩一区二区三区在线看| 欧美色视频在线| 欧美乱妇15p| 日韩欧美国产综合一区| 精品1区2区在线观看| 久久精品一区二区三区不卡牛牛| 国产亚洲精品aa| 亚洲国产经典视频| 一区二区三区日韩| 奇米888四色在线精品| 另类综合日韩欧美亚洲| 国产精品一区二区男女羞羞无遮挡| 国产一区二区三区久久悠悠色av| 国产一区二区伦理| 99r精品视频| 欧美性受极品xxxx喷水| 91精品久久久久久久99蜜桃| 欧美成人a∨高清免费观看| 国产欧美精品国产国产专区| 国产精品国产三级国产普通话三级| 亚洲视频在线一区| 石原莉奈在线亚洲三区| 国产乱码精品1区2区3区| 懂色中文一区二区在线播放| 色欧美乱欧美15图片| 欧美一级黄色片| 亚洲欧美在线另类| 美腿丝袜亚洲三区| 成人91在线观看| 91精品国产综合久久福利| 欧美国产精品久久| 亚洲午夜在线观看视频在线| 精品中文av资源站在线观看| 91视频一区二区三区| 日韩午夜三级在线| 亚洲欧美在线视频观看| 蜜桃视频一区二区三区| 成人黄色电影在线| 日韩精品在线一区二区| 亚洲国产精品一区二区www | 欧美在线你懂得| 久久精品男人的天堂| 三级在线观看一区二区|