Anpassung an Vollbild 800x480 auf OBP60P physischem Display
This commit is contained in:
@@ -21,7 +21,7 @@ import astral
|
||||
class Clock(Page):
|
||||
|
||||
def __init__(self, pageno, cfg, appdata, boatdata):
|
||||
super().__init__(pageno, cfg, boatdata)
|
||||
super().__init__(pageno, cfg, appdata, boatdata)
|
||||
self.buttonlabel[1] = 'MODE'
|
||||
self.buttonlabel[2] = 'TZ'
|
||||
self.mode = ('A', 'D', 'T') # (A)nalog (D)igital (T)imer
|
||||
|
||||
@@ -162,11 +162,40 @@ class Page():
|
||||
ctx.show_text(datetime.today().strftime('%H:%M %Y-%m-%d LOT'))
|
||||
ctx.stroke()
|
||||
|
||||
def draw_sidebuttons(self, ctx):
|
||||
"""
|
||||
Seitliche Buttons zeichnen im Fullscreen-Modus
|
||||
"""
|
||||
ctx.save()
|
||||
ctx.select_font_face("AtariST8x16SystemFont")
|
||||
ctx.set_font_size(16)
|
||||
ctx.scale(1.6, 1.6)
|
||||
ctx.set_source_rgb(0, 0, 0)
|
||||
|
||||
bx = 400
|
||||
by = (128, 192, 256, 320, 384, 448)
|
||||
bw = 160
|
||||
bh = 64
|
||||
for i in range(6):
|
||||
if len(self.buttonlabel[i+1]) > 0 :
|
||||
if self.buttonlabel[i+1][0] == "#":
|
||||
# Symbol verwenden 16x16 Pixel
|
||||
ctx.save()
|
||||
key = self.buttonlabel[i+1][1:]
|
||||
ctx.set_source_surface(self.icon[key], bx + bw / 3.2 - 8, by[i] / 1.6 - 6)
|
||||
ctx.paint()
|
||||
ctx.restore()
|
||||
else:
|
||||
w = ctx.text_extents(self.buttonlabel[i+1]).width
|
||||
ctx.move_to(bx + bw/3.2 - w/2, by[i] / 1.6 + 8)
|
||||
ctx.show_text(self.buttonlabel[i+1])
|
||||
ctx.stroke()
|
||||
ctx.restore()
|
||||
|
||||
def draw_footer(self, ctx):
|
||||
"""
|
||||
Nur Belegung der Buttons (label[1] bis label[6])
|
||||
"""
|
||||
|
||||
ctx.select_font_face("AtariST8x16SystemFont")
|
||||
ctx.set_font_size(16)
|
||||
x = (35, 101, 167, 233, 299, 365)
|
||||
@@ -184,11 +213,6 @@ class Page():
|
||||
ctx.line_to(x[i]+32.5, 300)
|
||||
ctx.stroke()
|
||||
|
||||
# Fullscreen-Buttons
|
||||
bx = 400
|
||||
by = (128, 192, 256, 320, 384, 448)
|
||||
bw = 160
|
||||
bh = 64
|
||||
for i in range(6):
|
||||
if len(self.buttonlabel[i+1]) > 0 :
|
||||
if self.buttonlabel[i+1][0] == "#":
|
||||
@@ -197,18 +221,12 @@ class Page():
|
||||
key = self.buttonlabel[i+1][1:]
|
||||
ctx.set_source_surface(self.icon[key], x[i]-8, y-13)
|
||||
ctx.paint()
|
||||
ctx.set_source_surface(self.icon[key], bx + bw / 3.2 - 8, by[i] / 1.6 - 6)
|
||||
ctx.paint()
|
||||
ctx.restore()
|
||||
else:
|
||||
text = self.buttonlabel[i+1]
|
||||
w = ctx.text_extents(text).width
|
||||
ctx.move_to(x[i] - w/2, y+2)
|
||||
ctx.show_text(text)
|
||||
if self.fullscreen:
|
||||
w = ctx.text_extents(self.buttonlabel[i+1]).width
|
||||
ctx.move_to(bx + bw/3.2 - w/2, by[i] / 1.6 + 8)
|
||||
ctx.show_text(self.buttonlabel[i+1])
|
||||
ctx.stroke()
|
||||
|
||||
def draw_alarm(self, ctx, source, alarmid, message):
|
||||
|
||||
Reference in New Issue
Block a user