同步操作将从 idea4good/GuiLite 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
GuiLite do 2 things only: widgets management and rendering.
Widgets management include:
Rendering include:
👉Note: Rendering do not depend on Widgets management, In some case, you would render line/text/bitmap directly without any widgets in your GUI system. For example: Limted resource MCU platform.
In order to make GuiLite simple and clear, GuiLite only provide basic widgets(e.g, button, label, keyboard, spinx etc) implementation. If you want do more things on widgets, you can do it like this:
If you would extend drawing method(e.g, draw circle/eclipse etc.), you can add your method in surface.cpp directly.
How to render? See function draw_xxx() in surface.cpp word.cpp bitmap.cpp.
core folder:
widgets folder:
Widgets include button, spinbox, label, keyboard, dialog, view; GuiLite will link all widgets by function: connect, then GuiLite will easy to find/add/remove any widget quickly. All the connections looks like a tree.
For example: When you click a button, device get your finger location(x, y) will be send the root of the tree, GuiLite would find the button you click by comparing location information, then call the response function(e.g, repaint the button/change button status)
All widgets derived from class c_wnd. The widget will be created when the class has been instanced, at this time, the widget still alone, has nothing to do with UI system, could not response any user operation.
By using "connect()" function, we can link this widget into widgets tree, then the widgets could response user touch/keyboard action.
By using "disconnect()" function to unlink this widget from UI system. then the widget still live in memory, but could not response user touch/keyboard action any more.
Rendering include rendering method and graphic management.
core Importance/File name | Introduction | Time cost |
---|---|---|
★★★ wnd.h | Basic class for widgets; connect/disconnect widgets; response user on_touch, on_key action | 1.5 hour |
★★ display.h | Initialize display device, create surface, | 0.5 hour |
word.h | Draw text | < 1 hour |
image.h | Draw bitmap | < 0.5 hour |
rect.h | Rect for basic use(e.g, widgets location) | < 0.5 hour |
api_linux.cpp | Adapter for Linux | < 0.5 hour |
api_win.cpp | Adapter for Windows | < 0.5 hour |
api_unknow.cpp | Adapter for other OS or none OS | < 0.5 hour |
widgets Difficulty/File name | Introduction | Time cost |
---|---|---|
label.h | Draw label | < 0.5 hour |
button.h | Draw/Click button | < 0.5 hour |
table.h | Draw table | < 0.5 hour |
dialog.h | Draw/Open/Close dialog | < 0.5 hour |
★ keyboard.h | Draw/Click keyboard | 0.5 hour |
★★ list_box.h | Draw/Click list box | 1.5 hour |
★★ spinbox.h | Draw/Click spin box | 1.5 hour |
★★ edit.h | Draw/Click edit widget | 1.5 hour |
★ slide_group.cpp | Draw multiple screens & Swip screen | 1.5 hour |
★★★ wave_buffer.h | Manage wave buffer data | 1.5 hour |
★★★ wave_ctrl.h | Draw wave widget with wave buffer data | 1.5 hour |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。