"""

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