GithubHelp home page GithubHelp logo

jkmnt / pg Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 0.0 112 KB

GUI library for the small embedded devices

License: MIT License

C 78.26% Objective-C 12.86% Makefile 1.12% Python 7.77%

pg's Introduction

pg

GUI library for the small embedded devices

This repository is a dump of old, but still useful library. Do not expect to find shiny commented code, documentation and examples.

Library was designed for a simple windowed GUIs, the ones used in coffemachines, instruments, old cellphones. Rendering is deferred - client creates and destroys objects, changes properties of existing objects. Later client explicitly calls render(), library diffs changes and posts bitmap to the framebuffer. It is the client duty to transfer framebuffer to the actual hardware.

Input (buttons/touch/etc) is a duty of client. Library duty is output (think View in the MVC model).

Features:

  • C99 without external dependencies
  • amiga-like vararg interface to the objects settings
  • overlapping rectangular windows with z-order rendering
  • proportional fonts (generated from ttf by the python script)
  • bitmaps (generated from images by the python script)
  • animated bitmaps (generated from gifs by the python script)
  • unicode support
  • a number of basic widgets - icon, textlabel, listbox, texteditor, progress bar, etc.

pg's People

Contributors

jkmnt avatar

Stargazers

 avatar  avatar  avatar  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.