| 
									
										
										
										
											2017-10-12 02:44:44 +08:00
										 |  |  |  | #pragma once
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | #include "emacros.h"
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | #include <vector>
 | 
					
						
							|  |  |  |  | #include <functional>
 | 
					
						
							|  |  |  |  | #include <sstream>
 | 
					
						
							| 
									
										
										
										
											2017-10-12 23:34:13 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | namespace e2d | 
					
						
							|  |  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-10-12 02:44:44 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9>
 | 
					
						
							|  |  |  |  | struct EPoint | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	float x; | 
					
						
							|  |  |  |  | 	float y; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint() | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		x = 0; | 
					
						
							|  |  |  |  | 		y = 0; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint(float x, float y) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		this->x = x; | 
					
						
							|  |  |  |  | 		this->y = y; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint operator + (EPoint const & p) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return EPoint(x + p.x, y + p.y); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint operator - (EPoint const & p) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return EPoint(x - p.x, y - p.y); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint operator * (float const & value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return EPoint(x * value, y * value); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EPoint operator / (float const & value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return EPoint(x / value, y / value); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ʾ<EFBFBD><CABE>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD>Ľṹ<C4BD><E1B9B9>
 | 
					
						
							|  |  |  |  | typedef EPoint EVec; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ʾ<EFBFBD><CABE>С<EFBFBD>Ľṹ<C4BD><E1B9B9>
 | 
					
						
							|  |  |  |  | struct ESize | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	float width; | 
					
						
							|  |  |  |  | 	float height; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize() | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		width = 0; | 
					
						
							|  |  |  |  | 		height = 0; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize(float width, float height) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		this->width = width; | 
					
						
							|  |  |  |  | 		this->height = height; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize operator + (ESize const & size) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return ESize(width + size.width, height + size.height); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize operator - (ESize const & size) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return ESize(width - size.width, height - size.height); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize operator * (float const & value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return ESize(width * value, height * value); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	ESize operator / (float const & value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return ESize(width / value, height / value); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD>Ľṹ<C4BD><E1B9B9>
 | 
					
						
							|  |  |  |  | struct EWindowStyle | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	LPCTSTR m_pIconID;	/* <20><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC> ID */ | 
					
						
							|  |  |  |  | 	bool m_bNoClose;	/* <20><><EFBFBD>ùرհ<D8B1>ť */ | 
					
						
							|  |  |  |  | 	bool m_bNoMiniSize;	/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>ť */ | 
					
						
							|  |  |  |  | 	bool m_bTopMost;	/* <20><><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD> */ | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EWindowStyle() | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		m_pIconID = 0; | 
					
						
							|  |  |  |  | 		m_bNoClose = false; | 
					
						
							|  |  |  |  | 		m_bNoMiniSize = false; | 
					
						
							|  |  |  |  | 		m_bTopMost = false; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EWindowStyle( | 
					
						
							|  |  |  |  | 		LPCTSTR pIconID | 
					
						
							|  |  |  |  | 	) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		m_pIconID = pIconID; | 
					
						
							|  |  |  |  | 		m_bNoClose = false; | 
					
						
							|  |  |  |  | 		m_bNoMiniSize = false; | 
					
						
							|  |  |  |  | 		m_bTopMost = false; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EWindowStyle( | 
					
						
							|  |  |  |  | 		LPCTSTR pIconID, | 
					
						
							|  |  |  |  | 		bool bNoClose, | 
					
						
							|  |  |  |  | 		bool bNoMiniSize, | 
					
						
							|  |  |  |  | 		bool bTopMost | 
					
						
							|  |  |  |  | 	) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		m_pIconID = pIconID; | 
					
						
							|  |  |  |  | 		m_bNoClose = bNoClose; | 
					
						
							|  |  |  |  | 		m_bNoMiniSize = bNoMiniSize; | 
					
						
							|  |  |  |  | 		m_bTopMost = bTopMost; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | class EString | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	EString(); | 
					
						
							| 
									
										
										
										
											2017-12-12 12:18:28 +08:00
										 |  |  |  | 	EString(const wchar_t); | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 	EString(const wchar_t *); | 
					
						
							|  |  |  |  | 	EString(const EString &); | 
					
						
							|  |  |  |  | 	EString(const std::wstring &); | 
					
						
							|  |  |  |  | 	EString(EString &&); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	~EString(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EString& operator=(const wchar_t *); | 
					
						
							|  |  |  |  | 	EString& operator=(const EString &); | 
					
						
							|  |  |  |  | 	EString& operator=(const std::wstring &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	bool operator==(const wchar_t *); | 
					
						
							|  |  |  |  | 	bool operator==(const EString &); | 
					
						
							|  |  |  |  | 	bool operator==(const std::wstring &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	bool operator!=(const wchar_t *); | 
					
						
							|  |  |  |  | 	bool operator!=(const EString &); | 
					
						
							|  |  |  |  | 	bool operator!=(const std::wstring &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	wchar_t &operator[](int); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EString operator+(const wchar_t); | 
					
						
							|  |  |  |  | 	EString operator+(const wchar_t *); | 
					
						
							|  |  |  |  | 	EString operator+(const EString &); | 
					
						
							|  |  |  |  | 	EString operator+(const std::wstring &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	template<typename T> | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	EString operator+(const T value) | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		EString str_temp(*this); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		str_temp += value; | 
					
						
							|  |  |  |  | 		return std::move(str_temp); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EString &operator +=(const wchar_t); | 
					
						
							|  |  |  |  | 	EString &operator +=(const wchar_t *); | 
					
						
							|  |  |  |  | 	EString &operator +=(const EString &); | 
					
						
							|  |  |  |  | 	EString &operator +=(const std::wstring &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	template<typename T> | 
					
						
							|  |  |  |  | 	EString &operator +=(const T value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		std::wostringstream ss; | 
					
						
							|  |  |  |  | 		ss << value; | 
					
						
							|  |  |  |  | 		return (*this) += ss.str(); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-12 11:28:12 +08:00
										 |  |  |  | 	bool operator < (EString const&) const; | 
					
						
							|  |  |  |  | 	bool operator <= (EString const&) const; | 
					
						
							|  |  |  |  | 	bool operator > (EString const&) const; | 
					
						
							|  |  |  |  | 	bool operator >= (EString const&) const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 	operator const wchar_t*() const { return _string; } | 
					
						
							|  |  |  |  | 	operator bool() const { return _size != 0; } | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-12 12:18:28 +08:00
										 |  |  |  | 	friend EString operator+(const wchar_t, const EString &); | 
					
						
							|  |  |  |  | 	friend EString operator+(const wchar_t*, const EString &); | 
					
						
							|  |  |  |  | 	friend EString operator+(const EString &, const EString &); | 
					
						
							|  |  |  |  | 	friend EString operator+(const std::wstring &, const EString &); | 
					
						
							|  |  |  |  | 	template<typename T> | 
					
						
							|  |  |  |  | 	friend EString operator+(const T &value, const EString &str) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return std::move((EString::parse(value) + str2)); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	friend std::wistream &operator>>(std::wistream &, EString &); | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 	// <20>ж<EFBFBD><D0B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>
 | 
					
						
							|  |  |  |  | 	bool isEmpty() const { return _size == 0; } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	int length() const { return _size; } | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>д<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | 	EString upper() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡСд<D0A1>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | 	EString lower() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>ü<EFBFBD><C3BC>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | 	EString sub(int offset, int count = -1) const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>е<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ض<EFBFBD><D8B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>±<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	int findFirstOf(const wchar_t ch) const; | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>ض<EFBFBD><D8B6>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>±<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	int findLastOf(const wchar_t ch) const; | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	EString &append(const wchar_t ch); | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	EString &append(const wchar_t *str); | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	EString &append(const EString &str); | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | 	template<typename T> | 
					
						
							| 
									
										
										
										
											2017-12-11 22:41:53 +08:00
										 |  |  |  | 	EString &append(const T &value) | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		return (*this) += value; | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ɢ<EFBFBD><C9A2>ֵ
 | 
					
						
							|  |  |  |  | 	unsigned int hash() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
 | 
					
						
							|  |  |  |  | 	template<typename T> | 
					
						
							|  |  |  |  | 	static EString parse(const T value) | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		EString str; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		std::wostringstream ss; | 
					
						
							|  |  |  |  | 		ss << value; | 
					
						
							|  |  |  |  | 		str += ss.str(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 		return std::move(str); | 
					
						
							|  |  |  |  | 	} | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | private: | 
					
						
							|  |  |  |  | 	wchar_t *_string; | 
					
						
							|  |  |  |  | 	int _size; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ɫ
 | 
					
						
							| 
									
										
										
										
											2017-10-18 22:13:20 +08:00
										 |  |  |  | class EColor | 
					
						
							| 
									
										
										
										
											2017-10-17 21:22:25 +08:00
										 |  |  |  | { | 
					
						
							| 
									
										
										
										
											2017-10-18 22:13:20 +08:00
										 |  |  |  | public: | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | 	enum COMMON_VALUE | 
					
						
							| 
									
										
										
										
											2017-10-18 22:13:20 +08:00
										 |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		ALICE_BLUE = 0xF0F8FF, | 
					
						
							|  |  |  |  | 		ANTIQUE_WHITE = 0xFAEBD7, | 
					
						
							|  |  |  |  | 		AQUA = 0x00FFFF, | 
					
						
							|  |  |  |  | 		AQUAMARINE = 0x7FFFD4, | 
					
						
							|  |  |  |  | 		AZURE = 0xF0FFFF, | 
					
						
							|  |  |  |  | 		BEIGE = 0xF5F5DC, | 
					
						
							|  |  |  |  | 		BISQUE = 0xFFE4C4, | 
					
						
							|  |  |  |  | 		BLACK = 0x000000, | 
					
						
							|  |  |  |  | 		BLANCHED_ALMOND = 0xFFEBCD, | 
					
						
							|  |  |  |  | 		BLUE = 0x0000FF, | 
					
						
							|  |  |  |  | 		BLUE_VIOLET = 0x8A2BE2, | 
					
						
							|  |  |  |  | 		BROWN = 0xA52A2A, | 
					
						
							|  |  |  |  | 		BURLY_WOOD = 0xDEB887, | 
					
						
							|  |  |  |  | 		CADET_BLUE = 0x5F9EA0, | 
					
						
							|  |  |  |  | 		CHARTREUSE = 0x7FFF00, | 
					
						
							|  |  |  |  | 		CHOCOLATE = 0xD2691E, | 
					
						
							|  |  |  |  | 		CORAL = 0xFF7F50, | 
					
						
							|  |  |  |  | 		CORNFLOWER_BLUE = 0x6495ED, | 
					
						
							|  |  |  |  | 		CORNSILK = 0xFFF8DC, | 
					
						
							|  |  |  |  | 		CRIMSON = 0xDC143C, | 
					
						
							|  |  |  |  | 		CYAN = 0x00FFFF, | 
					
						
							|  |  |  |  | 		DARK_BLUE = 0x00008B, | 
					
						
							|  |  |  |  | 		DARK_CYAN = 0x008B8B, | 
					
						
							|  |  |  |  | 		DARK_GOLDENROD = 0xB8860B, | 
					
						
							|  |  |  |  | 		DARK_GRAY = 0xA9A9A9, | 
					
						
							|  |  |  |  | 		DARK_GREEN = 0x006400, | 
					
						
							|  |  |  |  | 		DARK_KHAKI = 0xBDB76B, | 
					
						
							|  |  |  |  | 		DARK_MAGENTA = 0x8B008B, | 
					
						
							|  |  |  |  | 		DARK_OLIVE_GREEN = 0x556B2F, | 
					
						
							|  |  |  |  | 		DARK_ORANGE = 0xFF8C00, | 
					
						
							|  |  |  |  | 		DARK_ORCHID = 0x9932CC, | 
					
						
							|  |  |  |  | 		DARK_RED = 0x8B0000, | 
					
						
							|  |  |  |  | 		DARK_SALMON = 0xE9967A, | 
					
						
							|  |  |  |  | 		DARK_SEA_GREEN = 0x8FBC8F, | 
					
						
							|  |  |  |  | 		DARK_SLATE_BLUE = 0x483D8B, | 
					
						
							|  |  |  |  | 		DARK_SLATE_GRAY = 0x2F4F4F, | 
					
						
							|  |  |  |  | 		DARK_TURQUOISE = 0x00CED1, | 
					
						
							|  |  |  |  | 		DARK_VIOLET = 0x9400D3, | 
					
						
							|  |  |  |  | 		DEEP_PINK = 0xFF1493, | 
					
						
							|  |  |  |  | 		DEEP_SKY_BLUE = 0x00BFFF, | 
					
						
							|  |  |  |  | 		DIM_GRAY = 0x696969, | 
					
						
							|  |  |  |  | 		DODGER_BLUE = 0x1E90FF, | 
					
						
							|  |  |  |  | 		FIREBRICK = 0xB22222, | 
					
						
							|  |  |  |  | 		FLORAL_WHITE = 0xFFFAF0, | 
					
						
							|  |  |  |  | 		FOREST_GREEN = 0x228B22, | 
					
						
							|  |  |  |  | 		FUCHSIA = 0xFF00FF, | 
					
						
							|  |  |  |  | 		GAINSCORO = 0xDCDCDC, | 
					
						
							|  |  |  |  | 		GHOST_WHITE = 0xF8F8FF, | 
					
						
							|  |  |  |  | 		GOLD = 0xFFD700, | 
					
						
							|  |  |  |  | 		GOLDENROD = 0xDAA520, | 
					
						
							|  |  |  |  | 		GRAY = 0x808080, | 
					
						
							|  |  |  |  | 		GREEN = 0x008000, | 
					
						
							|  |  |  |  | 		GREEN_YELLOW = 0xADFF2F, | 
					
						
							|  |  |  |  | 		HONEYDEW = 0xF0FFF0, | 
					
						
							|  |  |  |  | 		HOT_PINK = 0xFF69B4, | 
					
						
							|  |  |  |  | 		INDIAN_RED = 0xCD5C5C, | 
					
						
							|  |  |  |  | 		INDIGO = 0x4B0082, | 
					
						
							|  |  |  |  | 		IVORY = 0xFFFFF0, | 
					
						
							|  |  |  |  | 		KHAKI = 0xF0E68C, | 
					
						
							|  |  |  |  | 		LAVENDER = 0xE6E6FA, | 
					
						
							|  |  |  |  | 		LAVENDER_BLUSH = 0xFFF0F5, | 
					
						
							|  |  |  |  | 		LAWN_GREEN = 0x7CFC00, | 
					
						
							|  |  |  |  | 		LEMON_CHIFFON = 0xFFFACD, | 
					
						
							|  |  |  |  | 		LIGHT_BLUE = 0xADD8E6, | 
					
						
							|  |  |  |  | 		LIGHT_CORAL = 0xF08080, | 
					
						
							|  |  |  |  | 		LIGHT_CYAN = 0xE0FFFF, | 
					
						
							|  |  |  |  | 		LIGHT_GOLDENROD_YELLOW = 0xFAFAD2, | 
					
						
							|  |  |  |  | 		LIGHT_GREEN = 0x90EE90, | 
					
						
							|  |  |  |  | 		LIGHT_GRAY = 0xD3D3D3, | 
					
						
							|  |  |  |  | 		LIGHT_PINK = 0xFFB6C1, | 
					
						
							|  |  |  |  | 		LIGHT_SALMON = 0xFFA07A, | 
					
						
							|  |  |  |  | 		LIGHT_SEA_GREEN = 0x20B2AA, | 
					
						
							|  |  |  |  | 		LIGHT_SKY_BLUE = 0x87CEFA, | 
					
						
							|  |  |  |  | 		LIGHT_SLATE_GRAY = 0x778899, | 
					
						
							|  |  |  |  | 		LIGHT_STEEL_BLUE = 0xB0C4DE, | 
					
						
							|  |  |  |  | 		LIGHT_YELLOW = 0xFFFFE0, | 
					
						
							|  |  |  |  | 		LIME = 0x00FF00, | 
					
						
							|  |  |  |  | 		LIME_GREEN = 0x32CD32, | 
					
						
							|  |  |  |  | 		LINEN = 0xFAF0E6, | 
					
						
							|  |  |  |  | 		MAGENTA = 0xFF00FF, | 
					
						
							|  |  |  |  | 		MAROON = 0x800000, | 
					
						
							|  |  |  |  | 		MEDIUM_AQUAMARINE = 0x66CDAA, | 
					
						
							|  |  |  |  | 		MEDIUM_BLUE = 0x0000CD, | 
					
						
							|  |  |  |  | 		MEDIUM_ORCHID = 0xBA55D3, | 
					
						
							|  |  |  |  | 		MEDIUM_PURPLE = 0x9370DB, | 
					
						
							|  |  |  |  | 		MEDIUM_SEA_GREEN = 0x3CB371, | 
					
						
							|  |  |  |  | 		MEDIUM_SLATE_BLUE = 0x7B68EE, | 
					
						
							|  |  |  |  | 		MEDIUM_SPRING_GREEN = 0x00FA9A, | 
					
						
							|  |  |  |  | 		MEDIUM_TURQUOISE = 0x48D1CC, | 
					
						
							|  |  |  |  | 		MEDUIM_VIOLET_RED = 0xC71585, | 
					
						
							|  |  |  |  | 		MIDNIGHT_BLUE = 0x191970, | 
					
						
							|  |  |  |  | 		MINT_CREAM = 0xF5FFFA, | 
					
						
							|  |  |  |  | 		MISTY_ROSE = 0xFFE4E1, | 
					
						
							|  |  |  |  | 		MOCCASIN = 0xFFE4B5, | 
					
						
							|  |  |  |  | 		NAVAJO_WHITE = 0xFFDEAD, | 
					
						
							|  |  |  |  | 		NAVY = 0x000080, | 
					
						
							|  |  |  |  | 		OLD_LACE = 0xFDF5E6, | 
					
						
							|  |  |  |  | 		OLIVE = 0x808000, | 
					
						
							|  |  |  |  | 		OLIVE_DRAB = 0x6B8E23, | 
					
						
							|  |  |  |  | 		ORANGE = 0xFFA500, | 
					
						
							|  |  |  |  | 		ORANGE_RED = 0xFF4500, | 
					
						
							|  |  |  |  | 		ORCHID = 0xDA70D6, | 
					
						
							|  |  |  |  | 		PALE_GOLDENROD = 0xEEE8AA, | 
					
						
							|  |  |  |  | 		PALE_GREEN = 0x98FB98, | 
					
						
							|  |  |  |  | 		PALE_TURQUOISE = 0xAFEEEE, | 
					
						
							|  |  |  |  | 		PALE_VIOLET_RED = 0xDB7093, | 
					
						
							|  |  |  |  | 		PAPAYA_WHIP = 0xFFEFD5, | 
					
						
							|  |  |  |  | 		PEACH_PUFF = 0xFFDAB9, | 
					
						
							|  |  |  |  | 		PERU = 0xCD853F, | 
					
						
							|  |  |  |  | 		PINK = 0xFFC0CB, | 
					
						
							|  |  |  |  | 		PLUM = 0xDDA0DD, | 
					
						
							|  |  |  |  | 		POWDER_BLUE = 0xB0E0E6, | 
					
						
							|  |  |  |  | 		PURPLE = 0x800080, | 
					
						
							|  |  |  |  | 		RED = 0xFF0000, | 
					
						
							|  |  |  |  | 		ROSY_BROWN = 0xBC8F8F, | 
					
						
							|  |  |  |  | 		ROYAL_BLUE = 0x4169E1, | 
					
						
							|  |  |  |  | 		SADDLE_BROWN = 0x8B4513, | 
					
						
							|  |  |  |  | 		SALMON = 0xFA8072, | 
					
						
							|  |  |  |  | 		SANDY_BROWN = 0xF4A460, | 
					
						
							|  |  |  |  | 		SEA_GREEN = 0x2E8B57, | 
					
						
							|  |  |  |  | 		SEA_SHELL = 0xFFF5EE, | 
					
						
							|  |  |  |  | 		SIENNA = 0xA0522D, | 
					
						
							|  |  |  |  | 		SILVER = 0xC0C0C0, | 
					
						
							|  |  |  |  | 		SKY_BLUE = 0x87CEEB, | 
					
						
							|  |  |  |  | 		SLATE_BLUE = 0x6A5ACD, | 
					
						
							|  |  |  |  | 		SLATE_GRAY = 0x708090, | 
					
						
							|  |  |  |  | 		SNOW = 0xFFFAFA, | 
					
						
							|  |  |  |  | 		SPRING_GREEN = 0x00FF7F, | 
					
						
							|  |  |  |  | 		STEEL_BLUE = 0x4682B4, | 
					
						
							|  |  |  |  | 		TAN = 0xD2B48C, | 
					
						
							|  |  |  |  | 		TEAL = 0x008080, | 
					
						
							|  |  |  |  | 		THISTLE = 0xD8BFD8, | 
					
						
							|  |  |  |  | 		TOMATO = 0xFF6347, | 
					
						
							|  |  |  |  | 		TURQUOISE = 0x40E0D0, | 
					
						
							|  |  |  |  | 		VIOLET = 0xEE82EE, | 
					
						
							|  |  |  |  | 		WHEAT = 0xF5DEB3, | 
					
						
							|  |  |  |  | 		WHITE = 0xFFFFFF, | 
					
						
							|  |  |  |  | 		WHITE_SMOKE = 0xF5F5F5, | 
					
						
							|  |  |  |  | 		YELLOW = 0xFFFF00, | 
					
						
							|  |  |  |  | 		YELLOW_GREEN = 0x9ACD32 | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸֵ
 | 
					
						
							| 
									
										
										
										
											2017-10-18 22:13:20 +08:00
										 |  |  |  | class EFontWeight | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | 	enum COMMON_VALUE | 
					
						
							| 
									
										
										
										
											2017-10-18 22:13:20 +08:00
										 |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		THIN = 100, | 
					
						
							|  |  |  |  | 		EXTRA_LIGHT = 200, | 
					
						
							|  |  |  |  | 		ULTRA_LIGHT = 200, | 
					
						
							|  |  |  |  | 		LIGHT = 300, | 
					
						
							|  |  |  |  | 		SEMI_LIGHT = 350, | 
					
						
							|  |  |  |  | 		NORMAL = 400, | 
					
						
							|  |  |  |  | 		REGULAR = 400, | 
					
						
							|  |  |  |  | 		MEDIUM = 500, | 
					
						
							|  |  |  |  | 		DEMI_BOLD = 600, | 
					
						
							|  |  |  |  | 		SEMI_BOLD = 600, | 
					
						
							|  |  |  |  | 		BOLD = 700, | 
					
						
							|  |  |  |  | 		EXTRA_BOLD = 800, | 
					
						
							|  |  |  |  | 		ULTRA_BOLD = 800, | 
					
						
							|  |  |  |  | 		BLACK = 900, | 
					
						
							|  |  |  |  | 		HEAVY = 900, | 
					
						
							|  |  |  |  | 		EXTRA_BLACK = 950, | 
					
						
							|  |  |  |  | 		ULTRA_BLACK = 950 | 
					
						
							|  |  |  |  | 	}; | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							|  |  |  |  | class EMouseMsg | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	enum MOUSE_MSG | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		MOVE = 0x0200,	// <20><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
 | 
					
						
							|  |  |  |  | 		LBUTTON_DOWN,	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		LBUTTON_UP,		// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 		LBUTTON_DBLCLK,	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 		RBUTTON_DOWN,	// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		RBUTTON_UP,		// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 		RBUTTON_DBLCLK,	// <20><><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 		MBUTTON_DOWN,	// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		MBUTTON_UP,		// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>̧<EFBFBD><CCA7>
 | 
					
						
							|  |  |  |  | 		MBUTTON_DBLCLK,	// <20><><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>˫<EFBFBD><CBAB>
 | 
					
						
							|  |  |  |  | 		WHEEL			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static DWORD getPosX(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static DWORD getPosY(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static EPoint getPos(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isLButtonDown(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><D0BC><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isMButtonDown(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isRButtonDown(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ Shift <20><><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isShiftDown(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ Ctrl <20><><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isCtrlDown(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 	static DWORD getWheelDelta(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static MOUSE_MSG getMsg(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 	static UINT s_nMsg; | 
					
						
							|  |  |  |  | 	static WPARAM s_wParam; | 
					
						
							|  |  |  |  | 	static LPARAM s_lParam; | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							|  |  |  |  | class EKeyboardMsg | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>
 | 
					
						
							|  |  |  |  | 	enum KEYBOARD_MSG | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		KEY_DOWN = 0x0100,	// <20><><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 		KEY_UP				// ̧<><CCA7>
 | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>
 | 
					
						
							| 
									
										
										
										
											2017-12-15 21:51:07 +08:00
										 |  |  |  | 	enum KEY | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		A = 'A', B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,					// <20><>ĸ<EFBFBD><C4B8>ֵ
 | 
					
						
							|  |  |  |  | 		NUM0 = '0', NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,									// <20><><EFBFBD>ּ<EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		NUMPAD0 = 0x60, NUMPAD1, NUMPAD2, NUMPAD3, NUMPAD4, NUMPAD5, NUMPAD6, NUMPAD7, NUMPAD8, NUMPAD9,	// <20><><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD>̼<EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		F1 = 0x70, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,											// F<><46><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		MULTIPLY,		// <20>˺ż<CBBA><C5BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		ADD,			// <20>Ӻż<D3BA><C5BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		SEPARATOR,		// <20>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		SUBTRACT,		// <20><><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		DECIMAL,		// С<><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		DIVIDE,			// <20><><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		TAB = 0x09,		// TAB <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		ENTER = 0x0D,	// <20>س<EFBFBD><D8B3><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		SHIFT, CTRL, 	// SHIFT <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		ESC = 0x1B, 	// ESCAPE <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		SPACE = 0x20, 	// <20>ո<EFBFBD><D5B8><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		PAGE_UP, 		// PageUp <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		PAGE_DOWN, 		// PageDown <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		END, 			// End <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		HOME, 			// Home <20><><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		LEFT, 			// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		UP, 			// <20>ϼ<EFBFBD><CFBC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		RIGHT, 			// <20>Ҽ<EFBFBD><D2BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 		DOWN			// <20>¼<EFBFBD><C2BC><EFBFBD>ֵ
 | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static KEYBOARD_MSG getMsg(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>ֵ
 | 
					
						
							| 
									
										
										
										
											2017-11-04 18:21:46 +08:00
										 |  |  |  | 	static KEY getKeyValue(); | 
					
						
							| 
									
										
										
										
											2017-10-26 17:17:30 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static DWORD getCount(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>ض<EFBFBD><D8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isKeyDown( | 
					
						
							|  |  |  |  | 		KEY key | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>Сд<D0A1><D0B4><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isCapitalLockOn(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isNumpadLockOn(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
 | 
					
						
							|  |  |  |  | 	static bool isScrollLockOn(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 	static UINT s_nMsg; | 
					
						
							|  |  |  |  | 	static WPARAM s_wParam; | 
					
						
							|  |  |  |  | 	static LPARAM s_lParam; | 
					
						
							| 
									
										
										
										
											2017-10-12 23:34:13 +08:00
										 |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-07 23:04:33 +08:00
										 |  |  |  | class EGeometry; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
 | 
					
						
							|  |  |  |  | class EPhysicsMsg | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	enum INTERSECT_RELATION | 
					
						
							|  |  |  |  | 	{ | 
					
						
							|  |  |  |  | 		UNKNOWN = 0,		/* <20><>ϵ<EFBFBD><CFB5>ȷ<EFBFBD><C8B7> */ | 
					
						
							|  |  |  |  | 		DISJOINT = 1,		/* û<>н<EFBFBD><D0BD><EFBFBD> */ | 
					
						
							|  |  |  |  | 		IS_CONTAINED = 2,	/* <20><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */ | 
					
						
							|  |  |  |  | 		CONTAINS = 3,		/* <20><>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD> */ | 
					
						
							|  |  |  |  | 		OVERLAP = 4			/* <20><><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD> */ | 
					
						
							|  |  |  |  | 	}; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ײ<EFBFBD><D7B2>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static INTERSECT_RELATION getMsg(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static EGeometry * getActiveGeometry(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static EGeometry * getPassiveGeometry(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	static INTERSECT_RELATION s_nRelation; | 
					
						
							|  |  |  |  | 	static EGeometry * s_pActiveGeometry; | 
					
						
							|  |  |  |  | 	static EGeometry * s_pPassiveGeometry; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | class EObjectManager; | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | class EObject | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	friend EObjectManager; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	EObject(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	virtual ~EObject(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
 | 
					
						
							|  |  |  |  | 	void retain(); | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | 	// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>һ
 | 
					
						
							|  |  |  |  | 	void release(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | private: | 
					
						
							|  |  |  |  | 	int m_nRefCount; | 
					
						
							|  |  |  |  | 	bool m_bManaged; | 
					
						
							|  |  |  |  | }; | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | class EText; | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | class EFont : | 
					
						
							|  |  |  |  | 	public EObject | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	friend EText; | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | public: | 
					
						
							|  |  |  |  | 	EFont(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	EFont( | 
					
						
							|  |  |  |  | 		EString fontFamily, | 
					
						
							|  |  |  |  | 		float fontSize = 22, | 
					
						
							|  |  |  |  | 		UINT32 color = EColor::WHITE, | 
					
						
							|  |  |  |  | 		UINT32 fontWeight = EFontWeight::REGULAR, | 
					
						
							|  |  |  |  | 		bool italic = false | 
					
						
							|  |  |  |  | 	); | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | 	virtual ~EFont(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD>ֺ<EFBFBD>
 | 
					
						
							|  |  |  |  | 	float getFontSize() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸֵ
 | 
					
						
							|  |  |  |  | 	UINT32 getFontWeight() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
 | 
					
						
							|  |  |  |  | 	UINT32 getColor() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20>Ƿ<EFBFBD><C7B7><EFBFBD>б<EFBFBD><D0B1>
 | 
					
						
							|  |  |  |  | 	bool isItalic() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	void setFamily( | 
					
						
							| 
									
										
										
										
											2017-11-09 18:22:41 +08:00
										 |  |  |  | 		const EString & fontFamily | 
					
						
							| 
									
										
										
										
											2017-11-04 15:38:41 +08:00
										 |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD>
 | 
					
						
							|  |  |  |  | 	void setSize( | 
					
						
							|  |  |  |  | 		float fontSize | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸֵ
 | 
					
						
							|  |  |  |  | 	void setWeight( | 
					
						
							|  |  |  |  | 		UINT32 fontWeight | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
 | 
					
						
							|  |  |  |  | 	void setColor( | 
					
						
							|  |  |  |  | 		UINT32 color | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>
 | 
					
						
							|  |  |  |  | 	void setItalic( | 
					
						
							|  |  |  |  | 		bool value | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>ʽ
 | 
					
						
							|  |  |  |  | 	void _initTextFormat(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ָ<EFBFBD>ʽ
 | 
					
						
							|  |  |  |  | 	IDWriteTextFormat * _getTextFormat(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	EString		m_sFontFamily; | 
					
						
							|  |  |  |  | 	float		m_fFontSize; | 
					
						
							|  |  |  |  | 	UINT32		m_FontWeight; | 
					
						
							|  |  |  |  | 	UINT32		m_Color; | 
					
						
							|  |  |  |  | 	bool		m_bItalic; | 
					
						
							|  |  |  |  | 	bool		m_bRecreateNeeded; | 
					
						
							|  |  |  |  | 	IDWriteTextFormat * m_pTextFormat; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ESprite; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | class ETexture : | 
					
						
							|  |  |  |  | 	public EObject | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	friend ESprite; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETexture(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD>ȡ<EFBFBD><C8A1>Դ
 | 
					
						
							|  |  |  |  | 	ETexture( | 
					
						
							|  |  |  |  | 		const EString & fileName | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
 | 
					
						
							|  |  |  |  | 	ETexture( | 
					
						
							|  |  |  |  | 		LPCTSTR resourceName, | 
					
						
							|  |  |  |  | 		LPCTSTR resourceType | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	virtual ~ETexture(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>ж<EFBFBD>ȡ<EFBFBD><C8A1>Դ
 | 
					
						
							|  |  |  |  | 	void loadFromFile( | 
					
						
							|  |  |  |  | 		const EString & fileName | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
 | 
					
						
							|  |  |  |  | 	void loadFromResource( | 
					
						
							|  |  |  |  | 		LPCTSTR resourceName, | 
					
						
							|  |  |  |  | 		LPCTSTR resourceType | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡԴͼƬ<CDBC><C6AC><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual float getSourceWidth() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡԴͼƬ<CDBC>߶<EFBFBD>
 | 
					
						
							|  |  |  |  | 	virtual float getSourceHeight() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡԴͼƬ<CDBC><C6AC>С
 | 
					
						
							|  |  |  |  | 	virtual ESize getSourceSize() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
 | 
					
						
							|  |  |  |  | 	static bool preload( | 
					
						
							|  |  |  |  | 		const EString & fileName | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// Ԥ<><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ
 | 
					
						
							|  |  |  |  | 	static bool preload( | 
					
						
							|  |  |  |  | 		LPCTSTR resourceName, | 
					
						
							|  |  |  |  | 		LPCTSTR resourceType | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD>ջ<EFBFBD><D5BB><EFBFBD>
 | 
					
						
							|  |  |  |  | 	static void clearCache(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	ID2D1Bitmap * _getBitmap(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	ID2D1Bitmap * m_pBitmap; | 
					
						
							|  |  |  |  | }; | 
					
						
							| 
									
										
										
										
											2017-10-28 18:48:21 +08:00
										 |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-07 23:04:33 +08:00
										 |  |  |  | 
 | 
					
						
							|  |  |  |  | class ESpriteFrame : | 
					
						
							|  |  |  |  | 	public EObject | 
					
						
							|  |  |  |  | { | 
					
						
							|  |  |  |  | 	friend ESprite; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | public: | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		ETexture * texture | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		const EString & imageFileName | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		LPCTSTR resourceName, | 
					
						
							|  |  |  |  | 		LPCTSTR resourceType | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		ETexture * texture, | 
					
						
							|  |  |  |  | 		float x, | 
					
						
							|  |  |  |  | 		float y, | 
					
						
							|  |  |  |  | 		float width, | 
					
						
							|  |  |  |  | 		float height | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		const EString & imageFileName, | 
					
						
							|  |  |  |  | 		float x, | 
					
						
							|  |  |  |  | 		float y, | 
					
						
							|  |  |  |  | 		float width, | 
					
						
							|  |  |  |  | 		float height | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><><EFBFBD><EFBFBD><EFBFBD>յľ<D5B5><C4BE><EFBFBD>֡
 | 
					
						
							|  |  |  |  | 	ESpriteFrame( | 
					
						
							|  |  |  |  | 		LPCTSTR resourceName, | 
					
						
							|  |  |  |  | 		LPCTSTR resourceType, | 
					
						
							|  |  |  |  | 		float x, | 
					
						
							|  |  |  |  | 		float y, | 
					
						
							|  |  |  |  | 		float width, | 
					
						
							|  |  |  |  | 		float height | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	virtual ~ESpriteFrame(); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	float getWidth() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD>߶<EFBFBD>
 | 
					
						
							|  |  |  |  | 	float getHeight() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	ETexture * getTexture() const; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	void _setTexture( | 
					
						
							|  |  |  |  | 		ETexture * texture | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | 	// <20>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | 	void _clipTexture( | 
					
						
							|  |  |  |  | 		float x, | 
					
						
							|  |  |  |  | 		float y, | 
					
						
							|  |  |  |  | 		float width, | 
					
						
							|  |  |  |  | 		float height | 
					
						
							|  |  |  |  | 	); | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | protected: | 
					
						
							|  |  |  |  | 	float	m_fSourceClipX; | 
					
						
							|  |  |  |  | 	float	m_fSourceClipY; | 
					
						
							|  |  |  |  | 	float	m_fSourceClipWidth; | 
					
						
							|  |  |  |  | 	float	m_fSourceClipHeight; | 
					
						
							|  |  |  |  | 	ETexture * m_pTexture; | 
					
						
							|  |  |  |  | }; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-11 18:17:24 +08:00
										 |  |  |  | class ENode; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ʱ<EFBFBD><CAB1><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õĴ<C3B5><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><>ʼ<EFBFBD><CABC>
 | 
					
						
							|  |  |  |  | typedef std::function<void(int)> TIMER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void()> BUTTON_CLICK_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void()> KEY_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void()> MOUSE_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void(EPoint mousePos)> MOUSE_CLICK_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD>갴<EFBFBD><EAB0B4><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>
 | 
					
						
							|  |  |  |  | typedef MOUSE_CLICK_LISTENER_CALLBACK  MOUSE_PRESS_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˫<CEAA><CBAB>λ<EFBFBD>ã<EFBFBD>
 | 
					
						
							|  |  |  |  | typedef MOUSE_CLICK_LISTENER_CALLBACK  MOUSE_DBLCLK_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>϶<EFBFBD>ǰλ<C7B0>ú<EFBFBD><C3BA>϶<EFBFBD><CFB6><EFBFBD>λ<EFBFBD>ã<EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void(EPoint begin, EPoint end)> MOUSE_DRAG_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | typedef std::function<void()> PHYSICS_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							|  |  |  |  | // <20><>ײ<EFBFBD><D7B2>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
 | 
					
						
							|  |  |  |  | typedef PHYSICS_LISTENER_CALLBACK  COLLISION_LISTENER_CALLBACK; | 
					
						
							|  |  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-12 23:34:13 +08:00
										 |  |  |  | } |