so I am trying to create Qt's qml, but from scratch. for learning purposes but also I think it would be cool if it was an option to use qml without Qt
This is the qml, that produces this output:
Item { Rectangle { x: red.x - 5 y: red.y - 5 width: 150 height: 100 color: "#333" } Rectangle { id: red x: 55 y: 55 width: 150 height: 100 color: "#a22" MouseArea { id: red_mouse_area x: red.x y: red.y width: red.width height: red.height } } Text { text: "Hello World!" x: red.x y: red.y - height - 5 height: 15 } }
the c code only sets the red rectangle's location, the others follow automatically because the qml tells them to do so 😄
void an_event_happened(void* user_data, struct event_t e) { struct app_state_t* app_state = (struct app_state_t*)user_data; size_t red = engine_get_object_by_id(lol_engine(app_state->lol), "red"); int64_t red_w = engine_object_width(lol_engine(app_state->lol), red); int64_t red_h = engine_object_height(lol_engine(app_state->lol), red); engine_object_set_x(lol_engine(app_state->lol), red, e.mouse_x - red_w/2); engine_object_set_y(lol_engine(app_state->lol), red, e.mouse_y - red_h/2); }