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
7
8namespace yaze {
9namespace core {
10
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
21 void operator()(SDL_Surface* p) const {
22 if (p && !MemoryTracker::GetInstance().IsFreed(p)) {
24 SDL_FreeSurface(p);
25 }
26 }
27};
28
29// Custom deleter for SDL_Texture
31 void operator()(SDL_Texture* p) const {
32 if (p && !MemoryTracker::GetInstance().IsFreed(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_
static MemoryTracker & GetInstance()
void TrackDeallocation(const void *ptr)
Main namespace for the application.
Definition controller.cc:18
Deleter for SDL_Window and SDL_Renderer.
Definition sdl_deleter.h:14
void operator()(SDL_Renderer *p) const
Definition sdl_deleter.h:16
void operator()(SDL_Window *p) const
Definition sdl_deleter.h:15
void operator()(SDL_Surface *p) const
Definition sdl_deleter.h:21
void operator()(SDL_Texture *p) const
Definition sdl_deleter.h:31