JSAPI.h 912 B

12345678910111213141516171819202122232425262728293031
  1. // Copyright (c) 2014-2015, THUNDERBEAST GAMES LLC All rights reserved
  2. // Please see LICENSE.md in repository root for license information
  3. // https://github.com/AtomicGameEngine/AtomicGameEngine
  4. #pragma once
  5. #include <Duktape/duktape.h>
  6. typedef void* JS_HEAP_PTR;
  7. #include "../Javascript/JSVM.h"
  8. #define JS_GLOBALSTASH_INDEX_COMPONENTS 0
  9. #define JS_GLOBALSTASH_INDEX_NODE_REGISTRY 1
  10. // indexers for instance objects
  11. #define JS_INSTANCE_INDEX_FINALIZED 0
  12. namespace Atomic
  13. {
  14. class JSVM;
  15. class Object;
  16. void js_constructor_basecall(duk_context* ctx, const char* baseclass);
  17. void js_class_declare(JSVM* vm, const char* classname, duk_c_function constructor);
  18. void js_setup_prototype(JSVM* vm, const char* classname, const char* basename, bool hasProperties = false);
  19. void js_class_push_propertyobject(JSVM* vm, const char* classname);
  20. void js_class_get_prototype(duk_context* ctx, const char *classname);
  21. }