| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #include <AtomicJS/Javascript/JSVM.h>
- #include "../Application/AEPreferences.h"
- #include "../EditorMode/AEEditorMode.h"
- using namespace Atomic;
- namespace Atomic
- {
- extern void jsb_package_editor_init(JSVM* vm);
- }
- namespace AtomicEditor
- {
- static int Editor_GetPreferences(duk_context* ctx)
- {
- JSVM* vm = JSVM::GetJSVM(ctx);
- js_push_class_object_instance(ctx, vm->GetSubsystem<AEPreferences>(), "AEPreferences");
- return 1;
- }
- void jsapi_init_editor(JSVM* vm)
- {
- duk_context* ctx = vm->GetJSContext();
- duk_push_object(ctx);
- duk_push_c_function(ctx, Editor_GetPreferences, 0);
- duk_put_prop_string(ctx, -2, "getPreferences");
- duk_put_global_string(ctx, "Editor");
- jsb_package_editor_init(vm);
- duk_get_global_string(ctx, "Atomic");
- if (vm->GetContext()->GetEditorContext()) {
- js_push_class_object_instance(ctx, vm->GetSubsystem<EditorMode>(), "EditorMode");
- duk_put_prop_string(ctx, -2, "editorMode");
- }
- duk_pop(ctx);
- }
- }
|