Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/silversquirl/vtk
A GUI "toolkit" by vktec
https://github.com/silversquirl/vtk
c cairo gui gui-toolkit xlib
Last synced: 22 days ago
JSON representation
A GUI "toolkit" by vktec
- Host: GitHub
- URL: https://github.com/silversquirl/vtk
- Owner: silversquirl
- License: mit
- Created: 2018-04-19T19:45:50.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-12T17:43:26.000Z (over 3 years ago)
- Last Synced: 2023-03-06T11:27:36.957Z (over 1 year ago)
- Topics: c, cairo, gui, gui-toolkit, xlib
- Language: C
- Size: 37.1 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# vtk
A GUI "toolkit" by vktec
## What?
vtk is my take on a GUI toolkit. It's incredibly minimal and adds very
little on top of the libraries it wraps, preferring to simply leave the
implementation details up to the user. It has no widgets of any kind,
and instead allows you to draw whatever you want using Cairo, including
high-quality text through PangoCairo.In summary, vtk is a system for handling events and creating a Cairo
context that will draw to the screen.Currently, vtk only has an Xlib backend, but it could in theory be
ported to other systems by using Cairo's Quartz and Win32 backends,
or even to the Linux framebuffer by using Cairo's image surfaces.## Why?
There are plenty of pre-existing GUI toolkits, why create another?
My opinion on GUI toolkits is that they overcomplicate things. Most of
them are huge, monolithic libraries that try to do everything at once:
event handling, graphics, widgets, text, internationalization, command
line argument parsing, IO, networking, etc.vtk takes the opposite approach, aiming to do as *little* as possible
while still being useful. In other words, it aims to be a [minimal
viable program][mvp].[mvp]: https://joearms.github.io/published/2014-06-25-minimal-viable-program.html