tb_core.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // ================================================================================
  2. // == This file is a part of Turbo Badger. (C) 2011-2014, Emil Segerås ==
  3. // == See tb_core.h for more information. ==
  4. // ================================================================================
  5. #include "tb_core.h"
  6. #include "tb_skin.h"
  7. #include "tb_widgets_reader.h"
  8. #include "tb_language.h"
  9. #include "tb_font_renderer.h"
  10. #include "tb_addon.h"
  11. #include "tb_system.h"
  12. #include "animation/tb_animation.h"
  13. #include "image/tb_image_manager.h"
  14. namespace tb {
  15. TBRenderer *g_renderer = nullptr;
  16. TBSkin *g_tb_skin = nullptr;
  17. TBWidgetsReader *g_widgets_reader = nullptr;
  18. TBLanguage *g_tb_lng = nullptr;
  19. TBFontManager *g_font_manager = nullptr;
  20. bool tb_core_init(TBRenderer *renderer, const char *lng_file)
  21. {
  22. TBDebugPrint("Initiating Turbo Badger - version %s\n", TB_VERSION_STR);
  23. g_renderer = renderer;
  24. g_tb_lng = new TBLanguage;
  25. g_tb_lng->Load(lng_file);
  26. g_font_manager = new TBFontManager();
  27. g_tb_skin = new TBSkin();
  28. g_widgets_reader = TBWidgetsReader::Create();
  29. #ifdef TB_IMAGE
  30. g_image_manager = new TBImageManager();
  31. #endif
  32. return TBInitAddons();
  33. }
  34. void tb_core_shutdown()
  35. {
  36. TBAnimationManager::AbortAllAnimations();
  37. TBShutdownAddons();
  38. #ifdef TB_IMAGE
  39. delete g_image_manager;
  40. #endif
  41. delete g_widgets_reader;
  42. delete g_tb_skin;
  43. delete g_font_manager;
  44. delete g_tb_lng;
  45. }
  46. bool tb_core_is_initialized()
  47. {
  48. return g_widgets_reader ? true : false;
  49. }
  50. }; // namespace tb