Code Monkey home page Code Monkey logo

guilite's Introduction

GuiLite - made by 6000 lines code

Demo

中文

GuiLite is written by 6000 lines C/C++ code, just like MFC/QT, it provide UI framework for developer.

GuiLite is a embeded UI framework, it can work with QT/MFC/UWP APP, this mean you can not only develop your UI with Guilite, and also get QT/MFC/UWP/Android UI feature as well.

We hope you can develop some stable feature with GuiLite, then you can run your APP on Linux/Android/Windows/VR/MR/MCU at same time.

Get some examples, you can visit:

GuiLiteSamples repository

GuiLiteSamples video

Code intro

gui folder:

  1. Here are code for controllers(eg. button, lable, keyboard) and containers(eg. view, dialog, flip pages); You can redraw your own widget by modify this code.
  2. Here are code for message transition(eg. finger press/release), it will pass finger press/release message to widget which been touched, and call callback function if defined.

core folder:

  1. Here are code for render: surface.cpp, bitmap.cpp, word.cpp
  2. Here are code for OS encapsulation: api_linux.cpp api_win.cpp

How GuiLite work?

GuiLite do 2 things: one is widgets management, the other is render.

How to manage widgets?

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. We need use "connect()" function to link this widget into UI system. use "disconnect()" function to unlink this widget from UI system.

How to render?

See function draw_xxx() in surface.cpp word.cpp bitmap.cpp.

Graphic layer

Graphic layer

display layer: This layer for physical display device, one UI has only one display layer.

surface layer: One display layer have many surface layers, one surface layer represent one flip page.

frame layer: One surface layer has many frame layers, one frame layer represent one layer in Z direction.

guilite's People

Contributors

idea4good avatar yedyexyz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.