2017-11-04 15:38:41 +08:00
|
|
|
|
#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;
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2017-11-05 14:45:53 +08:00
|
|
|
|
// <20><>ά<EFBFBD><CEAC><EFBFBD><EFBFBD>
|
2017-11-04 15:38:41 +08:00
|
|
|
|
typedef EPoint EVec;
|
|
|
|
|
|
|
2017-11-05 14:45:53 +08:00
|
|
|
|
// <20>ַ<EFBFBD><D6B7><EFBFBD>
|
2017-11-04 15:38:41 +08:00
|
|
|
|
typedef std::wstring EString;
|
|
|
|
|
|
|
2017-11-05 14:45:53 +08:00
|
|
|
|
// Vector <20><><EFBFBD><EFBFBD>
|
2017-11-04 15:38:41 +08:00
|
|
|
|
template<typename T>
|
|
|
|
|
|
using EVector = std::vector<T>;
|
|
|
|
|
|
|
2017-11-05 14:45:53 +08:00
|
|
|
|
|
|
|
|
|
|
class ENode;
|
|
|
|
|
|
|
2017-11-04 15:38:41 +08:00
|
|
|
|
// <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>
|
2017-11-07 22:20:46 +08:00
|
|
|
|
typedef MOUSE_CLICK_LISTENER_CALLBACK MOUSE_PRESS_LISTENER_CALLBACK;
|
2017-11-04 15:38:41 +08:00
|
|
|
|
|
|
|
|
|
|
// <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>
|
2017-11-07 22:20:46 +08:00
|
|
|
|
typedef MOUSE_CLICK_LISTENER_CALLBACK MOUSE_DBLCLK_LISTENER_CALLBACK;
|
2017-11-04 15:38:41 +08:00
|
|
|
|
|
|
|
|
|
|
// <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;
|
|
|
|
|
|
|
2017-11-07 22:20:46 +08:00
|
|
|
|
// <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;
|
2017-11-05 14:45:53 +08:00
|
|
|
|
|
2017-11-07 22:20:46 +08:00
|
|
|
|
// <20><>ײ<EFBFBD><D7B2>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
typedef PHYSICS_LISTENER_CALLBACK COLLISION_LISTENER_CALLBACK;
|
2017-11-05 14:45:53 +08:00
|
|
|
|
|
2017-11-04 15:38:41 +08:00
|
|
|
|
}
|