Thanks for the reply.
One source of frustration came from the use of macro generated code, and (not) knowing which functions are available to use for a specific object. While it seems there’s a lot of time and effort put into the documentation page, each object is missing a detailed list of API calls. And macro generated code amplifies this since it is impossible to find the exact functions that are available for a given object.
For instance: changing the font of a label. The example given here: https://docs.lvgl.io/latest/en/html/overview/font.html?highlight=font
Makes it look like you have to create a style to be able to change the font on a label. Changing the font on a label should be a pretty easy thing to do, creating a style, modifying it and applying it to the label is a bit more involved.
The documentation doesn’t seem to show (or I couldn’t find it) that they are macro generated functions used to do this very quickly.
The file lv_obj_style_dec.h declares a bunch of functions that allow direct manipulation of the current style of the object style, which shortcuts having to read the style from the object, modify and apply it back to the object.
However if I were to look for lv_obj_set_text_font in the header files as means to find if this function exists and how to use it, I wouldn’t be able to find it because it is macro generated using _LV_OBJ_STYLE_SET_GET_DECLARE. This makes it difficult to know what function exist and how to use it. I’d rather be able to find the prototype clearly specified in a h file.
Does this make sense?