CmTestTextSprite.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "CmTestTextSprite.h"
  2. #include "CmSceneObject.h"
  3. #include "BsRenderable.h"
  4. #include "CmMesh.h"
  5. #include "CmVector2.h"
  6. #include "BsTextSprite.h"
  7. #include "CmFont.h"
  8. #include "CmMaterial.h"
  9. #include "BsGUILabel.h"
  10. #include "BsGUIWindowFrame.h"
  11. #include "BsGUISkin.h"
  12. #include "BsOverlayManager.h"
  13. #include "BsSpriteTexture.h"
  14. using namespace BansheeEngine;
  15. namespace CamelotFramework
  16. {
  17. TestTextSprite::TestTextSprite(const HSceneObject& parent)
  18. :GUIWidget(parent), mSkin(nullptr)
  19. {
  20. }
  21. TestTextSprite::~TestTextSprite()
  22. {
  23. if(mSkin != nullptr)
  24. CM_DELETE(mSkin, GUISkin, PoolAlloc);
  25. }
  26. void TestTextSprite::init(const HCamera& camera, const String& text, HFont font, UINT32 fontSize, const HTexture& windowFrameTex)
  27. {
  28. mSkin = CM_NEW(GUISkin, PoolAlloc) GUISkin();
  29. OverlayManager::instance().attachOverlay(camera.get(), this);
  30. GUIElementStyle labelStyle;
  31. labelStyle.font = font;
  32. labelStyle.fontSize = fontSize;
  33. mSkin->setStyle(GUILabel::getGUITypeName(), labelStyle);
  34. setSkin(mSkin);
  35. GUILabel::create(this, text, 400, 400, true, THA_Right, TVA_Bottom);
  36. SpriteTexturePtr frameSpriteTex(CM_NEW(SpriteTexture, PoolAlloc) SpriteTexture(windowFrameTex), &MemAllocDeleter<SpriteTexture, PoolAlloc>::deleter);
  37. GUIWindowFrame::create(this, frameSpriteTex);
  38. }
  39. void TestTextSprite::update()
  40. {
  41. }
  42. }