diff --git a/core/Action/Animate.cpp b/core/Action/Animate.cpp index 5eead2b9..fdde44db 100644 --- a/core/Action/Animate.cpp +++ b/core/Action/Animate.cpp @@ -98,7 +98,7 @@ e2d::Animate * e2d::Animate::clone() const { if (_animation) { - return new (std::nothrow) Animate(_animation); + return new (e2d::autorelease) Animate(_animation); } return nullptr; } @@ -110,7 +110,7 @@ e2d::Animate * e2d::Animate::reverse() const auto animation = _animation->reverse(); if (animation) { - return new (std::nothrow) Animate(animation); + return new (e2d::autorelease) Animate(animation); } } return nullptr; diff --git a/core/Action/Animation.cpp b/core/Action/Animation.cpp index 4fbad033..75d06a82 100644 --- a/core/Action/Animation.cpp +++ b/core/Action/Animation.cpp @@ -68,7 +68,7 @@ const std::vector& e2d::Animation::getFrames() const e2d::Animation * e2d::Animation::clone() const { - auto animation = new (std::nothrow) Animation(_interval); + auto animation = new (e2d::autorelease) Animation(_interval); if (animation) { for (auto frame : _frames) @@ -99,5 +99,5 @@ e2d::Animation * e2d::Animation::reverse() const } } - return new (std::nothrow) Animation(this->getInterval(), frames); + return new (e2d::autorelease) Animation(this->getInterval(), frames); } diff --git a/core/Action/CallFunc.cpp b/core/Action/CallFunc.cpp index d13c3ca5..c50c02b1 100644 --- a/core/Action/CallFunc.cpp +++ b/core/Action/CallFunc.cpp @@ -7,12 +7,12 @@ e2d::CallFunc::CallFunc(const Function& func) : e2d::CallFunc * e2d::CallFunc::clone() const { - return new (std::nothrow) CallFunc(_func); + return new (e2d::autorelease) CallFunc(_func); } e2d::CallFunc * e2d::CallFunc::reverse() const { - return new (std::nothrow) CallFunc(_func); + return new (e2d::autorelease) CallFunc(_func); } void e2d::CallFunc::_init() diff --git a/core/Action/Delay.cpp b/core/Action/Delay.cpp index 8c0da9d5..76157905 100644 --- a/core/Action/Delay.cpp +++ b/core/Action/Delay.cpp @@ -8,12 +8,12 @@ e2d::Delay::Delay(double duration) e2d::Delay * e2d::Delay::clone() const { - return new (std::nothrow) Delay(_delay); + return new (e2d::autorelease) Delay(_delay); } e2d::Delay * e2d::Delay::reverse() const { - return new (std::nothrow) Delay(_delay); + return new (e2d::autorelease) Delay(_delay); } void e2d::Delay::reset() diff --git a/core/Action/JumpBy.cpp b/core/Action/JumpBy.cpp index 537d56a4..f7c15dbb 100644 --- a/core/Action/JumpBy.cpp +++ b/core/Action/JumpBy.cpp @@ -11,12 +11,12 @@ e2d::JumpBy::JumpBy(double duration, const Vector2 & vec, double height, int jum e2d::JumpBy * e2d::JumpBy::clone() const { - return new (std::nothrow) JumpBy(_duration, _deltaPos, _height, _jumps); + return new (e2d::autorelease) JumpBy(_duration, _deltaPos, _height, _jumps); } e2d::JumpBy * e2d::JumpBy::reverse() const { - return new (std::nothrow) JumpBy(_duration, -_deltaPos, _height, _jumps); + return new (e2d::autorelease) JumpBy(_duration, -_deltaPos, _height, _jumps); } void e2d::JumpBy::_init() diff --git a/core/Action/JumpTo.cpp b/core/Action/JumpTo.cpp index cb8f36f5..88aafb32 100644 --- a/core/Action/JumpTo.cpp +++ b/core/Action/JumpTo.cpp @@ -9,7 +9,7 @@ e2d::JumpTo::JumpTo(double duration, const Point & pos, double height, int jumps e2d::JumpTo * e2d::JumpTo::clone() const { - return new (std::nothrow) JumpTo(_duration, _endPos, _height, _jumps); + return new (e2d::autorelease) JumpTo(_duration, _endPos, _height, _jumps); } void e2d::JumpTo::_init() diff --git a/core/Action/Loop.cpp b/core/Action/Loop.cpp index 49953a5d..76587c7b 100644 --- a/core/Action/Loop.cpp +++ b/core/Action/Loop.cpp @@ -23,7 +23,7 @@ e2d::Loop * e2d::Loop::clone() const { if (_action) { - return new (std::nothrow) Loop(_action->clone()); + return new (e2d::autorelease) Loop(_action->clone()); } else { @@ -35,7 +35,7 @@ e2d::Loop * e2d::Loop::reverse() const { if (_action) { - return new (std::nothrow) Loop(_action->clone()); + return new (e2d::autorelease) Loop(_action->clone()); } else { diff --git a/core/Action/MoveBy.cpp b/core/Action/MoveBy.cpp index 5c855445..c8abcc2f 100644 --- a/core/Action/MoveBy.cpp +++ b/core/Action/MoveBy.cpp @@ -37,10 +37,10 @@ void e2d::MoveBy::_update() e2d::MoveBy * e2d::MoveBy::clone() const { - return new (std::nothrow) MoveBy(_duration, _deltaPos); + return new (e2d::autorelease) MoveBy(_duration, _deltaPos); } e2d::MoveBy * e2d::MoveBy::reverse() const { - return new (std::nothrow) MoveBy(_duration, -_deltaPos); + return new (e2d::autorelease) MoveBy(_duration, -_deltaPos); } \ No newline at end of file diff --git a/core/Action/MoveTo.cpp b/core/Action/MoveTo.cpp index dee2429c..3c551951 100644 --- a/core/Action/MoveTo.cpp +++ b/core/Action/MoveTo.cpp @@ -9,7 +9,7 @@ e2d::MoveTo::MoveTo(double duration, Point pos) e2d::MoveTo * e2d::MoveTo::clone() const { - return new (std::nothrow) MoveTo(_duration, _endPos); + return new (e2d::autorelease) MoveTo(_duration, _endPos); } void e2d::MoveTo::_init() diff --git a/core/Action/OpacityBy.cpp b/core/Action/OpacityBy.cpp index 3b5454b3..883e55ed 100644 --- a/core/Action/OpacityBy.cpp +++ b/core/Action/OpacityBy.cpp @@ -30,10 +30,10 @@ void e2d::OpacityBy::_update() e2d::OpacityBy * e2d::OpacityBy::clone() const { - return new (std::nothrow) OpacityBy(_duration, _deltaVal); + return new (e2d::autorelease) OpacityBy(_duration, _deltaVal); } e2d::OpacityBy * e2d::OpacityBy::reverse() const { - return new (std::nothrow) OpacityBy(_duration, -_deltaVal); + return new (e2d::autorelease) OpacityBy(_duration, -_deltaVal); } \ No newline at end of file diff --git a/core/Action/OpacityTo.cpp b/core/Action/OpacityTo.cpp index 11d3f4a5..a9c97fe2 100644 --- a/core/Action/OpacityTo.cpp +++ b/core/Action/OpacityTo.cpp @@ -10,7 +10,7 @@ e2d::OpacityTo::OpacityTo(double duration, double opacity) e2d::OpacityTo * e2d::OpacityTo::clone() const { - return new (std::nothrow) OpacityTo(_duration, _endVal); + return new (e2d::autorelease) OpacityTo(_duration, _endVal); } void e2d::OpacityTo::_init() diff --git a/core/Action/RotateBy.cpp b/core/Action/RotateBy.cpp index 50d520af..6ac30b30 100644 --- a/core/Action/RotateBy.cpp +++ b/core/Action/RotateBy.cpp @@ -30,10 +30,10 @@ void e2d::RotateBy::_update() e2d::RotateBy * e2d::RotateBy::clone() const { - return new (std::nothrow) RotateBy(_duration, _deltaVal); + return new (e2d::autorelease) RotateBy(_duration, _deltaVal); } e2d::RotateBy * e2d::RotateBy::reverse() const { - return new (std::nothrow) RotateBy(_duration, -_deltaVal); + return new (e2d::autorelease) RotateBy(_duration, -_deltaVal); } \ No newline at end of file diff --git a/core/Action/RotateTo.cpp b/core/Action/RotateTo.cpp index eeff6caa..499b425d 100644 --- a/core/Action/RotateTo.cpp +++ b/core/Action/RotateTo.cpp @@ -10,7 +10,7 @@ e2d::RotateTo::RotateTo(double duration, double rotation) e2d::RotateTo * e2d::RotateTo::clone() const { - return new (std::nothrow) RotateTo(_duration, _endVal); + return new (e2d::autorelease) RotateTo(_duration, _endVal); } void e2d::RotateTo::_init() diff --git a/core/Action/ScaleBy.cpp b/core/Action/ScaleBy.cpp index 894e5057..0b0ff7c2 100644 --- a/core/Action/ScaleBy.cpp +++ b/core/Action/ScaleBy.cpp @@ -39,10 +39,10 @@ void e2d::ScaleBy::_update() e2d::ScaleBy * e2d::ScaleBy::clone() const { - return new (std::nothrow) ScaleBy(_duration, _deltaX, _deltaY); + return new (e2d::autorelease) ScaleBy(_duration, _deltaX, _deltaY); } e2d::ScaleBy * e2d::ScaleBy::reverse() const { - return new (std::nothrow) ScaleBy(_duration, -_deltaX, -_deltaY); + return new (e2d::autorelease) ScaleBy(_duration, -_deltaX, -_deltaY); } \ No newline at end of file diff --git a/core/Action/ScaleTo.cpp b/core/Action/ScaleTo.cpp index 3306de8c..2fd98b50 100644 --- a/core/Action/ScaleTo.cpp +++ b/core/Action/ScaleTo.cpp @@ -17,7 +17,7 @@ e2d::ScaleTo::ScaleTo(double duration, double scaleX, double scaleY) e2d::ScaleTo * e2d::ScaleTo::clone() const { - return new (std::nothrow) ScaleTo(_duration, _endScaleX, _endScaleY); + return new (e2d::autorelease) ScaleTo(_duration, _endScaleX, _endScaleY); } void e2d::ScaleTo::_init() diff --git a/core/Action/Sequence.cpp b/core/Action/Sequence.cpp index f28b71ae..81207e08 100644 --- a/core/Action/Sequence.cpp +++ b/core/Action/Sequence.cpp @@ -97,7 +97,7 @@ void e2d::Sequence::add(const std::vector& actions) e2d::Sequence * e2d::Sequence::clone() const { - auto sequence = new (std::nothrow) Sequence(); + auto sequence = new (e2d::autorelease) Sequence(); for (const auto& action : _actions) { if (action) @@ -110,7 +110,7 @@ e2d::Sequence * e2d::Sequence::clone() const e2d::Sequence * e2d::Sequence::reverse() const { - auto sequence = new (std::nothrow) Sequence(); + auto sequence = new (e2d::autorelease) Sequence(); if (sequence && !_actions.empty()) { std::vector newActions(_actions.size()); diff --git a/core/Action/Spawn.cpp b/core/Action/Spawn.cpp index 841b38bb..5c80d490 100644 --- a/core/Action/Spawn.cpp +++ b/core/Action/Spawn.cpp @@ -95,7 +95,7 @@ void e2d::Spawn::add(const std::vector& actions) e2d::Spawn * e2d::Spawn::clone() const { - auto spawn = new (std::nothrow) Spawn(); + auto spawn = new (e2d::autorelease) Spawn(); for (const auto& action : _actions) { if (action) @@ -108,7 +108,7 @@ e2d::Spawn * e2d::Spawn::clone() const e2d::Spawn * e2d::Spawn::reverse() const { - auto spawn = new (std::nothrow) Spawn(); + auto spawn = new (e2d::autorelease) Spawn(); if (spawn && !_actions.empty()) { std::vector newActions(_actions.size()); diff --git a/core/Base/Input.cpp b/core/Base/Input.cpp index d042e8ae..b1abacec 100644 --- a/core/Base/Input.cpp +++ b/core/Base/Input.cpp @@ -236,8 +236,7 @@ double e2d::Input::getMouseDeltaZ() e2d::Listener * e2d::Input::addListener(const Function& func, const String& name, bool paused) { - auto listener = new (std::nothrow) Listener(func, name, paused); - listener->autorelease(); + auto listener = new (e2d::autorelease) Listener(func, name, paused); listener->retain(); s_vListeners.push_back(listener); return listener; diff --git a/core/Collider/Collision.cpp b/core/Collider/Collision.cpp index 02c11853..7adbf852 100644 --- a/core/Collider/Collision.cpp +++ b/core/Collider/Collision.cpp @@ -121,8 +121,7 @@ void e2d::Collision::__update(Node * active, Node * passive) e2d::Listener * e2d::Collision::addListener(const Function& func, const String& name, bool paused) { - auto listener = new (std::nothrow) Listener(func, name, paused); - listener->autorelease(); + auto listener = new (e2d::autorelease) Listener(func, name, paused); listener->retain(); s_vListeners.push_back(listener); return listener; diff --git a/core/Common/Config.cpp b/core/Common/Config.cpp index 7f60fe84..572cc1af 100644 --- a/core/Common/Config.cpp +++ b/core/Common/Config.cpp @@ -7,7 +7,6 @@ e2d::Config::Config() , _soundEnabled(true) , _collisionEnabled(false) , _colliderVisiable(false) - , _objectsAutoRelease(false) , _nodeDefColliderType(Collider::Type::None) , _unconfigured(true) { @@ -31,11 +30,6 @@ void e2d::Config::setSoundEnabled(bool enabled) } } -void e2d::Config::setObjectsAutoReleaseEnabled(bool enabled) -{ - _objectsAutoRelease = enabled; -} - void e2d::Config::setCollisionEnabled(bool enabled) { _collisionEnabled = enabled; @@ -69,11 +63,6 @@ bool e2d::Config::isSoundEnabled() const return _soundEnabled; } -bool e2d::Config::isObjectsAutoReleaseEnabled() const -{ - return _objectsAutoRelease; -} - bool e2d::Config::isCollisionEnabled() const { return _collisionEnabled; diff --git a/core/Common/Object.cpp b/core/Common/Object.cpp index c2c0fead..4b92495f 100644 --- a/core/Common/Object.cpp +++ b/core/Common/Object.cpp @@ -1,14 +1,28 @@ #include "..\e2dbase.h" #include "..\e2dmanager.h" +e2d::autorelease_t const e2d::autorelease = e2d::autorelease_t(); + +void * operator new(size_t _Size, e2d::autorelease_t const &) E2D_NOEXCEPT +{ + void* p = ::operator new (_Size, std::nothrow); + e2d::Object * newObject = static_cast(p); + if (newObject) + { + newObject->autorelease(); + } + return p; +} + +void operator delete(void * _Block, e2d::autorelease_t const &) E2D_NOEXCEPT +{ + ::operator delete (_Block, std::nothrow); +} + e2d::Object::Object() : _refCount(0) { - if (Game::getInstance()->getConfig().isObjectsAutoReleaseEnabled()) - { - this->autorelease(); - } } e2d::Object::~Object() diff --git a/core/Common/Scene.cpp b/core/Common/Scene.cpp index 2655d4a0..83195738 100644 --- a/core/Common/Scene.cpp +++ b/core/Common/Scene.cpp @@ -6,8 +6,7 @@ e2d::Scene::Scene() : _autoUpdate(true) , _root(nullptr) { - _root = new (std::nothrow) Node(); - _root->autorelease(); + _root = new (e2d::autorelease) Node(); _root->retain(); _root->_setParentScene(this); } diff --git a/core/Custom/Exception.cpp b/core/Custom/Exception.cpp index 356cbe6a..5a66bfcd 100644 --- a/core/Custom/Exception.cpp +++ b/core/Custom/Exception.cpp @@ -1,22 +1,22 @@ #include "..\e2dcustom.h" -e2d::Exception::Exception() throw() +e2d::Exception::Exception() E2D_NOEXCEPT : _message() { } -e2d::Exception::Exception(const String& message) throw() +e2d::Exception::Exception(const String& message) E2D_NOEXCEPT : _message(message) { } -e2d::Exception::Exception(Exception const& other) throw() +e2d::Exception::Exception(Exception const& other) E2D_NOEXCEPT : _message(other._message) { } -e2d::Exception& e2d::Exception::operator=(Exception const& other) throw() +e2d::Exception& e2d::Exception::operator=(Exception const& other) E2D_NOEXCEPT { if (this == &other) { @@ -27,7 +27,7 @@ e2d::Exception& e2d::Exception::operator=(Exception const& other) throw() return *this; } -e2d::Exception::~Exception() throw() +e2d::Exception::~Exception() E2D_NOEXCEPT { } diff --git a/core/Custom/SystemException.cpp b/core/Custom/SystemException.cpp index fb3a7263..a3e85b44 100644 --- a/core/Custom/SystemException.cpp +++ b/core/Custom/SystemException.cpp @@ -1,11 +1,11 @@ #include "..\e2dcustom.h" -e2d::SystemException::SystemException() throw() +e2d::SystemException::SystemException() E2D_NOEXCEPT : Exception(L"未知的系统异常") { } -e2d::SystemException::SystemException(const String& message) throw() +e2d::SystemException::SystemException(const String& message) E2D_NOEXCEPT : Exception(message) { } diff --git a/core/Node/Node.cpp b/core/Node/Node.cpp index 3573d4e6..2dedcaed 100644 --- a/core/Node/Node.cpp +++ b/core/Node/Node.cpp @@ -573,8 +573,7 @@ void e2d::Node::setColliderType(Collider::Type type) case Collider::Type::Circle: case Collider::Type::Ellipse: { - _collider = new (std::nothrow) Collider(); - _collider->autorelease(); + _collider = new (e2d::autorelease) Collider(); _collider->_parentNode = this; _collider->_recreate(type); // 添加新的碰撞体 diff --git a/core/Node/Sprite.cpp b/core/Node/Sprite.cpp index f27da298..2f2abd9d 100644 --- a/core/Node/Sprite.cpp +++ b/core/Node/Sprite.cpp @@ -60,8 +60,7 @@ bool e2d::Sprite::open(const String& filePath) { if (!_image) { - _image = new (std::nothrow) Image(); - _image->autorelease(); + _image = new (e2d::autorelease) Image(); _image->retain(); } @@ -77,8 +76,7 @@ bool e2d::Sprite::open(int resNameId, const String& resType) { if (!_image) { - _image = new (std::nothrow) Image(); - _image->autorelease(); + _image = new (e2d::autorelease) Image(); _image->retain(); } diff --git a/core/Tool/Music.cpp b/core/Tool/Music.cpp index 8f39f70a..dab27b85 100644 --- a/core/Tool/Music.cpp +++ b/core/Tool/Music.cpp @@ -118,7 +118,7 @@ bool e2d::Music::open(const e2d::String& filePath) _dwSize = _ck.cksize; // 将样本数据读取到内存中 - _waveData = new (std::nothrow) BYTE[_dwSize]; + _waveData = new BYTE[_dwSize]; if (!_read(_waveData, _dwSize)) { @@ -173,7 +173,7 @@ bool e2d::Music::open(int resNameId, const e2d::String& resType) if (nullptr == (pvRes = LockResource(hResData))) return TraceError(L"LockResource"); - _resBuffer = new (std::nothrow) CHAR[dwSize]; + _resBuffer = new CHAR[dwSize]; memcpy(_resBuffer, pvRes, dwSize); MMIOINFO mmioInfo; @@ -198,7 +198,7 @@ bool e2d::Music::open(int resNameId, const e2d::String& resType) _dwSize = _ck.cksize; // 将样本数据读取到内存中 - _waveData = new (std::nothrow) BYTE[_dwSize]; + _waveData = new BYTE[_dwSize]; if (!_read(_waveData, _dwSize)) { @@ -404,7 +404,7 @@ bool e2d::Music::_readMMIO() // 的数据,这个数据就是额外分配的大小 if (pcmWaveFormat.wf.wFormatTag == WAVE_FORMAT_PCM) { - _wfx = (WAVEFORMATEX*) new (std::nothrow) CHAR[sizeof(WAVEFORMATEX)]; + _wfx = (WAVEFORMATEX*) new CHAR[sizeof(WAVEFORMATEX)]; // 拷贝数据 memcpy(_wfx, &pcmWaveFormat, sizeof(pcmWaveFormat)); @@ -417,7 +417,7 @@ bool e2d::Music::_readMMIO() if (mmioRead(_hmmio, (CHAR*)&cbExtraBytes, sizeof(WORD)) != sizeof(WORD)) return TraceError(L"mmioRead"); - _wfx = (WAVEFORMATEX*) new (std::nothrow) CHAR[sizeof(WAVEFORMATEX) + cbExtraBytes]; + _wfx = (WAVEFORMATEX*) new CHAR[sizeof(WAVEFORMATEX) + cbExtraBytes]; // 拷贝数据 memcpy(_wfx, &pcmWaveFormat, sizeof(pcmWaveFormat)); diff --git a/core/Tool/Player.cpp b/core/Tool/Player.cpp index 28d8f556..6271de3e 100644 --- a/core/Tool/Player.cpp +++ b/core/Tool/Player.cpp @@ -69,8 +69,7 @@ bool e2d::Player::preload(const String& filePath) } else { - Music * music = new (std::nothrow) Music(); - music->autorelease(); + Music * music = new (e2d::autorelease) Music(); if (music->open(filePath)) { @@ -91,8 +90,7 @@ bool e2d::Player::preload(int resNameId, const String& resType) } else { - Music * music = new (std::nothrow) Music(); - music->autorelease(); + Music * music = new (e2d::autorelease) Music(); if (music->open(resNameId, resType)) { diff --git a/core/e2dcommon.h b/core/e2dcommon.h index f4c3972e..5156b50d 100644 --- a/core/e2dcommon.h +++ b/core/e2dcommon.h @@ -764,12 +764,6 @@ public: bool enabled ); - // 打开或关闭自动回收 Easy2D 对象功能 - // 默认:关闭 - void setObjectsAutoReleaseEnabled( - bool enabled - ); - // 打开或关闭碰撞监听 // 默认:关闭 void setCollisionEnabled( @@ -800,9 +794,6 @@ public: // 获取声音打开状态 bool isSoundEnabled() const; - // 获取 Easy2D 对象自动释放状态 - bool isObjectsAutoReleaseEnabled() const; - // 获取碰撞监听状态 bool isCollisionEnabled() const; @@ -820,7 +811,6 @@ protected: protected: bool _unconfigured; - bool _objectsAutoRelease; bool _soundEnabled; bool _collisionEnabled; bool _colliderVisiable; @@ -830,4 +820,25 @@ protected: }; -} \ No newline at end of file +} + + +#ifndef __AUTORELEASE_T_DEFINED +#define __AUTORELEASE_T_DEFINED +namespace e2d +{ + struct autorelease_t { }; + + extern autorelease_t const autorelease; +} + +void* operator new( + size_t _Size, + e2d::autorelease_t const& + ) E2D_NOEXCEPT; + +void operator delete( + void* _Block, + e2d::autorelease_t const& + ) E2D_NOEXCEPT; +#endif diff --git a/core/e2dcustom.h b/core/e2dcustom.h index 7727500a..bf6e0b51 100644 --- a/core/e2dcustom.h +++ b/core/e2dcustom.h @@ -167,15 +167,15 @@ private: class Exception { public: - Exception() throw(); + Exception() E2D_NOEXCEPT; - explicit Exception(const String& message) throw(); + explicit Exception(const String& message) E2D_NOEXCEPT; - Exception(Exception const& other) throw(); + Exception(Exception const& other) E2D_NOEXCEPT; - virtual ~Exception() throw(); + virtual ~Exception() E2D_NOEXCEPT; - Exception& operator=(Exception const& other) throw(); + Exception& operator=(Exception const& other) E2D_NOEXCEPT; // 获取异常信息 virtual String msg() const; @@ -190,9 +190,9 @@ class SystemException : public Exception { public: - SystemException() throw(); + SystemException() E2D_NOEXCEPT; - explicit SystemException(const String& message) throw(); + explicit SystemException(const String& message) E2D_NOEXCEPT; }; } \ No newline at end of file diff --git a/core/e2dmacros.h b/core/e2dmacros.h index 2337a7e8..bd4fd1ed 100644 --- a/core/e2dmacros.h +++ b/core/e2dmacros.h @@ -89,6 +89,13 @@ #endif +#if _MSC_VER >= 1900 +# define E2D_NOEXCEPT noexcept +#else +# define E2D_NOEXCEPT throw() +#endif + + #if _MSC_VER >= 1800 # define E2D_DISABLE_COPY(Class) \ Class(const Class &) = delete; \ @@ -106,4 +113,4 @@ #ifdef min # undef min -#endif \ No newline at end of file +#endif diff --git a/core/easy2d.h b/core/easy2d.h index 2f088a53..55a372cd 100644 --- a/core/easy2d.h +++ b/core/easy2d.h @@ -34,6 +34,3 @@ #else # pragma comment(lib, "Easy2Dw.lib") #endif - - -using namespace e2d; \ No newline at end of file