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
 |