137 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
		
		
			
		
	
	
			137 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			C
		
	
	
	
|  | #pragma once
 | |||
|  | #include <Windows.h>
 | |||
|  | #include <string>
 | |||
|  | #include <vector>
 | |||
|  | #include <functional>
 | |||
|  | 
 | |||
|  | namespace e2d | |||
|  | { | |||
|  | 
 | |||
|  | 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); | |||
|  | 	} | |||
|  | }; | |||
|  | 
 | |||
|  | 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); | |||
|  | 	} | |||
|  | }; | |||
|  | 
 | |||
|  | 
 | |||
|  | 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; | |||
|  | 	} | |||
|  | }; | |||
|  | 
 | |||
|  | typedef EPoint EVec; | |||
|  | 
 | |||
|  | typedef std::wstring EString; | |||
|  | 
 | |||
|  | template<typename T> | |||
|  | using EVector = std::vector<T>; | |||
|  | 
 | |||
|  | // <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; | |||
|  | 
 | |||
|  | } |