41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
import cairo
 | 
						|
from .page import Page
 | 
						|
 | 
						|
class Solar(Page):
 | 
						|
 | 
						|
 | 
						|
    def draw_solar(self, ctx, x, y, w, h):
 | 
						|
        pass
 | 
						|
        """
 | 
						|
        // Solar graphic with fill level
 | 
						|
        void solarGraphic(uint x, uint y, int pcolor, int bcolor){
 | 
						|
            // Show solar modul
 | 
						|
                int xb = x;     // X position
 | 
						|
                int yb = y;     // Y position
 | 
						|
                int t = 4;      // Line thickness
 | 
						|
                int percent = 0;
 | 
						|
                // Solar corpus 100x80
 | 
						|
                int level = int((100.0 - percent) * (80-(2*t)) / 100.0);
 | 
						|
                getdisplay().fillRect(xb, yb, 100, 80, pcolor);
 | 
						|
                if(percent < 99){
 | 
						|
                    getdisplay().fillRect(xb+t, yb+t, 100-(2*t), level, bcolor);
 | 
						|
                }
 | 
						|
                // Draw horizontel lines
 | 
						|
                getdisplay().fillRect(xb, yb+28-t, 100, t, pcolor);
 | 
						|
                getdisplay().fillRect(xb, yb+54-t, 100, t, pcolor);
 | 
						|
                // Draw vertical lines
 | 
						|
                getdisplay().fillRect(xb+19+t, yb, t, 80, pcolor);
 | 
						|
                getdisplay().fillRect(xb+39+2*t, yb, t, 80, pcolor);
 | 
						|
                getdisplay().fillRect(xb+59+3*t, yb, t, 80, pcolor);
 | 
						|
 | 
						|
        }
 | 
						|
        """
 | 
						|
 | 
						|
    def draw(self, ctx):
 | 
						|
        # Name
 | 
						|
        ctx.select_font_face("Ubuntu", cairo.FontSlant.NORMAL, cairo.FontWeight.BOLD)
 | 
						|
        ctx.set_font_size(60) 
 | 
						|
        ctx.move_to(20, 100)
 | 
						|
        ctx.show_text("Solar")
 | 
						|
 |