BsScriptFont.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include "BsScriptFont.h"
  2. #include "BsScriptMeta.h"
  3. #include "BsMonoField.h"
  4. #include "BsMonoClass.h"
  5. #include "BsMonoManager.h"
  6. #include "BsScriptResourceManager.h"
  7. #include "BsScriptFontBitmap.h"
  8. namespace BansheeEngine
  9. {
  10. ScriptFont::ScriptFont(MonoObject* instance, const HFont& font)
  11. :TScriptResource(instance, font)
  12. {
  13. }
  14. void ScriptFont::initRuntimeData()
  15. {
  16. metaData.scriptClass->addInternalCall("Internal_GetBitmap", &ScriptFont::internal_GetBitmap);
  17. metaData.scriptClass->addInternalCall("Internal_GetClosestSize", &ScriptFont::internal_GetClosestSize);
  18. }
  19. MonoObject* ScriptFont::internal_GetBitmap(ScriptFont* instance, int size)
  20. {
  21. HFont font = instance->getHandle();
  22. SPtr<const FontBitmap> bitmap = font->getBitmap(size);
  23. if (bitmap != nullptr)
  24. return ScriptFontBitmap::create(bitmap);
  25. return nullptr;
  26. }
  27. int ScriptFont::internal_GetClosestSize(ScriptFont* instance, int size)
  28. {
  29. HFont font = instance->getHandle();
  30. return font->getClosestSize(size);
  31. }
  32. ScriptCharRange::ScriptCharRange(MonoObject* instance)
  33. :ScriptObject(instance)
  34. { }
  35. void ScriptCharRange::initRuntimeData()
  36. { }
  37. }