1#include "../../js_modules.h"
12 JsViewPropTypeTypedArr,
35 JsViewPropAssign assign;
41typedef void* (*JsViewAlloc)(void);
43typedef View* (*JsViewGetView)(
void* specific_view);
45typedef void (*JsViewFree)(
void* specific_view);
50typedef void* (*JsViewCustomMake)(
struct mjs*
mjs,
void* specific_view, mjs_val_t view_obj);
52typedef void (*JsViewCustomDestroy)(
void* specific_view,
void* custom_state,
FuriEventLoop* loop);
55 *JsViewAddChild)(
struct mjs*
mjs,
void* specific_view,
void* custom_state, mjs_val_t child_obj);
57typedef void (*JsViewResetChildren)(
void* specific_view,
void* custom_state);
72 JsViewGetView get_view;
75 JsViewCustomMake custom_make;
76 JsViewCustomDestroy custom_destroy;
78 JsViewAddChild add_child;
79 JsViewResetChildren reset_children;
108#define JS_GUI_VIEW_DEF(name, descriptor) \
109 static void* view_mod_ctor(struct mjs* mjs, mjs_val_t* object, JsModules* modules) { \
111 *object = js_gui_make_view_factory(mjs, descriptor); \
114 static const JsModuleDescriptor js_mod_desc = { \
120 static const FlipperAppPluginDescriptor plugin_descriptor = { \
121 .appid = PLUGIN_APP_ID, \
122 .ep_api_version = PLUGIN_API_VERSION, \
123 .entry_point = &js_mod_desc, \
125 const FlipperAppPluginDescriptor* js_view_##name##_ep(void) { \
126 return &plugin_descriptor; \
Definition event_loop_i.h:80
Descriptor for a JS view.
Definition js_gui.h:70
Property descriptor.
Definition js_gui.h:32