1#include "../../js_modules.h"
12 JsViewPropTypeTypedArr,
40 JsViewPropAssign assign;
46typedef void* (*JsViewAlloc)(void);
48typedef View* (*JsViewGetView)(
void* specific_view);
50typedef void (*JsViewFree)(
void* specific_view);
55typedef void* (*JsViewCustomMake)(
struct mjs*
mjs,
void* specific_view, mjs_val_t view_obj);
57typedef void (*JsViewCustomDestroy)(
void* specific_view,
void* custom_state,
FuriEventLoop* loop);
60 *JsViewAddChild)(
struct mjs*
mjs,
void* specific_view,
void* custom_state, mjs_val_t child_obj);
62typedef void (*JsViewResetChildren)(
void* specific_view,
void* custom_state);
77 JsViewGetView get_view;
80 JsViewCustomMake custom_make;
81 JsViewCustomDestroy custom_destroy;
83 JsViewAddChild add_child;
84 JsViewResetChildren reset_children;
113#define JS_GUI_VIEW_DEF(name, descriptor) \
114 static void* view_mod_ctor(struct mjs* mjs, mjs_val_t* object, JsModules* modules) { \
116 *object = js_gui_make_view_factory(mjs, descriptor); \
119 static const JsModuleDescriptor js_mod_desc = { \
125 static const FlipperAppPluginDescriptor plugin_descriptor = { \
126 .appid = PLUGIN_APP_ID, \
127 .ep_api_version = PLUGIN_API_VERSION, \
128 .entry_point = &js_mod_desc, \
130 const FlipperAppPluginDescriptor* js_view_##name##_ep(void) { \
131 return &plugin_descriptor; \
Definition event_loop_i.h:80
Descriptor for a JS view.
Definition js_gui.h:75
Property descriptor.
Definition js_gui.h:37