Split out draw_isobar()

This commit is contained in:
XANTRONIX 2025-03-13 14:11:34 -04:00
parent eda84fa990
commit aa12ac2381

View file

@ -49,21 +49,27 @@ class SkewTGraph():
return factor * self.height
def draw_isobar(self, cr: cairo.Context,
x: float,
y: float,
pressure: float):
sx, sy = self.graph_to_screen(-self.width / 2,
self.pressure_to_y(pressure))
cr.move_to(x + sx, y + sy)
cr.rel_line_to(self.width, 0)
cr.stroke()
def draw_isobars(self, cr: cairo.Context, x: float, y: float):
cr.save()
cr.set_source_rgb(0.75, 0.75, 0.75)
for pressure in range(PRESSURE_MIN, PRESSURE_MAX+1, PRESSURE_STEP):
coords = self.graph_to_screen(-self.width / 2,
self.pressure_to_y(pressure))
if pressure % (2*PRESSURE_STEP) != 0:
continue
cr.move_to(x + coords[0], y + coords[1])
cr.rel_line_to(self.width, 0)
cr.stroke()
self.draw_isobar(cr, x, y, pressure)
cr.restore()