42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|  | /*
 | ||
|  | Copyright (C) 2016-2019 The University of Notre Dame | ||
|  | This software is distributed under the GNU General Public License. | ||
|  | See the file LICENSE for details. | ||
|  | */ | ||
|  | 
 | ||
|  | #ifndef GRAPHICS_H
 | ||
|  | #define GRAPHICS_H
 | ||
|  | 
 | ||
|  | #include "kernel/types.h"
 | ||
|  | #include "kernel/gfxstream.h"
 | ||
|  | 
 | ||
|  | struct graphics_color { | ||
|  | 	uint8_t r; | ||
|  | 	uint8_t g; | ||
|  | 	uint8_t b; | ||
|  | 	uint8_t a; | ||
|  | }; | ||
|  | 
 | ||
|  | extern struct graphics graphics_root; | ||
|  | 
 | ||
|  | struct graphics *graphics_create_root(); | ||
|  | struct graphics *graphics_create(struct graphics *parent ); | ||
|  | struct graphics *graphics_addref(struct graphics *g ); | ||
|  | void graphics_delete(struct graphics *g); | ||
|  | 
 | ||
|  | uint32_t graphics_width(struct graphics *g); | ||
|  | uint32_t graphics_height(struct graphics *g); | ||
|  | void graphics_fgcolor(struct graphics *g, struct graphics_color c); | ||
|  | void graphics_bgcolor(struct graphics *g, struct graphics_color c); | ||
|  | int  graphics_clip(struct graphics *g, int x, int y, int w, int h); | ||
|  | 
 | ||
|  | void graphics_scrollup(struct graphics *g, int x, int y, int w, int h, int dy); | ||
|  | void graphics_rect(struct graphics *g, int x, int y, int w, int h); | ||
|  | void graphics_clear(struct graphics *g, int x, int y, int w, int h); | ||
|  | void graphics_line(struct graphics *g, int x, int y, int w, int h); | ||
|  | void graphics_char(struct graphics *g, int x, int y, unsigned char c); | ||
|  | void graphics_string(struct graphics *g, int x, int y, const char *str, int length ); | ||
|  | int graphics_write(struct graphics *g, int *cmd, int length ); | ||
|  | 
 | ||
|  | #endif
 |