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

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

?? ddcompo.h

?? 赤壁之戰的游戲源代碼
?? H
字號:
/////////////
//	DDCompo.h		:	v0043
//	Written by		:	Liu Gang
//	Compiler		:	Microsoft Visual C++ 4.0 & DirectX
//	Library			:	DDraw.Lib
//	Copyright (C)	:	1996 WayAhead Corporation 
//	v0020			:	Nov.12.1996
//	v0030			:	Dec.11.1996, upgrade to DirectDraw 2.0 or higher
//	v0031			:	Jan.22.1997, fix one reported bug, and change something in SetRange()
//	v0040			:	Feb.13.1997, changed some cursor functions, deleted surface m_lpSpriteBuffer
//	v0041			:	Mar.5.1997,	add member m_bShow and function Show()
//	v0042			:	Mar.22.1997, add some global functions for cursor
//						Fixed a bug when cursor is animating, add Erase() to CDDCursor
//	v0043			:	Apr.9.1997, changed the name of one of cursor's member m_bCreated to m_bCreatedC
/////////////
// header file
// DirectDraw components
// mouse cursor, framerate, etc

#ifndef	__DDCOMPO_H__
#define	__DDCOMPO_H__
#include "DDAPI.h"		// direct draw objects

#define	DDC_ERROR_ID	200
//////////////////


// frame rate
//////////////////
// load frame rate file
// filename		:	bitmap file to display framerate
// return value	:	TRUE if succeeded
BOOL DDC_LoadFrameRate( LPCTSTR filename );

// draw frame rate
void DDC_DisplayFrameRate( void );

// show frame rate or not
// bShow	:	TRUE for show frame rate
void DDC_ShowFrameRate( BOOL bShow = TRUE );

// get frame rate
int DDC_GetFrameRate();
//////////////////


// cursor
//////////////////
#define		DDC_CURSOR_STATE_MAX	16
#define		DDC_CURSOR_STATE_NONE	-1
#define		DDC_CURSOR_STATE_NORMAL	0

//////////////////
class CDDCursor	:	public CDDSurface
{
	BOOL m_bCreatedC;	// TRUE after run Load(), before run Release()
	BOOL m_bShow;		// 是否隱藏鼠標

#ifdef	_CURSOR_OLD_VERSION_
	// 顯示sprite時要更新鼠標,存儲中間結果的面
	class CDDSurface	*m_lpSpriteBuffer;	// Sprite buffer
#endif	// _CURSOR_OLD_VERSION_

	// 顯示鼠標時用來存儲中間結果的面
	class CDDSurface	*m_lpMixBuffer;	// mix buffer

	SIZE	m_szSize;		// size of cursor
	POINT	m_ptPos;		// positoin of cursor

	RECT	m_rcRange;		// moving range
	int		m_nState;		// state of cursor, column of cursor
	int		m_nStateLast;	// last state of cursor, column of cursor
	int		m_nFrame;		// frame of cursor, row of cursor
	int		m_nFrameLast;	// last frame of cursor, row of cursor
	int		m_nSpeed;		// animation speed, the more the slower

	POINT	m_ptHotspot[DDC_CURSOR_STATE_MAX];		// hotspot of each state
	int		m_nFrameCount[DDC_CURSOR_STATE_MAX];	// frames per state

public:
	// constructor
	CDDCursor();
	// destructor
	~CDDCursor();

	// create cursor 
	// filename		:	cursor bitmap filename 
	// nCol			:	cursor state, 橫向排列在位圖中,大小一樣, cannot be zero
	// nRow			:	cursor frame, 縱向排列在位圖中,動畫鼠標的每一幀, cannot be zero
	// return value	:	TRUE if succeeded
	BOOL Load( LPCTSTR filename, int nCol=1, int pnRow[]=NULL, POINT pptHotspot[]=NULL );

	// create cursor 
	// filename		:	cursor bitmap compact file
	// nIndex		:	index number in compact file
	// nCol			:	cursor state, 橫向排列在位圖中,大小一樣, cannot be zero
	// nRow			:	cursor frame, 縱向排列在位圖中,動畫鼠標的每一幀, cannot be zero
	// return value	:	TRUE if succeeded
	BOOL LoadEx( LPSTR filename, LPSTR fileIndex, int nIndex, int nCol=1, int pnRow[]=NULL, POINT pptHotspot[]=NULL );

