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: