* Makefile, Scripts: new linter * About: remove ID from IC * Firmware: remove double define for DIVC/DIVR * Scripts: check folder names too. Docker: replace syntax check with make lint. * Reformat Sources and Migrate to new file naming convention * Docker: symlink clang-format-12 to clang-format * Add coding style guide
		
			
				
	
	
		
			21 lines
		
	
	
		
			492 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			492 B
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
#include <gui/gui.h>
 | 
						|
#include <gui/view.h>
 | 
						|
 | 
						|
class GenericElement {
 | 
						|
public:
 | 
						|
    GenericElement(){};
 | 
						|
    virtual ~GenericElement(){};
 | 
						|
    virtual void draw(Canvas* canvas) = 0;
 | 
						|
    virtual bool input(InputEvent* event) = 0;
 | 
						|
 | 
						|
    // TODO that must be accessible only to ContainerVMData
 | 
						|
    void set_parent_view(View* view);
 | 
						|
 | 
						|
    // TODO that must be accessible only to inheritors
 | 
						|
    void lock_model();
 | 
						|
    void unlock_model(bool need_redraw);
 | 
						|
 | 
						|
private:
 | 
						|
    View* view = nullptr;
 | 
						|
}; |