AEEditorJS.cpp 696 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include <AtomicJS/Javascript/JSVM.h>
  2. #include "../Application/AEPreferences.h"
  3. #include "../EditorMode/AEEditorMode.h"
  4. using namespace Atomic;
  5. namespace Atomic
  6. {
  7. extern void jsb_package_editor_init(JSVM* vm);
  8. }
  9. namespace AtomicEditor
  10. {
  11. void jsapi_init_editor(JSVM* vm)
  12. {
  13. duk_context* ctx = vm->GetJSContext();
  14. duk_push_object(ctx);
  15. duk_put_global_string(ctx, "Editor");
  16. jsb_package_editor_init(vm);
  17. duk_get_global_string(ctx, "Atomic");
  18. if (vm->GetContext()->GetEditorContext()) {
  19. js_push_class_object_instance(ctx, vm->GetSubsystem<EditorMode>(), "EditorMode");
  20. duk_put_prop_string(ctx, -2, "editorMode");
  21. }
  22. duk_pop(ctx);
  23. }
  24. }