yaze
0.2.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
sdl_deleter.h
Go to the documentation of this file.
1
#ifndef YAZE_APP_CORE_UTILS_SDL_DELETER_H_
2
#define YAZE_APP_CORE_UTILS_SDL_DELETER_H_
3
4
#include <SDL.h>
5
6
#include "
app/core/platform/memory_tracker.h
"
7
8
namespace
yaze
{
9
namespace
core
{
10
14
struct
SDL_Deleter
{
15
void
operator()
(SDL_Window* p)
const
{ SDL_DestroyWindow(p); }
16
void
operator()
(SDL_Renderer* p)
const
{ SDL_DestroyRenderer(p); }
17
};
18
19
// Custom deleter for SDL_Surface
20
struct
SDL_Surface_Deleter
{
21
void
operator()
(SDL_Surface* p)
const
{
22
if
(p && !
MemoryTracker::GetInstance
().IsFreed(p)) {
23
MemoryTracker::GetInstance
().
TrackDeallocation
(p);
24
SDL_FreeSurface(p);
25
}
26
}
27
};
28
29
// Custom deleter for SDL_Texture
30
struct
SDL_Texture_Deleter
{
31
void
operator()
(SDL_Texture* p)
const
{
32
if
(p && !
MemoryTracker::GetInstance
().IsFreed(p)) {
33
MemoryTracker::GetInstance
().
TrackDeallocation
(p);
34
SDL_DestroyTexture(p);
35
}
36
}
37
};
38
39
}
// namespace core
40
}
// namespace yaze
41
42
#endif
// YAZE_APP_CORE_UTILS_SDL_DELETER_H_
yaze::core::MemoryTracker::GetInstance
static MemoryTracker & GetInstance()
Definition
memory_tracker.h:16
yaze::core::MemoryTracker::TrackDeallocation
void TrackDeallocation(const void *ptr)
Definition
memory_tracker.h:27
memory_tracker.h
yaze::core
Definition
controller.cc:19
yaze
Main namespace for the application.
Definition
controller.cc:18
yaze::core::SDL_Deleter
Deleter for SDL_Window and SDL_Renderer.
Definition
sdl_deleter.h:14
yaze::core::SDL_Deleter::operator()
void operator()(SDL_Renderer *p) const
Definition
sdl_deleter.h:16
yaze::core::SDL_Deleter::operator()
void operator()(SDL_Window *p) const
Definition
sdl_deleter.h:15
yaze::core::SDL_Surface_Deleter
Definition
sdl_deleter.h:20
yaze::core::SDL_Surface_Deleter::operator()
void operator()(SDL_Surface *p) const
Definition
sdl_deleter.h:21
yaze::core::SDL_Texture_Deleter
Definition
sdl_deleter.h:30
yaze::core::SDL_Texture_Deleter::operator()
void operator()(SDL_Texture *p) const
Definition
sdl_deleter.h:31
src
app
core
platform
sdl_deleter.h
Generated by
1.13.2