适应vs2015

This commit is contained in:
Nomango 2017-10-13 14:34:33 +08:00
parent bb6d71a1b0
commit 8da04219bf
6 changed files with 507 additions and 380 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
@ -23,13 +23,13 @@
<ProjectGuid>{9D85A92F-BCCE-4EF0-BAD3-601C0086661C}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Demo</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

View File

@ -23,13 +23,13 @@
<ProjectGuid>{FF7F943D-A89C-4E6C-97CF-84F7D8FF8EDF}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>Easy2D</RootNamespace>
<WindowsTargetPlatformVersion>10.0.15063.0</WindowsTargetPlatformVersion>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

View File

@ -1 +1,69 @@
#include "..\etools.h"
e2d::EMouseListener::EMouseListener()
: m_bRunning(false)
, m_bWaiting(false)
, m_sName(L"")
, m_callback([] {})
, m_pParentScene(nullptr)
{
}
e2d::EMouseListener::EMouseListener(EString name)
: EMouseListener()
{
m_sName = name;
}
e2d::EMouseListener::EMouseListener(const MOUSE_CALLBACK & callback)
: EMouseListener()
{
m_callback = callback;
}
e2d::EMouseListener::EMouseListener(EString name, const MOUSE_CALLBACK & callback)
: EMouseListener()
{
m_sName = name;
m_callback = callback;
}
bool e2d::EMouseListener::isRunnint() const
{
return m_bRunning && !m_bWaiting;
}
void e2d::EMouseListener::start()
{
m_bRunning = true;
}
void e2d::EMouseListener::stop()
{
m_bRunning = false;
}
void e2d::EMouseListener::wait()
{
m_bWaiting = true;
}
void e2d::EMouseListener::notify()
{
m_bWaiting = false;
}
void e2d::EMouseListener::runCallback()
{
m_callback();
}
e2d::EString e2d::EMouseListener::getName() const
{
return m_sName;
}
e2d::EScene * e2d::EMouseListener::getParentScene()
{
return m_pParentScene;
}

View File

@ -166,8 +166,9 @@ protected:
class EScene
{
public:
friend EApp;
public:
EScene();
~EScene();
@ -200,7 +201,6 @@ public:
void clearAllChildren();
protected:
friend EApp;
std::vector<e2d::ENode*> m_vChildren;
protected:
@ -213,6 +213,8 @@ protected:
class EObject
{
friend EObjectManager;
public:
EObject();
@ -228,7 +230,6 @@ public:
void autoRelease();
private:
friend EObjectManager;
int m_nRefCount;
bool m_bManaged;
bool m_bAutoRelease;

View File

@ -2,12 +2,16 @@
#include <Windows.h>
#include <string>
#include <atltypes.h>
#include <functional>
namespace e2d
{
typedef std::wstring EString;
//typedef std::function<void(VK_KEY)> KEY_CALLBACK;
typedef std::function<void()> MOUSE_CALLBACK;
typedef CSize ESize;
typedef CPoint EPoint;

View File

@ -4,8 +4,13 @@
namespace e2d
{
class EMsgManager;
class EObjectManager
{
friend EApp;
public:
// 将一个节点放入释放池
static void add(
@ -16,8 +21,6 @@ public:
static void clearAllObjects();
private:
friend EApp;
// 刷新内存池
static void __flush();
};
@ -54,15 +57,67 @@ public:
class EMouseListener :
public EObject
{
protected:
friend EMsgManager;
e2d::EString name;
public:
EMouseListener();
EMouseListener(
EString name
);
EMouseListener(
const MOUSE_CALLBACK &callback
);
EMouseListener(
EString name,
const MOUSE_CALLBACK &callback
);
// 获取监听器状态
bool isRunnint() const;
// 启动监听
void start();
// 停止监听
void stop();
// 进入等待状态
void wait();
// 唤醒
void notify();
// 执行监听器回调函数
void runCallback();
// 获取监听器名称
EString getName() const;
// 获取监听器所在场景
EScene * getParentScene();
// 设置监听器名称
void setName(EString name);
// 设置监听器回调函数
void setCallback(const MOUSE_CALLBACK &callback);
protected:
EString m_sName;
bool m_bRunning;
bool m_bWaiting;
MOUSE_CALLBACK m_callback;
EScene * m_pParentScene;
};
class EMsgManager
{
friend EApp;
public:
static void setMouseMsg(
UINT message
@ -75,7 +130,6 @@ public:
);
private:
friend EApp;
static void __exec();
};