From d6b95e3b401e3e82cb902ed87a821ea378aa104d Mon Sep 17 00:00:00 2001 From: Nomango Date: Thu, 20 Feb 2020 22:27:09 +0800 Subject: [PATCH] Add allocator --- projects/kiwano/kiwano.vcxproj | 2 + projects/kiwano/kiwano.vcxproj.filters | 6 + src/kiwano/2d/Actor.cpp | 8 +- src/kiwano/2d/Button.cpp | 2 +- src/kiwano/2d/Canvas.cpp | 5 +- src/kiwano/2d/Canvas.h | 4 +- src/kiwano/2d/DebugActor.cpp | 4 +- src/kiwano/2d/Frame.cpp | 6 +- src/kiwano/2d/FrameSequence.cpp | 12 +- src/kiwano/2d/GifSprite.cpp | 10 +- src/kiwano/2d/LayerActor.cpp | 2 +- src/kiwano/2d/ShapeActor.cpp | 14 +-- src/kiwano/2d/ShapeActor.h | 4 +- src/kiwano/2d/Sprite.cpp | 6 +- src/kiwano/2d/Stage.cpp | 6 +- src/kiwano/2d/TextActor.cpp | 2 +- src/kiwano/2d/Transition.cpp | 10 +- src/kiwano/2d/action/ActionDelay.cpp | 2 +- src/kiwano/2d/action/ActionGroup.cpp | 3 +- src/kiwano/2d/action/ActionTween.cpp | 24 ++-- src/kiwano/2d/action/ActionWalk.cpp | 2 +- src/kiwano/2d/action/Animation.cpp | 2 +- src/kiwano/core/Allocator.cpp | 58 ++++++++++ src/kiwano/core/Allocator.h | 125 +++++++++++++++++++++ src/kiwano/core/Common.h | 1 + src/kiwano/core/Director.cpp | 2 +- src/kiwano/core/EventListener.cpp | 4 +- src/kiwano/core/ObjectBase.cpp | 9 +- src/kiwano/core/ObjectBase.h | 9 +- src/kiwano/core/RefCounter.cpp | 6 +- src/kiwano/core/RefCounter.h | 9 +- src/kiwano/core/Timer.cpp | 4 +- src/kiwano/platform/Runner.cpp | 4 +- src/kiwano/platform/win32/WindowImpl.cpp | 31 +++-- src/kiwano/render/Brush.cpp | 6 +- src/kiwano/render/DirectX/RendererImpl.cpp | 8 +- src/kiwano/render/DirectX/TextRenderer.cpp | 2 +- src/kiwano/render/Font.cpp | 4 +- src/kiwano/render/GifImage.cpp | 4 +- src/kiwano/render/Shape.cpp | 10 +- src/kiwano/render/ShapeMaker.cpp | 2 +- src/kiwano/render/StrokeStyle.cpp | 4 +- src/kiwano/render/TextLayout.cpp | 4 +- src/kiwano/render/Texture.cpp | 4 +- src/kiwano/render/TextureCache.cpp | 2 +- src/kiwano/utils/ResourceCache.cpp | 14 +-- 46 files changed, 324 insertions(+), 138 deletions(-) create mode 100644 src/kiwano/core/Allocator.cpp create mode 100644 src/kiwano/core/Allocator.h diff --git a/projects/kiwano/kiwano.vcxproj b/projects/kiwano/kiwano.vcxproj index 944b57a6..09fba364 100644 --- a/projects/kiwano/kiwano.vcxproj +++ b/projects/kiwano/kiwano.vcxproj @@ -13,6 +13,7 @@ + @@ -121,6 +122,7 @@ + diff --git a/projects/kiwano/kiwano.vcxproj.filters b/projects/kiwano/kiwano.vcxproj.filters index 83497999..469121fb 100644 --- a/projects/kiwano/kiwano.vcxproj.filters +++ b/projects/kiwano/kiwano.vcxproj.filters @@ -318,6 +318,9 @@ 2d + + core + @@ -527,5 +530,8 @@ 2d + + core + \ No newline at end of file diff --git a/src/kiwano/2d/Actor.cpp b/src/kiwano/2d/Actor.cpp index 41dbde9d..61334163 100644 --- a/src/kiwano/2d/Actor.cpp +++ b/src/kiwano/2d/Actor.cpp @@ -41,7 +41,7 @@ void Actor::SetDefaultAnchor(float anchor_x, float anchor_y) ActorPtr Actor::Create() { - ActorPtr ptr = new (std::nothrow) Actor; + ActorPtr ptr = memory::New(); return ptr; } @@ -246,7 +246,7 @@ bool Actor::HandleEvent(Event* evt) { hover_ = true; - MouseHoverEventPtr hover = new MouseHoverEvent; + MouseHoverEventPtr hover = memory::New(); hover->pos = mouse_evt->pos; HandleEvent(hover.Get()); } @@ -255,7 +255,7 @@ bool Actor::HandleEvent(Event* evt) hover_ = false; pressed_ = false; - MouseOutEventPtr out = new MouseOutEvent; + MouseOutEventPtr out = memory::New(); out->pos = mouse_evt->pos; HandleEvent(out.Get()); } @@ -272,7 +272,7 @@ bool Actor::HandleEvent(Event* evt) auto mouse_up_evt = dynamic_cast(evt); - MouseClickEventPtr click = new MouseClickEvent; + MouseClickEventPtr click = memory::New(); click->pos = mouse_up_evt->pos; click->button = mouse_up_evt->button; HandleEvent(click.Get()); diff --git a/src/kiwano/2d/Button.cpp b/src/kiwano/2d/Button.cpp index 47149022..127d132d 100644 --- a/src/kiwano/2d/Button.cpp +++ b/src/kiwano/2d/Button.cpp @@ -33,7 +33,7 @@ ButtonPtr Button::Create(const Callback& click) ButtonPtr Button::Create(const Callback& click, const Callback& pressed, const Callback& mouse_over, const Callback& mouse_out) { - ButtonPtr ptr = new (std::nothrow) Button; + ButtonPtr ptr = memory::New