From 9ca479839b3a5fc7dbe75e94e15a0dd6da21bf16 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 21 Apr 2016 14:07:11 +0300 Subject: Add memorycounter interface. Impliment it in Image. --- src/resources/image.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/resources/image.cpp') diff --git a/src/resources/image.cpp b/src/resources/image.cpp index d820adcfb..ad5d0d91c 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -29,6 +29,7 @@ #ifdef USE_OPENGL #include "resources/openglimagehelper.h" #endif // USE_OPENGL +#include "resources/memorymanager.h" #include "resources/sdlimagehelper.h" #include "resources/subimage.h" @@ -473,6 +474,19 @@ void Image::SDLTerminateAlphaCache() mUseAlphaCache = false; } +int Image::calcMemoryLocal() +{ + // +++ this calculation can be wrong for SDL2 + int sz = sizeof(Image) + + sizeof(std::map); + if (mSDLSurface) + { + sz += CAST_S32(mAlphaCache.size()) * + memoryManager.getSurfaceSize(mSDLSurface); + } + return sz; +} + #ifdef USE_OPENGL void Image::decRef() { -- cgit v1.2.3-70-g09d2