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")
 | |
| 
 |