BsGUIWindowFrame.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "BsGUIWindowFrame.h"
  2. #include "BsImageSprite.h"
  3. #include "BsGUIWidget.h"
  4. #include "BsGUISkin.h"
  5. #include "BsSpriteTexture.h"
  6. #include "BsGUIDimensions.h"
  7. #include "BsGUIMouseEvent.h"
  8. #include "BsCoreApplication.h"
  9. #include "BsPlatform.h"
  10. #include "BsTexture.h"
  11. #include "BsRenderWindow.h"
  12. namespace BansheeEngine
  13. {
  14. const String& GUIWindowFrame::getGUITypeName()
  15. {
  16. static String name = "WindowFrame";
  17. return name;
  18. }
  19. GUIWindowFrame::GUIWindowFrame(const String& styleName, const GUIDimensions& layoutOptions)
  20. :GUITexture(styleName, HSpriteTexture(), GUIImageScaleMode::StretchToFit, true, layoutOptions)
  21. {
  22. }
  23. GUIWindowFrame::~GUIWindowFrame()
  24. { }
  25. GUIWindowFrame* GUIWindowFrame::create(const String& styleName)
  26. {
  27. return new (bs_alloc<GUIWindowFrame, PoolAlloc>()) GUIWindowFrame(getStyleName<GUIWindowFrame>(styleName), GUIDimensions::create());
  28. }
  29. GUIWindowFrame* GUIWindowFrame::create(const GUIOptions& layoutOptions, const String& styleName)
  30. {
  31. return new (bs_alloc<GUIWindowFrame, PoolAlloc>()) GUIWindowFrame(getStyleName<GUIWindowFrame>(styleName), GUIDimensions::create(layoutOptions));
  32. }
  33. void GUIWindowFrame::setFocused(bool focused)
  34. {
  35. if(focused)
  36. mActiveTexture = _getStyle()->focused.texture;
  37. else
  38. mActiveTexture = _getStyle()->normal.texture;
  39. markContentAsDirty();
  40. }
  41. }