BsScriptImportOptions.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #pragma once
  2. #include "BsScriptEditorPrerequisites.h"
  3. #include "BsScriptObject.h"
  4. #include "BsPixelData.h"
  5. namespace BansheeEngine
  6. {
  7. class BS_SCR_BED_EXPORT ScriptImportOptionsBase : ScriptObjectBase
  8. {
  9. public:
  10. SPtr<ImportOptions> getImportOptions() const { return mImportOptions; }
  11. protected:
  12. ScriptImportOptionsBase(MonoObject* instance);
  13. virtual ~ScriptImportOptionsBase() {}
  14. SPtr<ImportOptions> mImportOptions;
  15. };
  16. class BS_SCR_BED_EXPORT ScriptImportOptions : public ScriptObject <ScriptImportOptions, ScriptImportOptionsBase>
  17. {
  18. public:
  19. static String getAssemblyName() { return BansheeEditorAssemblyName; }
  20. static String getNamespace() { return "BansheeEditor"; }
  21. static String getTypeName() { return "ImportOptions"; }
  22. static void initRuntimeData() { }
  23. static MonoObject* create(const SPtr<ImportOptions>& importOptions);
  24. private:
  25. ScriptImportOptions(MonoObject* instance)
  26. :ScriptObject(instance)
  27. { }
  28. };
  29. class BS_SCR_BED_EXPORT ScriptTextureImportOptions : public ScriptObject<ScriptTextureImportOptions, ScriptImportOptionsBase>
  30. {
  31. public:
  32. SCRIPT_OBJ(BansheeEditorAssemblyName, "BansheeEditor", "TextureImportOptions")
  33. static MonoObject* create();
  34. static MonoObject* create(const SPtr<TextureImportOptions>& options);
  35. private:
  36. SPtr<TextureImportOptions> getTexImportOptions();
  37. static void internal_CreateInstance(MonoObject* instance);
  38. static PixelFormat internal_GetPixelFormat(ScriptTextureImportOptions* thisPtr);
  39. static void internal_SetPixelFormat(ScriptTextureImportOptions* thisPtr, PixelFormat value);
  40. static bool internal_GetGenerateMipmaps(ScriptTextureImportOptions* thisPtr);
  41. static void internal_SetGenerateMipmaps(ScriptTextureImportOptions* thisPtr, bool value);
  42. static UINT32 internal_GetMaxMipmapLevel(ScriptTextureImportOptions* thisPtr);
  43. static void internal_SetMaxMipmapLevel(ScriptTextureImportOptions* thisPtr, UINT32 value);
  44. ScriptTextureImportOptions(MonoObject* instance);
  45. };
  46. class BS_SCR_BED_EXPORT ScriptFontImportOptions : public ScriptObject <ScriptFontImportOptions, ScriptImportOptionsBase>
  47. {
  48. public:
  49. SCRIPT_OBJ(BansheeEditorAssemblyName, "BansheeEditor", "FontImportOptions")
  50. static MonoObject* create();
  51. static MonoObject* create(const SPtr<FontImportOptions>& options);
  52. private:
  53. SPtr<FontImportOptions> getFontImportOptions();
  54. static void internal_CreateInstance(MonoObject* instance);
  55. static MonoArray* internal_GetFontSizes(ScriptFontImportOptions* thisPtr);
  56. static void internal_SetFontSizes(ScriptFontImportOptions* thisPtr, MonoArray* value);
  57. static UINT32 internal_GetDPI(ScriptFontImportOptions* thisPtr);
  58. static void internal_SetDPI(ScriptFontImportOptions* thisPtr, UINT32 value);
  59. static bool internal_GetAntialiasing(ScriptFontImportOptions* thisPtr);
  60. static void internal_SetAntialiasing(ScriptFontImportOptions* thisPtr, bool value);
  61. static MonoArray* internal_GetCharRanges(ScriptFontImportOptions* thisPtr);
  62. static void internal_SetCharRanges(ScriptFontImportOptions* thisPtr, MonoArray* value);
  63. ScriptFontImportOptions(MonoObject* instance);
  64. };
  65. class BS_SCR_BED_EXPORT ScriptGpuProgramImportOptions : public ScriptObject <ScriptGpuProgramImportOptions, ScriptImportOptionsBase>
  66. {
  67. public:
  68. SCRIPT_OBJ(BansheeEditorAssemblyName, "BansheeEditor", "GpuProgramImportOptions")
  69. static MonoObject* create();
  70. static MonoObject* create(const SPtr<GpuProgramImportOptions>& options);
  71. private:
  72. SPtr<GpuProgramImportOptions> getGpuProgImportOptions();
  73. static void internal_CreateInstance(MonoObject* instance);
  74. static MonoString* internal_GetEntryPoint(ScriptGpuProgramImportOptions* thisPtr);
  75. static void internal_SetEntryPoint(ScriptGpuProgramImportOptions* thisPtr, MonoString* value);
  76. static GpuLanguage internal_GetLanguage(ScriptGpuProgramImportOptions* thisPtr);
  77. static void internal_SetLanguage(ScriptGpuProgramImportOptions* thisPtr, GpuLanguage value);
  78. static GpuProgramProfile internal_GetProfile(ScriptGpuProgramImportOptions* thisPtr);
  79. static void internal_SetProfile(ScriptGpuProgramImportOptions* thisPtr, GpuProgramProfile value);
  80. static GpuProgramType internal_GetType(ScriptGpuProgramImportOptions* thisPtr);
  81. static void internal_SetType(ScriptGpuProgramImportOptions* thisPtr, GpuProgramType value);
  82. ScriptGpuProgramImportOptions(MonoObject* instance);
  83. };
  84. class BS_SCR_BED_EXPORT ScriptCharRange : public ScriptObject <ScriptCharRange>
  85. {
  86. public:
  87. SCRIPT_OBJ(BansheeEditorAssemblyName, "BansheeEditor", "Color")
  88. static Color unbox(MonoObject* obj);
  89. static MonoObject* box(const Color& value);
  90. private:
  91. ScriptCharRange(MonoObject* instance);
  92. };
  93. }