41 lines
		
	
	
		
			910 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			910 B
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include "gui_i.h"
 | 
						|
#include "view_port.h"
 | 
						|
 | 
						|
struct ViewPort {
 | 
						|
    Gui* gui;
 | 
						|
    bool is_enabled;
 | 
						|
    ViewPortOrientation orientation;
 | 
						|
 | 
						|
    uint8_t width;
 | 
						|
    uint8_t height;
 | 
						|
 | 
						|
    ViewPortDrawCallback draw_callback;
 | 
						|
    void* draw_callback_context;
 | 
						|
 | 
						|
    ViewPortInputCallback input_callback;
 | 
						|
    void* input_callback_context;
 | 
						|
};
 | 
						|
 | 
						|
/*
 | 
						|
 * Set GUI reference.
 | 
						|
 * To be used by GUI, called upon view_port tree insert
 | 
						|
 * @param gui - gui instance pointer.
 | 
						|
 */
 | 
						|
void view_port_gui_set(ViewPort* view_port, Gui* gui);
 | 
						|
 | 
						|
/*
 | 
						|
 * Process draw call. Calls draw callback.
 | 
						|
 * To be used by GUI, called on tree redraw.
 | 
						|
 * @param canvas - canvas to draw at.
 | 
						|
 */
 | 
						|
void view_port_draw(ViewPort* view_port, Canvas* canvas);
 | 
						|
 | 
						|
/*
 | 
						|
 * Process input. Calls input callbac
 | 
						|
 * To be used by GUI, called on input dispatch.
 | 
						|
 * @param event - pointer to input event.
 | 
						|
 */
 | 
						|
void view_port_input(ViewPort* view_port, InputEvent* event);
 |