Graphics stack (GUI) improvements
The HelenOS native GUI environment should be further improved and extended.
- Details
-
HelenOS features a compositing GUI described in Petr Koupy's master thesis (see below). The GUI is fairly basic and offers vast room for improvements. The goal of this project is to implement a reasonable subset of the following.
- support for direct rendering in graphic driver infrastructure
- more drawing operations in drawing library (lines, curves, polygons, circles, etc.)
- retained scene description in drawing library
- hardware acceleration of drawing library
- better quality of drawing library output (advanced filtering, antialiasing)
- better precision of drawing library output (floating point coordinates and pixels)
- support for more image and font formats in drawing library
- more widgets in widget toolkit (menu bars, scrolls bars, edit boxes, list boxes, etc.)
- support to minimize and maximize windows
- desktop environment (task bar, icons)
- improvements of terminal emulator (resizing, scrolling, history)
- console applications awareness of resizing and termination of their terminal emulator
- What Gains and Benefits will this bring?
-
HelenOS will become more usable and more user-friendly and visually appealing.
- Difficulty
-
medium
- Required skills
-
A successful applicant will have good skills of programming in the C language and the ability to survive in a non-standard non-POSIX environment. Previous experience with a graphics stack implementation would be beneficial.
- Documentation
-
- Possible mentors
-
HelenOS Core Team, Martin Decky
Change History
(9)
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Summary: |
Graphical stack (GUI) improvements → Graphics stack (GUI) improvements
|
Description: |
modified (diff)
|
Description: |
modified (diff)
|
Owner: |
set to Jiri Svoboda
|
Status: |
new → accepted
|
Resolution: |
→ wontfix
|
Status: |
accepted → closed
|
This ticket calls for incremental improvements, but the GUI needs more fundamental changes. Here are my high-level goals: