﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	field_blocks	field_dependson	field_seealso
652	Graphics stack (GUI) improvements	Jakub Jermář		"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::
  * [http://www.helenos.org/doc/theses/pk-thesis.pdf Graphics Stack for HelenOS]
  * [wiki:UsersGuide/GUI GUI's Users Guide]

 Possible mentors::
  HelenOS Core Team, Martin Decky"	enhancement	new	major		helenos/gui	mainline		gsoc16, gsoc17				