	// release surfaces
	void Release();

	// set cursor moving range
	// rcRange		:	new range for mouse moving in
	// return value	:	old range for mouse moving in
	// Warning	:	A bug report here:
	//				Cannot erase old cursor if change range in run time
	RECT SetRange( CONST RECT *lprcRange );

	// set cursor state
	// nState		:	new state
	// return value	:	old state
	int	SetState( int nState );

	// set cursor frame
	// nFrame		:	new frame
	// return value	:	old frame
	int SetFrame( int nFrame );

	// set cursor animation speed
	// nSpeed		:	new speed
	// return value	:	old speed
	int SetSpeed( int nSpeed );

	// get cursor position
	POINT GetPos(){ return m_ptPos; }

	// get cursor rectangle
	RECT GetRect();

	// get cursor range
	RECT GetRange(){ return m_rcRange; }

	// get cursor state
	int GetState(){ return m_nState; }

	// get cursor frame
	int GetFrame(){ return m_nFrame; }

	// get animate speed
	int GetSpeed(){ return m_nSpeed; }

	// change cursor to next frame when display
	void Animate();

	// 應用程序在顯示鼠標光標時應該使用此函數
	// draw cursor to front surface
	// bForce		:	TRUE for force drawing
	// return value	:	TRUE for has drew
	BOOL Draw( BOOL bForce=FALSE );

	// 應用程序在擦除鼠標光標時應該使用此函數
	// erase cursor to front surface, doesn't change frame
	// return value	:	TRUE for has erased
	BOOL CDDCursor::Erase();

	// 把鼠標顯示在背景面上(BackBuffer),特殊情況下使用
	// 把背景面保存在m_lpMixBuffer中
	// draw corsor to back buffer
	// stores back ground to m_lpMixBuffer
	// prcCut		:	只顯示在此矩形區域內,if NULL則不操作
	// return value	:	TRUE for has drew
	BOOL Draw2Back( CONST RECT *prcCut = NULL );

	// 把保存的背景面(在m_lpMixBuffer中)放回背景
	// restores from m_lpMixBuffer to back buffer
	// prcCut		:	只顯示在此矩形區域內,if NULL則不操作
	// return value	:	TRUE for has drew
	BOOL Restore2Back( CONST RECT *prcCut = NULL );

	// 顯示或隱藏鼠標光標
	void Show( BOOL bShow = TRUE ){ m_bShow = bShow; }
	// 該光標是否在顯示中
	BOOL IfShow(){return m_bShow;}

#ifdef	_CURSOR_OLD_VERSION_
	// when draw sprite should draw cursor on it
	// used only in DDCompo.cpp, do not use outside
	// pRect1, pRect2	:	the new and old positoin of the sprite
	// return value		:	if one rectangle is NULL, or did not draw, return FALSE
	// Warning	:	A bug report here
	//				Draw cursor on any sprite even if cursor is out of range
	BOOL drawSprite( CONST RECT *pRect1, CONST RECT *pRect2 );
#endif	// _CURSOR_OLD_VERSION_
};
//////////////////

// global functions for cursor
//////////////////
// set the cursor as the current cursor
// pCursor	:	cursor pointer to be set
// return	:	TRUE if the cursor is not null now
BOOL CURSOR_Set( class CDDCursor *pCursor );

// get the current cursor
extern class CDDCursor *CURSOR_Get();

// animate cursor, should be called each cycle
extern void CURSOR_Animate();
//////////////////

// display sprite functions
//////////////////
// set sprite moving range
// rcRange		:	range for sprites to move
// return value	:	old range for sprites to move
RECT DDC_SetSSpriteRange( RECT rcRange );

// 應用程序在更新完sprites后應該調用此函數,而不是DD_UpdateScreen()
// this function will redraw cursor automatically
// 兩個矩形一般為該sprite在舊位置上的矩形和新位置上的矩形
// update two rectangles from back buffer to front buffer
// if the two rectangles cross, it will combine it to a large rectangle,
// else	update two rectangles seperatly
// pRect1, pRect2	:	the two rectangles
// return value		:	if one is NULL, return FALSE
BOOL DDC_UpdateSprite( CONST RECT *pRect1, CONST RECT *pRect2 );

// when need update, should use this functions instead of DD_UpdateScreen() in DDAPI.h
// update only one rectangle of back buffer to front buffer
void DDC_UpdateScreen( RECT *pRect=NULL );

// set max size of sprites
// in order to take effect, you must call this function before CDDCursor::Load()
// szMax		:	max size of sprites
// return value	:	old max size of sprites
// sprite的矩形乘2或新舊位置的總矩形不能大于此值,用于優化顯示
SIZE DDC_SetSpriteMaxSize( SIZE szMax );
//////////////////

// sub-draw functions
//////////////////
// draw rectangle on screen, by using DC
// pRect		:	rectangle to draw
// color		:	color to draw
// bFront		:	TRUE for draw it on front buffer
// return value	:	TRUE if succeeded
BOOL DDC_FrameRect( CONST RECT *pRect, COLORREF color, BOOL bFront=FALSE );

// draw rectangle on one surface, by using DC
// pRect		:	rectangle to draw
// color		:	color to draw
// bFront		:	TRUE for draw it on front buffer
// return value	:	TRUE if succeeded
BOOL DDC_FrameRect( LPDIRECTDRAWSURFACE2 lpDDS, CONST RECT *pRect, COLORREF color );
//////////////////
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人一二三区| 国产九色精品成人porny| 免费人成网站在线观看欧美高清| 午夜精品一区二区三区免费视频| 久久国产精品99久久久久久老狼| 亚洲午夜私人影院| 亚洲成a人v欧美综合天堂| 青青国产91久久久久久| 狠狠色2019综合网| 成人国产亚洲欧美成人综合网| 白白色亚洲国产精品| 欧美老肥妇做.爰bbww视频| 日韩欧美一二区| 日韩av高清在线观看| 欧美日韩亚洲不卡| 亚洲无线码一区二区三区| 国产一区 二区| 7777精品伊人久久久大香线蕉的 | 亚洲欧美日韩一区二区三区在线观看| 亚洲日本免费电影| 国产一区二区三区久久久| 成人动漫一区二区三区| 日本亚洲欧美天堂免费| 国产在线视频一区二区| 欧美精品丝袜久久久中文字幕| 国产片一区二区三区| www.久久久久久久久| 亚洲国产岛国毛片在线| 成人h动漫精品一区二区| 国产精品久久久久影院色老大| 高清在线成人网| 国产偷国产偷精品高清尤物| 中文字幕欧美日本乱码一线二线| 日韩美女一区二区三区四区| 国产色爱av资源综合区| 综合激情网...| 国产又粗又猛又爽又黄91精品| 在线一区二区视频| 亚洲成在人线在线播放| 精品电影一区二区三区| 中文字幕一区二区三区不卡在线| 欧美韩国日本综合| 久久精品999| 欧美亚洲综合另类| 国产精品人妖ts系列视频| 免费日本视频一区| 欧洲精品一区二区| 国产女同性恋一区二区| 极品少妇xxxx精品少妇| 欧美伦理视频网站| 五月激情综合婷婷| 日本精品免费观看高清观看| 亚洲欧美日韩小说| 在线免费观看成人短视频| 亚洲欧美一区二区三区极速播放 | 99精品视频一区二区| 精品处破学生在线二十三| 青青草伊人久久| 精品日本一线二线三线不卡 | 一区二区高清免费观看影视大全| 国产69精品一区二区亚洲孕妇 | 成人免费毛片a| 日韩精品电影在线| 中文字幕av一区二区三区| 蜜桃一区二区三区四区| 国产精品五月天| 欧美三级一区二区| 国产69精品久久久久777| 欧美在线视频全部完| 日韩欧美成人午夜| 久久99久久精品欧美| 91超碰这里只有精品国产| 五月天久久比比资源色| 欧美一区二区性放荡片| 欧美日本在线播放| 精品国产电影一区二区| 国产精品996| 久久午夜免费电影| 国产一区二区三区免费播放| 在线欧美小视频| 91视频你懂的| 7777精品伊人久久久大香线蕉最新版 | |精品福利一区二区三区| 国产精品一品二品| 亚洲精品免费看| 91精品免费在线观看| 国产一区二区三区黄视频| 精品成人免费观看| 91精品国产福利在线观看| 亚洲国产日日夜夜| 精品成人一区二区三区四区| 91国产成人在线| 欧美mv和日韩mv国产网站| 亚洲视频免费在线观看| 一区二区三区毛片| 成人精品鲁一区一区二区| 亚洲国产经典视频| 国产一区二区三区在线看麻豆| 欧美亚洲国产一区二区三区va | 国产不卡一区视频| 欧美激情一区二区三区| 国产91精品在线观看| 欧美激情综合五月色丁香| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美成人精精品一区二区频| 男人的天堂久久精品| 欧美一区在线视频| 国产欧美日韩三区| heyzo一本久久综合| 国产欧美日韩一区二区三区在线观看 | 国产精品一二三区| 1000精品久久久久久久久| 99热这里都是精品| 婷婷开心激情综合| www.66久久| 丝袜美腿成人在线| 日韩美女主播在线视频一区二区三区| 美女视频黄a大片欧美| 国产精品美女久久久久aⅴ| 91黄色免费看| 国产伦理精品不卡| 综合自拍亚洲综合图不卡区| 欧美一级欧美一级在线播放| 成人在线视频首页| 亚洲1区2区3区4区| 日本一区二区三区视频视频| 欧美手机在线视频| 国产一区二区不卡老阿姨| 亚洲男同性恋视频| 久久久综合激的五月天| 久久蜜桃av一区二区天堂 | 中文字幕一区免费在线观看| 欧美日韩视频不卡| 国产91富婆露脸刺激对白| 亚洲444eee在线观看| 国产精品蜜臀av| 日韩无一区二区| 91亚洲永久精品| 国内精品国产成人| 天天综合网天天综合色| 国产精品丝袜一区| 热久久久久久久| 波波电影院一区二区三区| 色天天综合久久久久综合片| 91精品综合久久久久久| 中文一区二区在线观看 | 国产人伦精品一区二区| 中文字幕一区二区三区乱码在线| 亚洲二区视频在线| 国产传媒欧美日韩成人| 欧美视频你懂的| 欧美国产一区二区| 日韩不卡免费视频| 在线中文字幕一区二区| 久久免费看少妇高潮| 一级日本不卡的影视| 97国产精品videossex| 欧美sm美女调教| 狠狠色狠狠色综合日日91app| 欧美情侣在线播放| 国产精品91一区二区| 国产精品久久久久9999吃药| 国产精品一区二区免费不卡| 亚洲欧美日韩中文播放| 在线免费一区三区| 国产精品2024| 亚洲国产成人tv| 久久久久久日产精品| 国产中文字幕一区| 91日韩精品一区| 欧美videos大乳护士334| 99久久精品国产一区| 国产成人av一区二区三区在线观看| 亚洲乱码一区二区三区在线观看| 91蝌蚪porny成人天涯| 风间由美一区二区三区在线观看| 毛片av一区二区| 日韩高清一区二区| 日韩电影在线一区二区三区| 天使萌一区二区三区免费观看| 亚洲午夜视频在线观看| 一区二区三区日韩欧美精品| 亚洲视频 欧洲视频| 97国产一区二区| 国产一区欧美一区| 色综合久久88色综合天天| 国产精品国产三级国产aⅴ中文| 黄色小说综合网站| 国产午夜精品一区二区| 99免费精品在线观看| 亚洲免费在线电影| 欧美电影影音先锋| 日韩中文字幕一区二区三区| 欧美一区二区三区免费在线看| 日产国产高清一区二区三区| 欧美一区二区视频在线观看| 国产河南妇女毛片精品久久久| 中文字幕在线播放不卡一区| 久久久久久久久久久久电影| 国产日韩欧美不卡|