2
0

BsScriptFont.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Wrappers/BsScriptFont.h"
  4. #include "BsScriptMeta.h"
  5. #include "BsMonoField.h"
  6. #include "BsMonoClass.h"
  7. #include "BsMonoManager.h"
  8. #include "BsScriptResourceManager.h"
  9. #include "Wrappers/BsScriptFontBitmap.h"
  10. namespace bs
  11. {
  12. ScriptFont::ScriptFont(MonoObject* instance, const HFont& font)
  13. :TScriptResource(instance, font)
  14. {
  15. }
  16. void ScriptFont::initRuntimeData()
  17. {
  18. metaData.scriptClass->addInternalCall("Internal_GetBitmap", (void*)&ScriptFont::internal_GetBitmap);
  19. metaData.scriptClass->addInternalCall("Internal_GetClosestSize", (void*)&ScriptFont::internal_GetClosestSize);
  20. }
  21. MonoObject* ScriptFont::internal_GetBitmap(ScriptFont* instance, int size)
  22. {
  23. HFont font = instance->getHandle();
  24. SPtr<const FontBitmap> bitmap = font->getBitmap(size);
  25. if (bitmap != nullptr)
  26. return ScriptFontBitmap::create(bitmap);
  27. return nullptr;
  28. }
  29. int ScriptFont::internal_GetClosestSize(ScriptFont* instance, int size)
  30. {
  31. HFont font = instance->getHandle();
  32. return font->getClosestSize(size);
  33. }
  34. MonoObject* ScriptFont::createInstance()
  35. {
  36. return metaData.scriptClass->createInstance();
  37. }
  38. ScriptCharRange::ScriptCharRange(MonoObject* instance)
  39. :ScriptObject(instance)
  40. { }
  41. void ScriptCharRange::initRuntimeData()
  42. { }
  43. }