chore: add binding for PikaScript. (#3636)
This commit is contained in:
11
env_support/pikascript/README.md
Normal file
11
env_support/pikascript/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# PikaScript Binding for LVGL
|
||||
|
||||
[PikaScript](https://github.com/pikasTech/pikascript) is an ultralightweight python engine that can run with 4KB of RAM and 32KB of Flash (such as STM32G030C8 and STM32F103C8), and is very easy to deploy and expand.
|
||||
|
||||
More details to see: [PikaScript and lvgl: Make Python Lighter, Easier and Smarter](https://blog.lvgl.io/2022-08-24/pikascript-and-lvgl)
|
||||
|
||||
The available Python APIs are in the `pika_lvgl.pyi`, and you need copy the `pika_lvgl.pyi` to the root path of pikascript, then `import pika_lvgl` in `main.py`.
|
||||
|
||||
The available simulation project on windows: https://github.com/pikasTech/lv_pikascript
|
||||
|
||||
More document about PikaScript: https://pikadoc.readthedocs.io/en/latest/index.html
|
||||
10
env_support/pikascript/pika_lv_point_t.c
Normal file
10
env_support/pikascript/pika_lv_point_t.c
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_point_t.h"
|
||||
|
||||
void pika_lvgl_point_t___init__(PikaObj* self) {
|
||||
lv_point_t lv_point = {0};
|
||||
args_setStruct(self->list, "lv_point_struct", lv_point);
|
||||
obj_setPtr(self, "lv_point", args_getStruct(self->list, "lv_point_struct"));
|
||||
}
|
||||
#endif
|
||||
38
env_support/pikascript/pika_lv_timer_t.c
Normal file
38
env_support/pikascript/pika_lv_timer_t.c
Normal file
@@ -0,0 +1,38 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_lv_timer_t.h"
|
||||
|
||||
PikaEventListener* g_pika_lv_timer_event_listener;
|
||||
|
||||
void __pika_timer_cb(lv_timer_t* timer) {
|
||||
PikaObj* eventHandleObj = pks_eventLisener_getEventHandleObj(
|
||||
g_pika_lv_timer_event_listener, (uint32_t)timer);
|
||||
obj_newDirectObj(eventHandleObj, "timer", New_pika_lvgl_lv_timer_t);
|
||||
obj_setPtr(obj_getPtr(eventHandleObj, "timer"), "lv_timer", timer);
|
||||
obj_run(eventHandleObj, "eventCallBack(timer)");
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_timer_t_set_period(PikaObj* self, int period) {
|
||||
lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
|
||||
lv_timer_set_period(lv_timer, period);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_timer_t_set_cb(PikaObj* self, Arg* cb) {
|
||||
lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
|
||||
lv_timer_set_cb(lv_timer, __pika_timer_cb);
|
||||
|
||||
obj_setArg(self, "eventCallBack", cb);
|
||||
/* init event_listener for the first time */
|
||||
if (NULL == g_pika_lv_timer_event_listener) {
|
||||
pks_eventLisener_init(&g_pika_lv_timer_event_listener);
|
||||
}
|
||||
pks_eventLicener_registEvent(g_pika_lv_timer_event_listener,
|
||||
(uint32_t)lv_timer, self);
|
||||
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_timer_t__del(PikaObj* self) {
|
||||
lv_timer_t* lv_timer = obj_getPtr(self, "lv_timer");
|
||||
lv_timer_del(lv_timer);
|
||||
}
|
||||
#endif
|
||||
359
env_support/pikascript/pika_lv_wegit.c
Normal file
359
env_support/pikascript/pika_lv_wegit.c
Normal file
@@ -0,0 +1,359 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "BaseObj.h"
|
||||
#include "pika_lvgl.h"
|
||||
#include "pika_lvgl_arc.h"
|
||||
#include "pika_lvgl_bar.h"
|
||||
#include "pika_lvgl_btn.h"
|
||||
#include "pika_lvgl_checkbox.h"
|
||||
#include "pika_lvgl_dropdown.h"
|
||||
#include "pika_lvgl_label.h"
|
||||
#include "pika_lvgl_lv_obj.h"
|
||||
#include "pika_lvgl_roller.h"
|
||||
#include "pika_lvgl_slider.h"
|
||||
#include "pika_lvgl_switch.h"
|
||||
#include "pika_lvgl_table.h"
|
||||
#include "pika_lvgl_textarea.h"
|
||||
|
||||
void pika_lvgl_arc___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_arc_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
obj_setInt(self, "MODE_NORMAL", LV_ARC_MODE_NORMAL);
|
||||
obj_setInt(self, "MODE_SYMMETRICAL", LV_ARC_MODE_SYMMETRICAL);
|
||||
obj_setInt(self, "MODE_REVERSE", LV_ARC_MODE_REVERSE);
|
||||
}
|
||||
|
||||
void pika_lvgl_arc_set_end_angle(PikaObj* self, int angle) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_end_angle(lv_obj, angle);
|
||||
}
|
||||
|
||||
void pika_lvgl_arc_set_bg_angles(PikaObj* self, int start, int end) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_bg_angles(lv_obj, start, end);
|
||||
}
|
||||
|
||||
void pika_lvgl_arc_set_angles(PikaObj* self, int start, int end) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_angles(lv_obj, start, end);
|
||||
}
|
||||
|
||||
int pika_lvgl_arc_get_angle_end(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_angle_end(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_angle_start(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_angle_start(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_bg_angle_end(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_bg_angle_end(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_bg_angle_start(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_bg_angle_start(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_max_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_max_value(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_min_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_min_value(lv_obj);
|
||||
}
|
||||
int pika_lvgl_arc_get_mode(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_mode(lv_obj);
|
||||
}
|
||||
// int pika_lvgl_arc_get_rotation(PikaObj *self){
|
||||
// lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
// return lv_arc_get_rotation(lv_obj);
|
||||
// }
|
||||
int pika_lvgl_arc_get_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_arc_get_value(lv_obj);
|
||||
}
|
||||
void pika_lvgl_arc_set_mode(PikaObj *self, int mode){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_mode(lv_obj, mode);
|
||||
}
|
||||
void pika_lvgl_arc_set_range(PikaObj *self, int min, int max){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_range(lv_obj, min, max);
|
||||
}
|
||||
void pika_lvgl_arc_set_rotation(PikaObj *self, int rotation){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_rotation(lv_obj, rotation);
|
||||
}
|
||||
void pika_lvgl_arc_set_start_angle(PikaObj *self, int start){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_start_angle(lv_obj, start);
|
||||
}
|
||||
void pika_lvgl_arc_set_value(PikaObj *self, int value){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_value(lv_obj, value);
|
||||
}
|
||||
void pika_lvgl_arc_set_bg_end_angle(PikaObj *self, int angle){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_bg_end_angle(lv_obj, angle);
|
||||
}
|
||||
void pika_lvgl_arc_set_bg_start_angle(PikaObj *self, int start){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_bg_start_angle(lv_obj, start);
|
||||
}
|
||||
|
||||
void pika_lvgl_arc_set_change_rate(PikaObj *self, int rate){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_arc_set_change_rate(lv_obj, rate);
|
||||
}
|
||||
|
||||
void pika_lvgl_bar___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_bar_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_bar_set_value(PikaObj* self, int value, int anim) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_bar_set_value(lv_obj, value, value);
|
||||
}
|
||||
|
||||
int pika_lvgl_bar_get_max_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_bar_get_max_value(lv_obj);
|
||||
}
|
||||
int pika_lvgl_bar_get_min_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_bar_get_min_value(lv_obj);
|
||||
}
|
||||
int pika_lvgl_bar_get_mode(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_bar_get_mode(lv_obj);
|
||||
}
|
||||
int pika_lvgl_bar_get_start_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_bar_get_start_value(lv_obj);
|
||||
}
|
||||
int pika_lvgl_bar_get_value(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_bar_get_value(lv_obj);
|
||||
}
|
||||
void pika_lvgl_bar_set_mode(PikaObj *self, int mode){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_bar_set_mode(lv_obj, mode);
|
||||
}
|
||||
void pika_lvgl_bar_set_range(PikaObj *self, int min, int max){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_bar_set_range(lv_obj, min, max);
|
||||
}
|
||||
void pika_lvgl_bar_set_start_value(PikaObj *self, int start_value, int anim){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_bar_set_start_value(lv_obj, start_value, anim);
|
||||
}
|
||||
|
||||
void pika_lvgl_btn___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_btn_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_checkbox___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_checkbox_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_checkbox_set_text(PikaObj* self, char* txt) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_checkbox_set_text(lv_obj, txt);
|
||||
}
|
||||
|
||||
void pika_lvgl_checkbox_set_text_static(PikaObj *self, char* txt){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_checkbox_set_text_static(lv_obj, txt);
|
||||
}
|
||||
|
||||
char* pika_lvgl_checkbox_get_text(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_checkbox_get_text(lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_dropdown___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_dropdown_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_dropdown_set_options(PikaObj* self, char* options) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_options(lv_obj, options);
|
||||
}
|
||||
|
||||
void pika_lvgl_dropdown_add_option(PikaObj *self, char* options, int pos){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_add_option(lv_obj, options, pos);
|
||||
}
|
||||
void pika_lvgl_dropdown_clear_options(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_clear_options(lv_obj);
|
||||
}
|
||||
void pika_lvgl_dropdown_close(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_close(lv_obj);
|
||||
}
|
||||
int pika_lvgl_dropdown_get_dir(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_dir(lv_obj);
|
||||
}
|
||||
// PikaObj* pika_lvgl_dropdown_get_list(PikaObj *self){
|
||||
// lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
// return obj_getObj(lv_dropdown_get_list(lv_obj));
|
||||
// }
|
||||
int pika_lvgl_dropdown_get_option_cnt(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_option_cnt(lv_obj);
|
||||
}
|
||||
int pika_lvgl_dropdown_get_option_index(PikaObj *self, char* txt){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_option_index(lv_obj, txt);
|
||||
}
|
||||
char* pika_lvgl_dropdown_get_options(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_options(lv_obj);
|
||||
}
|
||||
int pika_lvgl_dropdown_get_selected(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_selected(lv_obj);
|
||||
}
|
||||
int pika_lvgl_dropdown_get_selected_highlight(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_selected_highlight(lv_obj);
|
||||
}
|
||||
|
||||
char* pika_lvgl_dropdown_get_selected_str(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
obj_setBytes(self, "_buff",NULL, 128);
|
||||
char* _buff = obj_getBytes(self, "_buff");
|
||||
lv_dropdown_get_selected_str(lv_obj, _buff, 128);
|
||||
return _buff;
|
||||
}
|
||||
int pika_lvgl_dropdown_get_symbol(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_symbol(lv_obj);
|
||||
}
|
||||
char* pika_lvgl_dropdown_get_text(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_get_text(lv_obj);
|
||||
}
|
||||
int pika_lvgl_dropdown_is_open(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_dropdown_is_open(lv_obj);
|
||||
}
|
||||
void pika_lvgl_dropdown_open(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_open(lv_obj);
|
||||
}
|
||||
void pika_lvgl_dropdown_set_dir(PikaObj *self, int dir){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_dir(lv_obj, dir);
|
||||
}
|
||||
void pika_lvgl_dropdown_set_selected(PikaObj *self, int sel_opt){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_selected(lv_obj, sel_opt);
|
||||
}
|
||||
void pika_lvgl_dropdown_set_selected_hightlight(PikaObj *self, int en){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_selected_highlight(lv_obj, en);
|
||||
}
|
||||
void pika_lvgl_dropdown_set_symbol(PikaObj *self, char* symbol){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_symbol(lv_obj, symbol);
|
||||
}
|
||||
void pika_lvgl_dropdown_set_text(PikaObj *self, char* txt){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_dropdown_set_text(lv_obj, txt);
|
||||
}
|
||||
|
||||
void pika_lvgl_label___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_label_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_label_set_long_mode(PikaObj* self, int mode) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_label_set_long_mode(lv_obj, mode);
|
||||
}
|
||||
|
||||
void pika_lvgl_label_set_recolor(PikaObj* self, int en) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_label_set_recolor(lv_obj, en);
|
||||
}
|
||||
|
||||
void pika_lvgl_label_set_text(PikaObj* self, char* txt) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_label_set_text(lv_obj, txt);
|
||||
}
|
||||
|
||||
void pika_lvgl_label_set_style_text_align(PikaObj* self,
|
||||
int value,
|
||||
int selector) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_set_style_text_align(lv_obj, value, selector);
|
||||
}
|
||||
|
||||
void pika_lvgl_roller___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_roller_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_roller_set_options(PikaObj* self, char* options, int mode) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_roller_set_options(lv_obj, options, mode);
|
||||
}
|
||||
|
||||
void pika_lvgl_roller_set_visible_row_count(PikaObj* self, int row_cnt) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_roller_set_visible_row_count(lv_obj, row_cnt);
|
||||
}
|
||||
|
||||
void pika_lvgl_slider___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_slider_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_switch___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_switch_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_table___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_table_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_table_set_cell_value(PikaObj* self,
|
||||
int row,
|
||||
int col,
|
||||
char* txt) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_table_set_cell_value(lv_obj, row, col, txt);
|
||||
}
|
||||
|
||||
void pika_lvgl_textarea___init__(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_textarea_create(lv_parent);
|
||||
obj_setPtr(self, "lv_obj", lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_textarea_set_one_line(PikaObj* self, int en) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_textarea_set_one_line(lv_obj, en);
|
||||
}
|
||||
#endif
|
||||
194
env_support/pikascript/pika_lvgl.c
Normal file
194
env_support/pikascript/pika_lvgl.c
Normal file
@@ -0,0 +1,194 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl.h"
|
||||
#include "BaseObj.h"
|
||||
#include "pika_lvgl_ALIGN.h"
|
||||
#include "pika_lvgl_ANIM.h"
|
||||
#include "pika_lvgl_EVENT.h"
|
||||
#include "pika_lvgl_OPA.h"
|
||||
#include "pika_lvgl_PALETTE.h"
|
||||
#include "pika_lvgl_STATE.h"
|
||||
#include "pika_lvgl_arc.h"
|
||||
#include "pika_lvgl_lv_color_t.h"
|
||||
#include "pika_lvgl_lv_obj.h"
|
||||
#include "pika_lvgl_indev_t.h"
|
||||
#include "pika_lvgl_lv_timer_t.h"
|
||||
|
||||
PikaObj* pika_lv_event_listener_g;
|
||||
|
||||
void pika_lvgl_STATE___init__(PikaObj* self) {
|
||||
obj_setInt(self, "DEFAULT", LV_STATE_DEFAULT);
|
||||
obj_setInt(self, "CHECKED", LV_STATE_CHECKED);
|
||||
obj_setInt(self, "FOCUSED", LV_STATE_FOCUSED);
|
||||
obj_setInt(self, "FOCUS_KEY", LV_STATE_FOCUS_KEY);
|
||||
obj_setInt(self, "EDITED", LV_STATE_EDITED);
|
||||
obj_setInt(self, "HOVERED", LV_STATE_HOVERED);
|
||||
obj_setInt(self, "PRESSED", LV_STATE_PRESSED);
|
||||
obj_setInt(self, "SCROLLED", LV_STATE_SCROLLED);
|
||||
obj_setInt(self, "DISABLED", LV_STATE_DISABLED);
|
||||
obj_setInt(self, "USER_1", LV_STATE_USER_1);
|
||||
obj_setInt(self, "USER_2", LV_STATE_USER_2);
|
||||
obj_setInt(self, "USER_3", LV_STATE_USER_3);
|
||||
obj_setInt(self, "USER_4", LV_STATE_USER_4);
|
||||
obj_setInt(self, "ANY", LV_STATE_ANY);
|
||||
}
|
||||
|
||||
void pika_lvgl_ANIM___init__(PikaObj* self) {
|
||||
obj_setInt(self, "ON", LV_ANIM_OFF);
|
||||
obj_setInt(self, "OFF", LV_ANIM_ON);
|
||||
}
|
||||
|
||||
void pika_lvgl_ALIGN___init__(PikaObj* self) {
|
||||
obj_setInt(self, "CENTER", LV_ALIGN_CENTER);
|
||||
obj_setInt(self, "DEFAULT", LV_ALIGN_DEFAULT);
|
||||
obj_setInt(self, "TOP_LEFT", LV_ALIGN_TOP_LEFT);
|
||||
obj_setInt(self, "TOP_MID", LV_ALIGN_TOP_MID);
|
||||
obj_setInt(self, "TOP_RIGHT", LV_ALIGN_TOP_RIGHT);
|
||||
obj_setInt(self, "BOTTOM_LEFT", LV_ALIGN_BOTTOM_LEFT);
|
||||
obj_setInt(self, "BOTTOM_MID", LV_ALIGN_BOTTOM_MID);
|
||||
obj_setInt(self, "BOTTOM_RIGHT", LV_ALIGN_BOTTOM_RIGHT);
|
||||
obj_setInt(self, "LEFT_MID", LV_ALIGN_LEFT_MID);
|
||||
obj_setInt(self, "RIGHT_MID", LV_ALIGN_RIGHT_MID);
|
||||
obj_setInt(self, "OUT_TOP_LEFT", LV_ALIGN_OUT_TOP_LEFT);
|
||||
obj_setInt(self, "OUT_TOP_MID", LV_ALIGN_OUT_TOP_MID);
|
||||
obj_setInt(self, "OUT_TOP_RIGHT", LV_ALIGN_OUT_TOP_RIGHT);
|
||||
obj_setInt(self, "OUT_BOTTOM_LEFT", LV_ALIGN_OUT_BOTTOM_LEFT);
|
||||
obj_setInt(self, "OUT_BOTTOM_MID", LV_ALIGN_OUT_BOTTOM_MID);
|
||||
obj_setInt(self, "OUT_BOTTOM_RIGHT", LV_ALIGN_OUT_BOTTOM_RIGHT);
|
||||
obj_setInt(self, "OUT_LEFT_TOP", LV_ALIGN_OUT_LEFT_TOP);
|
||||
obj_setInt(self, "OUT_LEFT_MID", LV_ALIGN_OUT_LEFT_MID);
|
||||
obj_setInt(self, "OUT_LEFT_BOTTOM", LV_ALIGN_OUT_LEFT_BOTTOM);
|
||||
obj_setInt(self, "OUT_RIGHT_TOP", LV_ALIGN_OUT_RIGHT_TOP);
|
||||
obj_setInt(self, "OUT_RIGHT_MID", LV_ALIGN_OUT_RIGHT_MID);
|
||||
obj_setInt(self, "OUT_RIGHT_BOTTOM", LV_ALIGN_OUT_RIGHT_BOTTOM);
|
||||
}
|
||||
|
||||
void pika_lvgl_EVENT___init__(PikaObj* self) {
|
||||
obj_setInt(self, "ALL", LV_EVENT_ALL);
|
||||
obj_setInt(self, "PRESSED", LV_EVENT_PRESSED);
|
||||
obj_setInt(self, "PRESSING", LV_EVENT_PRESSING);
|
||||
obj_setInt(self, "PRESS_LOST", LV_EVENT_PRESS_LOST);
|
||||
obj_setInt(self, "SHORT_CLICKED", LV_EVENT_SHORT_CLICKED);
|
||||
obj_setInt(self, "LONG_PRESSED", LV_EVENT_LONG_PRESSED);
|
||||
obj_setInt(self, "LONG_PRESSED_REPEAT", LV_EVENT_LONG_PRESSED_REPEAT);
|
||||
obj_setInt(self, "CLICKED", LV_EVENT_CLICKED);
|
||||
obj_setInt(self, "RELEASED", LV_EVENT_RELEASED);
|
||||
obj_setInt(self, "SCROLL_BEGIN", LV_EVENT_SCROLL_BEGIN);
|
||||
obj_setInt(self, "SCROLL_END", LV_EVENT_SCROLL_END);
|
||||
obj_setInt(self, "SCROLL", LV_EVENT_SCROLL);
|
||||
obj_setInt(self, "GESTURE", LV_EVENT_GESTURE);
|
||||
obj_setInt(self, "KEY", LV_EVENT_KEY);
|
||||
obj_setInt(self, "FOCUSED", LV_EVENT_FOCUSED);
|
||||
obj_setInt(self, "DEFOCUSED", LV_EVENT_DEFOCUSED);
|
||||
obj_setInt(self, "LEAVE", LV_EVENT_LEAVE);
|
||||
obj_setInt(self, "HIT_TEST", LV_EVENT_HIT_TEST);
|
||||
obj_setInt(self, "COVER_CHECK", LV_EVENT_COVER_CHECK);
|
||||
obj_setInt(self, "REFR_EXT_DRAW_SIZE", LV_EVENT_REFR_EXT_DRAW_SIZE);
|
||||
obj_setInt(self, "DRAW_MAIN_BEGIN", LV_EVENT_DRAW_MAIN_BEGIN);
|
||||
obj_setInt(self, "DRAW_MAIN", LV_EVENT_DRAW_MAIN);
|
||||
obj_setInt(self, "DRAW_MAIN_END", LV_EVENT_DRAW_MAIN_END);
|
||||
obj_setInt(self, "DRAW_POST_BEGIN", LV_EVENT_DRAW_POST_BEGIN);
|
||||
obj_setInt(self, "DRAW_POST", LV_EVENT_DRAW_POST);
|
||||
obj_setInt(self, "DRAW_POST_END", LV_EVENT_DRAW_POST_END);
|
||||
obj_setInt(self, "DRAW_PART_BEGIN", LV_EVENT_DRAW_PART_BEGIN);
|
||||
obj_setInt(self, "DRAW_PART_END", LV_EVENT_DRAW_PART_END);
|
||||
obj_setInt(self, "VALUE_CHANGED", LV_EVENT_VALUE_CHANGED);
|
||||
obj_setInt(self, "INSERT", LV_EVENT_INSERT);
|
||||
obj_setInt(self, "REFRESH", LV_EVENT_REFRESH);
|
||||
obj_setInt(self, "READY", LV_EVENT_READY);
|
||||
obj_setInt(self, "CANCEL", LV_EVENT_CANCEL);
|
||||
obj_setInt(self, "DELETE", LV_EVENT_DELETE);
|
||||
obj_setInt(self, "CHILD_CHANGED", LV_EVENT_CHILD_CHANGED);
|
||||
obj_setInt(self, "CHILD_CREATED", LV_EVENT_CHILD_CREATED);
|
||||
obj_setInt(self, "CHILD_DELETED", LV_EVENT_CHILD_DELETED);
|
||||
obj_setInt(self, "SCREEN_UNLOAD_START", LV_EVENT_SCREEN_UNLOAD_START);
|
||||
obj_setInt(self, "SCREEN_LOAD_START", LV_EVENT_SCREEN_LOAD_START);
|
||||
obj_setInt(self, "SCREEN_LOADED", LV_EVENT_SCREEN_LOADED);
|
||||
obj_setInt(self, "SCREEN_UNLOADED", LV_EVENT_SCREEN_UNLOADED);
|
||||
obj_setInt(self, "SIZE_CHANGED", LV_EVENT_SIZE_CHANGED);
|
||||
obj_setInt(self, "STYLE_CHANGED", LV_EVENT_STYLE_CHANGED);
|
||||
obj_setInt(self, "LAYOUT_CHANGED", LV_EVENT_LAYOUT_CHANGED);
|
||||
obj_setInt(self, "GET_SELF_SIZE", LV_EVENT_GET_SELF_SIZE);
|
||||
obj_setInt(self, "PREPROCESS", LV_EVENT_PREPROCESS);
|
||||
}
|
||||
|
||||
void pika_lvgl_OPA___init__(PikaObj* self) {
|
||||
obj_setInt(self, "TRANSP", LV_OPA_TRANSP);
|
||||
obj_setInt(self, "COVER", LV_OPA_COVER);
|
||||
}
|
||||
|
||||
void pika_lvgl_PALETTE___init__(PikaObj* self) {
|
||||
obj_setInt(self, "RED", LV_PALETTE_RED);
|
||||
obj_setInt(self, "PINK", LV_PALETTE_PINK);
|
||||
obj_setInt(self, "PURPLE", LV_PALETTE_PURPLE);
|
||||
obj_setInt(self, "DEEP_PURPLE", LV_PALETTE_DEEP_PURPLE);
|
||||
obj_setInt(self, "INDIGO", LV_PALETTE_INDIGO);
|
||||
obj_setInt(self, "BLUE", LV_PALETTE_BLUE);
|
||||
obj_setInt(self, "LIGHT_BLUE", LV_PALETTE_LIGHT_BLUE);
|
||||
obj_setInt(self, "CYAN", LV_PALETTE_CYAN);
|
||||
obj_setInt(self, "TEAL", LV_PALETTE_TEAL);
|
||||
obj_setInt(self, "GREEN", LV_PALETTE_GREEN);
|
||||
obj_setInt(self, "LIGHT_GREEN", LV_PALETTE_LIGHT_GREEN);
|
||||
obj_setInt(self, "LIME", LV_PALETTE_LIME);
|
||||
obj_setInt(self, "YELLOW", LV_PALETTE_YELLOW);
|
||||
obj_setInt(self, "AMBER", LV_PALETTE_AMBER);
|
||||
obj_setInt(self, "ORANGE", LV_PALETTE_ORANGE);
|
||||
obj_setInt(self, "DEEP_ORANGE", LV_PALETTE_DEEP_ORANGE);
|
||||
obj_setInt(self, "BROWN", LV_PALETTE_BROWN);
|
||||
obj_setInt(self, "BLUE_GREY", LV_PALETTE_BLUE_GREY);
|
||||
obj_setInt(self, "GREY", LV_PALETTE_GREY);
|
||||
obj_setInt(self, "NONE", LV_PALETTE_NONE);
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_scr_act(PikaObj* self) {
|
||||
PikaObj* new_obj = newNormalObj(New_TinyObj);
|
||||
lv_obj_t* lv_obj = lv_scr_act();
|
||||
obj_setPtr(new_obj, "lv_obj", lv_obj);
|
||||
return new_obj;
|
||||
}
|
||||
|
||||
void pika_lvgl___init__(PikaObj* self) {
|
||||
obj_newDirectObj(self, "lv_event_listener", New_TinyObj);
|
||||
pika_lv_event_listener_g = obj_getObj(self, "lv_event_listener");
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_obj(PikaObj* self, PikaObj* parent) {
|
||||
lv_obj_t* lv_parent = obj_getPtr(parent, "lv_obj");
|
||||
lv_obj_t* lv_obj = lv_obj_create(lv_parent);
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_obj);
|
||||
obj_setPtr(new_obj, "lv_obj", lv_obj);
|
||||
return new_obj;
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_palette_lighten(PikaObj *self, int p, int lvl){
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_color_t);
|
||||
lv_color_t lv_color = lv_palette_lighten(p, lvl);
|
||||
args_setStruct(new_obj->list, "lv_color_struct", lv_color);
|
||||
lv_color_t* plv_color = args_getStruct(new_obj->list, "lv_color_struct");
|
||||
obj_setPtr(new_obj, "lv_color", plv_color);
|
||||
return new_obj;
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_palette_main(PikaObj* self, int p) {
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_color_t);
|
||||
lv_color_t lv_color = lv_palette_main(p);
|
||||
args_setStruct(new_obj->list, "lv_color_struct", lv_color);
|
||||
obj_setPtr(new_obj, "lv_color",
|
||||
args_getStruct(new_obj->list, "lv_color_struct"));
|
||||
return new_obj;
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_indev_get_act(PikaObj *self){
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_indev_t);
|
||||
lv_indev_t *lv_indev = lv_indev_get_act();
|
||||
obj_setPtr(new_obj,"lv_indev", lv_indev);
|
||||
return new_obj;
|
||||
}
|
||||
|
||||
PikaObj* pika_lvgl_timer_create_basic(PikaObj *self){
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_timer_t);
|
||||
lv_timer_t *lv_timer = lv_timer_create_basic();
|
||||
obj_setPtr(new_obj,"lv_timer", lv_timer);
|
||||
return new_obj;
|
||||
}
|
||||
#endif
|
||||
263
env_support/pikascript/pika_lvgl.pyi
Normal file
263
env_support/pikascript/pika_lvgl.pyi
Normal file
@@ -0,0 +1,263 @@
|
||||
from PikaObj import *
|
||||
|
||||
def __init__(): ...
|
||||
|
||||
class EVENT:
|
||||
ALL: int
|
||||
PRESSED: int
|
||||
PRESSING: int
|
||||
PRESS_LOST: int
|
||||
SHORT_CLICKED: int
|
||||
LONG_PRESSED: int
|
||||
LONG_PRESSED_REPEAT: int
|
||||
CLICKED: int
|
||||
RELEASED: int
|
||||
SCROLL_BEGIN: int
|
||||
SCROLL_END: int
|
||||
SCROLL: int
|
||||
GESTURE: int
|
||||
KEY: int
|
||||
FOCUSED: int
|
||||
DEFOCUSED: int
|
||||
LEAVE: int
|
||||
HIT_TEST: int
|
||||
COVER_CHECK: int
|
||||
REFR_EXT_DRAW_SIZE: int
|
||||
DRAW_MAIN_BEGIN: int
|
||||
DRAW_MAIN: int
|
||||
DRAW_MAIN_END: int
|
||||
DRAW_POST_BEGIN: int
|
||||
DRAW_POST: int
|
||||
DRAW_POST_END: int
|
||||
DRAW_PART_BEGIN: int
|
||||
DRAW_PART_END: int
|
||||
VALUE_CHANGED: int
|
||||
INSERT: int
|
||||
REFRESH: int
|
||||
READY: int
|
||||
CANCEL: int
|
||||
DELETE: int
|
||||
CHILD_CHANGED: int
|
||||
CHILD_CREATED: int
|
||||
CHILD_DELETED: int
|
||||
SCREEN_UNLOAD_START: int
|
||||
SCREEN_LOAD_START: int
|
||||
SCREEN_LOADED: int
|
||||
SCREEN_UNLOADED: int
|
||||
SIZE_CHANGED: int
|
||||
STYLE_CHANGED: int
|
||||
LAYOUT_CHANGED: int
|
||||
GET_SELF_SIZE: int
|
||||
PREPROCESS: int
|
||||
def __init__(self): ...
|
||||
|
||||
class ALIGN:
|
||||
DEFAULT: int
|
||||
TOP_LEFT: int
|
||||
TOP_MID: int
|
||||
TOP_RIGHT: int
|
||||
BOTTOM_LEFT: int
|
||||
BOTTOM_MID: int
|
||||
BOTTOM_RIGHT: int
|
||||
LEFT_MID: int
|
||||
RIGHT_MID: int
|
||||
CENTER: int
|
||||
OUT_TOP_LEFT: int
|
||||
OUT_TOP_MID: int
|
||||
OUT_TOP_RIGHT: int
|
||||
OUT_BOTTOM_LEFT: int
|
||||
OUT_BOTTOM_MID: int
|
||||
OUT_BOTTOM_RIGHT: int
|
||||
OUT_LEFT_TOP: int
|
||||
OUT_LEFT_MID: int
|
||||
OUT_LEFT_BOTTOM: int
|
||||
OUT_RIGHT_TOP: int
|
||||
OUT_RIGHT_MID: int
|
||||
OUT_RIGHT_BOTTOM: int
|
||||
def __init__(self): ...
|
||||
|
||||
class PALETTE:
|
||||
RED: int
|
||||
PINK: int
|
||||
PURPLE: int
|
||||
DEEP_PURPLE: int
|
||||
INDIGO: int
|
||||
BLUE: int
|
||||
LIGHT_BLUE: int
|
||||
CYAN: int
|
||||
TEAL: int
|
||||
GREEN: int
|
||||
LIGHT_GREEN: int
|
||||
LIME: int
|
||||
YELLOW: int
|
||||
AMBER: int
|
||||
ORANGE: int
|
||||
DEEP_ORANGE: int
|
||||
BROWN: int
|
||||
BLUE_GREY: int
|
||||
GREY: int
|
||||
NONE: int
|
||||
def __init__(self): ...
|
||||
|
||||
class OPA:
|
||||
TRANSP: int
|
||||
COVER: int
|
||||
def __init__(self): ...
|
||||
|
||||
class ANIM:
|
||||
OFF: int
|
||||
ON: int
|
||||
def __init__(self): ...
|
||||
|
||||
class STATE:
|
||||
def __init__(self): ...
|
||||
|
||||
class lv_event:
|
||||
def get_code(self) -> int: ...
|
||||
def get_target(self) -> lv_obj: ...
|
||||
|
||||
class lv_color_t: ...
|
||||
|
||||
class lv_timer_t:
|
||||
def set_period(period: int): ...
|
||||
def set_cb(cb: any): ...
|
||||
def _del(self): ...
|
||||
|
||||
def palette_lighten(p: int, lvl: int) -> lv_color_t: ...
|
||||
def palette_main(p: int) -> lv_color_t: ...
|
||||
|
||||
class style_t:
|
||||
def __init__(self): ...
|
||||
def init(self): ...
|
||||
def set_radius(self, radius: int): ...
|
||||
def set_bg_opa(self, opa: int): ...
|
||||
def set_bg_color(self, color: lv_color_t): ...
|
||||
def set_outline_width(self, w: int): ...
|
||||
def set_outline_color(self, color: lv_color_t): ...
|
||||
def set_outline_pad(self, pad: int): ...
|
||||
def set_shadow_width(self, w: int): ...
|
||||
def set_shadow_spread(self, s: int): ...
|
||||
def set_shadow_color(self, color: lv_color_t): ...
|
||||
|
||||
class lv_obj:
|
||||
def center(self): ...
|
||||
def set_size(self, size_x: int, size_y: int): ...
|
||||
def align(self, align: int, x_ofs: int, y_ofs: int): ...
|
||||
def set_hight(self, h: int): ...
|
||||
def update_layout(self): ...
|
||||
def set_width(self, w: int): ...
|
||||
def add_state(self, state: int): ...
|
||||
def add_event_cb(self, event_cb: any, filter: int, user_data: pointer): ...
|
||||
def add_style(self, style: style_t, selector: int): ...
|
||||
def get_x(self) -> int: ...
|
||||
def get_y(self) -> int: ...
|
||||
def set_pos(self, x: int, y: int): ...
|
||||
|
||||
class indev_t:
|
||||
def get_vect(self, point: point_t): ...
|
||||
|
||||
def obj(parent: lv_obj) -> lv_obj: ...
|
||||
def indev_get_act() -> indev_t: ...
|
||||
|
||||
class point_t:
|
||||
def __init__(self): ...
|
||||
|
||||
class arc(lv_obj):
|
||||
MODE_NORMAL: int
|
||||
MODE_SYMMETRICAL: int
|
||||
MODE_REVERSE: int
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_start_angle(self, start: int): ...
|
||||
def set_end_angle(self, angle: int): ...
|
||||
def set_angles(self, start: int, end: int): ...
|
||||
def set_bg_start_angle(self, start: int): ...
|
||||
def set_bg_end_angle(self, angle: int): ...
|
||||
def set_bg_angles(self, start: int, end: int): ...
|
||||
def set_rotation(self, rotation: int): ...
|
||||
def set_mode(self, mode: int): ...
|
||||
def set_value(self, value: int): ...
|
||||
def set_range(self, min: int, max: int): ...
|
||||
def set_change_rate(self, rate: int): ...
|
||||
def get_angle_start(self) -> int: ...
|
||||
def get_angle_end(self) -> int: ...
|
||||
def get_bg_angle_start(self) -> int: ...
|
||||
def get_bg_angle_end(self) -> int: ...
|
||||
def get_value(self) -> int: ...
|
||||
def get_min_value(self) -> int: ...
|
||||
def get_max_value(self) -> int: ...
|
||||
def get_mode(self) -> int: ...
|
||||
# def get_rotation(self) -> int: ...
|
||||
|
||||
class bar(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_value(self, value: int, anim: int): ...
|
||||
def set_start_value(self, start_value: int, anim: int): ...
|
||||
def set_range(self, min: int, max: int): ...
|
||||
def set_mode(self, mode: int): ...
|
||||
def get_value(self) -> int: ...
|
||||
def get_start_value(self) -> int: ...
|
||||
def get_min_value(self) -> int: ...
|
||||
def get_max_value(self) -> int: ...
|
||||
def get_mode(self) -> int: ...
|
||||
|
||||
class btn(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
|
||||
class checkbox(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_text(self, txt: str): ...
|
||||
def set_text_static(self, txt: str): ...
|
||||
def get_text(self) -> str: ...
|
||||
|
||||
class dropdown(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_text(self, txt: str): ...
|
||||
def set_options(self, options: str): ...
|
||||
def add_option(self, option: str, pos:int): ...
|
||||
def clear_options(self): ...
|
||||
def set_selected(self, sel_opt: int): ...
|
||||
def set_dir(self, dir: int): ...
|
||||
def set_symbol(self, symbol: str): ...
|
||||
def set_selected_hightlight(self, en: int): ...
|
||||
# def get_list(self) -> lv_obj: ...
|
||||
def get_text(self) -> str: ...
|
||||
def get_options(self) -> str: ...
|
||||
def get_selected(self) -> int: ...
|
||||
def get_option_cnt(self) -> int: ...
|
||||
def get_selected_str(self) -> str: ...
|
||||
def get_option_index(self, option: str) -> int: ...
|
||||
def get_symbol(self) -> int: ...
|
||||
def get_selected_highlight(self) -> int: ...
|
||||
def get_dir(self) -> int: ...
|
||||
def open(self): ...
|
||||
def close(self): ...
|
||||
def is_open(self) -> int: ...
|
||||
|
||||
class label(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_text(self, txt: str): ...
|
||||
def set_long_mode(self, mode: int): ...
|
||||
def set_recolor(self, en: int): ...
|
||||
def set_style_text_align(self, value: int, selector: int): ...
|
||||
|
||||
class roller(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_options(self, options: str, mode: int): ...
|
||||
def set_visible_row_count(self, row_cnt: int): ...
|
||||
|
||||
class slider(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
|
||||
class switch(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
|
||||
class table(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_cell_value(self, row: int, col: int, txt: str): ...
|
||||
|
||||
class textarea(lv_obj):
|
||||
def __init__(self, parent: lv_obj): ...
|
||||
def set_one_line(en: int): ...
|
||||
|
||||
def scr_act() -> lv_obj: ...
|
||||
def timer_create_basic() -> lv_timer_t: ...
|
||||
12
env_support/pikascript/pika_lvgl_indev_t.c
Normal file
12
env_support/pikascript/pika_lvgl_indev_t.c
Normal file
@@ -0,0 +1,12 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_indev_t.h"
|
||||
|
||||
void pika_lvgl_indev_t_get_vect(PikaObj* self, PikaObj* point) {
|
||||
lv_indev_t* lv_indev = obj_getPtr(self, "lv_indev");
|
||||
lv_point_t* lv_point = obj_getPtr(point, "lv_point");
|
||||
lv_indev_get_vect(lv_indev, lv_point);
|
||||
obj_setInt(point, "x", lv_point->x);
|
||||
obj_setInt(point, "y", lv_point->y);
|
||||
}
|
||||
#endif
|
||||
18
env_support/pikascript/pika_lvgl_lv_event.c
Normal file
18
env_support/pikascript/pika_lvgl_lv_event.c
Normal file
@@ -0,0 +1,18 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_lv_event.h"
|
||||
|
||||
int pika_lvgl_lv_event_get_code(PikaObj *self){
|
||||
lv_event_t *lv_event = obj_getPtr(self, "lv_event");
|
||||
return lv_event_get_code(lv_event);
|
||||
}
|
||||
|
||||
PikaObj *New_pika_lvgl_lv_obj(Args *args);
|
||||
PikaObj* pika_lvgl_lv_event_get_target(PikaObj *self){
|
||||
lv_event_t *lv_event = obj_getPtr(self, "lv_event");
|
||||
lv_obj_t* lv_obj = lv_event_get_target(lv_event);
|
||||
PikaObj* new_obj = newNormalObj(New_pika_lvgl_lv_obj);
|
||||
obj_setPtr(new_obj, "lv_obj", lv_obj);
|
||||
return new_obj;
|
||||
}
|
||||
#endif
|
||||
110
env_support/pikascript/pika_lvgl_lv_obj.c
Normal file
110
env_support/pikascript/pika_lvgl_lv_obj.c
Normal file
@@ -0,0 +1,110 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_lv_obj.h"
|
||||
#include "BaseObj.h"
|
||||
#include "dataStrs.h"
|
||||
#include "pika_lvgl.h"
|
||||
#include "pika_lvgl_arc.h"
|
||||
#include "pika_lvgl_lv_event.h"
|
||||
|
||||
extern PikaObj* pika_lv_event_listener_g;
|
||||
|
||||
void pika_lvgl_lv_obj_center(PikaObj* self) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_center(lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_set_size(PikaObj* self, int size_x, int size_y) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_set_size(lv_obj, size_x, size_y);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_align(PikaObj* self, int align, int x_ofs, int y_ofs) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_align(lv_obj, align, x_ofs, y_ofs);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_set_hight(PikaObj* self, int h) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_set_height(lv_obj, h);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_update_layout(PikaObj* self) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_update_layout(lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_set_width(PikaObj* self, int w) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_set_width(lv_obj, w);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_add_state(PikaObj* self, int state) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_add_state(lv_obj, state);
|
||||
}
|
||||
|
||||
PikaObj* eventLisener_getHandler(PikaObj* self, uintptr_t event_id) {
|
||||
Args buffs = {0};
|
||||
char* event_name =
|
||||
strsFormat(&buffs, PIKA_SPRINTF_BUFF_SIZE, "%d", event_id);
|
||||
PikaObj* event_item = obj_getObj(self, event_name);
|
||||
PikaObj* event_handler = obj_getPtr(event_item, "handler");
|
||||
strsDeinit(&buffs);
|
||||
return event_handler;
|
||||
}
|
||||
|
||||
static void __pika_event_cb(lv_event_t* e) {
|
||||
lv_obj_t* target = lv_event_get_target(e);
|
||||
PikaObj* event_handler =
|
||||
eventLisener_getHandler(pika_lv_event_listener_g, (uintptr_t)target);
|
||||
PikaObj* evt = obj_getObj(event_handler, "_event_evt");
|
||||
obj_setPtr(evt, "lv_event", e);
|
||||
obj_run(event_handler, "_event_cb(_event_evt)");
|
||||
}
|
||||
|
||||
void eventLicener_registEvent(PikaObj* self,
|
||||
uintptr_t event_id,
|
||||
PikaObj* event_handler) {
|
||||
Args buffs = {0};
|
||||
char* event_name =
|
||||
strsFormat(&buffs, PIKA_SPRINTF_BUFF_SIZE, "%d", event_id);
|
||||
obj_newDirectObj(self, event_name, New_TinyObj);
|
||||
PikaObj* event_item = obj_getObj(self, event_name);
|
||||
obj_setRef(event_item, "handler", event_handler);
|
||||
strsDeinit(&buffs);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_add_event_cb(PikaObj* self,
|
||||
Arg* event_cb,
|
||||
int filter,
|
||||
void* user_data) {
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_add_event_cb(lv_obj, __pika_event_cb, filter, NULL);
|
||||
obj_setArg(self, "_event_cb", event_cb);
|
||||
obj_setPtr(self, "_event_user_data", user_data);
|
||||
obj_newDirectObj(self, "_event_evt", New_pika_lvgl_lv_event);
|
||||
eventLicener_registEvent(pika_lv_event_listener_g, (uintptr_t)lv_obj, self);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_add_style(PikaObj *self, PikaObj* style, int selector){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_state_t* lv_style = obj_getPtr(style, "lv_style");
|
||||
lv_obj_add_style(lv_obj, lv_style, selector);
|
||||
}
|
||||
|
||||
int pika_lvgl_lv_obj_get_x(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_obj_get_x(lv_obj);
|
||||
}
|
||||
|
||||
int pika_lvgl_lv_obj_get_y(PikaObj *self){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
return lv_obj_get_y(lv_obj);
|
||||
}
|
||||
|
||||
void pika_lvgl_lv_obj_set_pos(PikaObj *self, int x, int y){
|
||||
lv_obj_t* lv_obj = obj_getPtr(self, "lv_obj");
|
||||
lv_obj_set_pos(lv_obj, x, y);
|
||||
}
|
||||
#endif
|
||||
64
env_support/pikascript/pika_lvgl_lv_style_t.c
Normal file
64
env_support/pikascript/pika_lvgl_lv_style_t.c
Normal file
@@ -0,0 +1,64 @@
|
||||
#include "lvgl.h"
|
||||
#ifdef PIKASCRIPT
|
||||
#include "pika_lvgl_style_t.h"
|
||||
|
||||
void pika_lvgl_style_t_init(PikaObj* self) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_init(lv_style);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_bg_color(PikaObj* self, PikaObj* color) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_color_t* lv_color = obj_getPtr(color, "lv_color");
|
||||
lv_style_set_bg_color(lv_style, *lv_color);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_bg_opa(PikaObj* self, int opa) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_bg_opa(lv_style, opa);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_outline_color(PikaObj* self, PikaObj* color) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_color_t* lv_color = obj_getPtr(color, "lv_color");
|
||||
lv_style_set_outline_color(lv_style, *lv_color);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_outline_pad(PikaObj* self, int pad) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_outline_pad(lv_style, pad);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_outline_width(PikaObj* self, int w) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_outline_width(lv_style, w);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_radius(PikaObj* self, int radius) {
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_radius(lv_style, radius);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t___init__(PikaObj* self) {
|
||||
lv_style_t lv_style_stack = {0};
|
||||
args_setStruct(self->list, "lv_style_struct", lv_style_stack);
|
||||
lv_style_t* lv_style = args_getStruct(self->list, "lv_style_struct");
|
||||
obj_setPtr(self, "lv_style", lv_style);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_shadow_color(PikaObj *self, PikaObj* color){
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_color_t* lv_color = obj_getPtr(color, "lv_color");
|
||||
lv_style_set_shadow_color(lv_style, *lv_color);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_shadow_spread(PikaObj *self, int s){
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_shadow_spread(lv_style, s);
|
||||
}
|
||||
|
||||
void pika_lvgl_style_t_set_shadow_width(PikaObj *self, int w){
|
||||
lv_style_t* lv_style = obj_getPtr(self, "lv_style");
|
||||
lv_style_set_shadow_width(lv_style, w);
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user