TBUI.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #include "Precompiled.h"
  2. #ifdef ATOMIC_TBUI
  3. #include "../Core/Context.h"
  4. #include "../Core/CoreEvents.h"
  5. #include "../Core/Profiler.h"
  6. #include "../IO/Log.h"
  7. #include "../IO/File.h"
  8. #include "../Resource/ResourceCache.h"
  9. #include "../Graphics/Graphics.h"
  10. #include "../Graphics/GraphicsEvents.h"
  11. #include "../Graphics/Texture2D.h"
  12. #include "../Graphics/VertexBuffer.h"
  13. #include "../Input/Input.h"
  14. #include "../Input/InputEvents.h"
  15. #include "../UI/TBUI.h"
  16. #include <TurboBadger/tb_core.h>
  17. #include <TurboBadger/tb_system.h>
  18. #include <TurboBadger/tb_debug.h>
  19. #include <TurboBadger/animation/tb_widget_animation.h>
  20. #include <TurboBadger/renderers/tb_renderer_batcher.h>
  21. #include <TurboBadger/tb_font_renderer.h>
  22. #include <TurboBadger/tb_node_tree.h>
  23. #include <TurboBadger/tb_widgets_reader.h>
  24. #include <TurboBadger/tb_window.h>
  25. using namespace tb;
  26. namespace tb
  27. {
  28. void TBSystem::RescheduleTimer(double fire_time)
  29. {
  30. }
  31. }
  32. namespace Atomic
  33. {
  34. TBUI::TBUI(Context* context) :
  35. Object(context),
  36. rootWidget_(0),
  37. initialized_(false),
  38. shuttingDown_(false)
  39. {
  40. // /SubscribeToEvent(E_SCREENMODE, HANDLER(TBUI, HandleScreenMode));
  41. }
  42. TBUI::~TBUI()
  43. {
  44. if (initialized_)
  45. {
  46. tb::TBWidgetsAnimationManager::Shutdown();
  47. delete rootWidget_;
  48. // leak
  49. //delete TBUIRenderer::renderer_;
  50. tb_core_shutdown();
  51. }
  52. }
  53. void TBUI::Shutdown()
  54. {
  55. shuttingDown_ = true;
  56. //SetInputDisabled(true);
  57. }
  58. void TBUI::Initialize()
  59. {
  60. }
  61. bool TBUI::LoadResourceFile(TBWidget* widget, const String& filename)
  62. {
  63. tb::TBNode node;
  64. // TODO: use Urho resources
  65. if (!node.ReadFile(filename.CString()))
  66. return false;
  67. tb::g_widgets_reader->LoadNodeTree(widget, &node);
  68. return true;
  69. }
  70. }
  71. #endif