"""

XY-Graphik der Abgastemperatur

"""

import cairo
import math
from .page import Page

class Exhaust(Page):

    def draw(self, ctx):
        # Title
        ctx.select_font_face("Ubuntu", cairo.FontSlant.NORMAL, cairo.FontWeight.BOLD)
        ctx.set_font_size(24)
        ctx.move_to(10, 45)
        ctx.show_text("Exhaust Temperature")

        # Graph anzeigen X/Y

        x0 = 55
        y0 = 255
        w = 300
        h = 200

        # X-Achse
        ctx.move_to(x0 - 20, y0)
        ctx.line_to(x0 + w, y0)
        # Y-Achse
        ctx.move_to(x0, y0 + 20)
        ctx.line_to(x0, y0 - h)
        ctx.stroke()
        # Pfeispitze X
        ctx.move_to(x0-4, y0 - h + 12)
        ctx.line_to(x0, y0 - h)
        ctx.line_to(x0 + 4, y0 - h + 12)
        ctx.fill()
        # Pfeilspitze Y
        ctx.move_to(x0 + w -12, y0 - 4)
        ctx.line_to(x0 + w, y0)
        ctx.line_to(x0 + w - 12, y0 + 4)
        ctx.fill()

        # Achsenbeschriftung
        ctx.set_font_size(16)
        ctx.move_to(x0 - 30, y0 - h + 20)
        ctx.show_text("°C")
        ctx.move_to(x0 + w - 10, y0 + 15)
        ctx.show_text("min")

        # Hier wird eine Reihe von Meßwerten erwartet
        # Aufgrund min und max kann die Y-Achse skaliert werden
        # Die X-Achse ist die Zeit
        self.draw_text_center(ctx, x0 - 30, y0 - h / 2, "Temperature", True, False)

        # Einzeichnen von zwei Warnschwellen als horizontale 
        # Linie (gestrichelt)
