Erstveröffentlichung Weihnachten 2024
This commit is contained in:
90
pages/battery2.py
Normal file
90
pages/battery2.py
Normal file
@@ -0,0 +1,90 @@
|
||||
"""
|
||||
|
||||
Komplexe Batterieübersichtsseite
|
||||
|
||||
"""
|
||||
|
||||
import cairo
|
||||
from .page import Page
|
||||
|
||||
class Battery2(Page):
|
||||
|
||||
def draw_battery(self, ctx, x, y, w, h, level):
|
||||
'''
|
||||
Das Rechteck ist das komplett umschließende
|
||||
Level ist der prozentuale Füllstand
|
||||
'''
|
||||
pass
|
||||
|
||||
'''
|
||||
// Battery graphic with fill level
|
||||
void batteryGraphic(uint x, uint y, float percent, int pcolor, int bcolor){
|
||||
// Show battery
|
||||
int xb = x; // X position
|
||||
int yb = y; // Y position
|
||||
int t = 4; // Line thickness
|
||||
// Percent limits
|
||||
if(percent < 0){
|
||||
percent = 0;
|
||||
}
|
||||
if(percent > 99){
|
||||
percent = 99;
|
||||
}
|
||||
// Battery corpus 100x80 with fill level
|
||||
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);
|
||||
}
|
||||
// Plus pol 20x15
|
||||
int xp = xb + 20;
|
||||
int yp = yb - 15 + t;
|
||||
getdisplay().fillRect(xp, yp, 20, 15, pcolor);
|
||||
getdisplay().fillRect(xp+t, yp+t, 20-(2*t), 15-(2*t), bcolor);
|
||||
// Minus pol 20x15
|
||||
int xm = xb + 60;
|
||||
int ym = yb -15 + t;
|
||||
getdisplay().fillRect(xm, ym, 20, 15, pcolor);
|
||||
getdisplay().fillRect(xm+t, ym+t, 20-(2*t), 15-(2*t), bcolor);
|
||||
'''
|
||||
|
||||
|
||||
def draw(self, ctx):
|
||||
ctx.select_font_face("Ubuntu", cairo.FontSlant.NORMAL, cairo.FontWeight.BOLD)
|
||||
ctx.set_font_size(40)
|
||||
ctx.move_to(10, 65)
|
||||
ctx.show_text("Bat.")
|
||||
|
||||
# Batterietyp
|
||||
ctx.move_to(90, 65)
|
||||
ctx.show_text("AGM")
|
||||
|
||||
# Kapazität
|
||||
ctx.move_to(10, 200)
|
||||
ctx.select_font_face("DSEG7 Classic")
|
||||
ctx.set_font_size(40)
|
||||
ctx.show_text("12")
|
||||
|
||||
ctx.select_font_face("Ubuntu", cairo.FontSlant.NORMAL, cairo.FontWeight.BOLD)
|
||||
ctx.set_font_size(16)
|
||||
ctx.show_text("Ah")
|
||||
|
||||
ctx.move_to(10, 235)
|
||||
ctx.show_text("Installed")
|
||||
|
||||
ctx.move_to(10, 255)
|
||||
ctx.show_text("Battery Type")
|
||||
|
||||
# Batteriegraphik
|
||||
# Rechteck mit Füllstand 100x80, oben zwei Pole
|
||||
ctx.rectangle(150, 100, 100, 80)
|
||||
ctx.stroke()
|
||||
# Füllstand
|
||||
# Pole
|
||||
|
||||
|
||||
'''
|
||||
ctx.line_to(2.5, 1.5)
|
||||
|
||||
ctx.set_line_width(0.06)
|
||||
'''
|
||||
Reference in New Issue
Block a user