Textausrichtung im Grafikmodus G0

Du hast ein Betriebssystem für den Hive geschrieben oder beschäftigst dich mit den grundlegenden Systemfunktionen, dann bist du hier richtig!
Antworten
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Textausrichtung im Grafikmodus G0

Beitrag von U-Held »

Hallo,

in g0key (und reg-ios) steht zur Textausrichtung im Kommentar der Funktion g0_textmode:

Code: Alles auswählen

''   justification  - bits[1..0]: 0..3 = left, center, right, left
''                    bits[3..2]: 0..3 = bottom, center, top, bottom
Dass die Bitgruppen vertauscht sind, lässt sich noch verschmerzen. Die Bits 1 und 0 legen die vertikale Ausrichtung fest, und Bits 3 und 2 die horizontale. Aber leider wird bei horizontaler Zentrierung der Text überhaupt nicht angezeigt. Das beiliegende Programm zeigt den blöden Effekt.

Ist das Verhalten schon bekannt (und gewollt?!?)? Oder verwende ich eine alte Version des G0-Treibers?

Grüße vom U-Held
Dateianhänge
justi.spin
(4.7 KiB) 541-mal heruntergeladen
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Textausrichtung im Grafikmodus G0

Beitrag von drohne235 »

Hmm, hab diese Funktionalität noch nicht verwendet. An der Parameterübergabe zum Graphics-Code scheint es aber nicht zu liegen, vermute mal es liegt direkt am Graphics-Object.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Re: Textausrichtung im Grafikmodus G0

Beitrag von U-Held »

Hab's gefunden: in g0key.spin fehlte auf Zeile 895 ein g vor dem ersten x. Die Funktion justify hat dadurch beim Zentrieren nicht die Hälfte der Textbreite genommen, sondern die Hälfte einer Variablen aus dem Tastaturtreiber, und somit den Text irgendwo in den Wald gestellt.

Ich checke g0key.spin bei Gelegenheit ein, zusammen mit dem anderen Zeugs, das ich schon vor einiger Zeit hochladen wollte.

Grüße vom U-Held
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Re: Textausrichtung im Grafikmodus G0

Beitrag von U-Held »

g0key.spin liegt jetzt im Repository, in Rev. 52.

Grüße
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Textausrichtung im Grafikmodus G0

Beitrag von drohne235 »

Jo, da ist ein Fehler. :)

Ich war zwar nicht glücklich das Graphics- und das Keyboard-Objekt in das Hauptobjekt zu übernehmen, aber nur so konnte ich massig Platz sparen, indem der Speicherplatz für die PASM-Routinen später für den Heap verwendet werden kann. Ist ein wenig tricky und unübersichtlich... :(

Rev. 52: Muss jetzt echt mal schauen wie ich da meine Änderungen noch einmassiere... ;)

Edit: Hab mal einen Sammelfred für die TriOS-Revisionen aufgemacht.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
U-Held
Beiträge: 69
Registriert: Mi 14. Dez 2011, 22:05

Re: Textausrichtung im Grafikmodus G0

Beitrag von U-Held »

drohne235 hat geschrieben:Jo, da ist ein Fehler. :)
Mach Dir nichts draus. Nur wer nicht macht, macht nichts falsch.
drohne235 hat geschrieben:Rev. 52: Muss jetzt echt mal schauen wie ich da meine Änderungen noch einmassiere... ;)
Na, warst ja echt schnell. Und der Sammel-Thread ist eine gute Sache.

Übrigens bastle ich ein wenig und musste bel.lib und g0.lib erweitern. Ich gebe mir Mühe, dass ich Deine Korrekturen beim Einchecken (wer weiß, wann) nicht zunichte mache.

Grüße
Benutzeravatar
drohne235
Administrator
Beiträge: 2284
Registriert: So 24. Mai 2009, 10:35
Wohnort: Lutherstadt Wittenberg
Kontaktdaten:

Re: Textausrichtung im Grafikmodus G0

Beitrag von drohne235 »

Na, warst ja echt schnell. Und der Sammel-Thread ist eine gute Sache.
Hab es aber noch nicht getestet, da ich grad keinen Hive neben dem Rechner hab. Grundlegend flashe ich für einen Test den Hive immer komplett und bespiele eine SD-Card mit den erstellten BIN's neu. Dann ein paar Programme anstarten und man sieht schon wo es eventuell klemmt.
Übrigens bastle ich ein wenig und musste bel.lib und g0.lib erweitern. Ich gebe mir Mühe, dass ich Deine Korrekturen beim Einchecken (wer weiß, wann) nicht zunichte mache.
Komme momentan eh grad nicht dazu, also dürfte es keine Konflikte geben. Aber mit der Codeverwaltung ist das schon cool: Ich war ja noch auf dem Stand von R50 und hatte massig Konflikte durch R51 & R52, welche ich aber komfortabel mit den Tools auflösen konnte. So eine Codeverwaltung ist für mich ja auch eine neue Sache!

Je mehr Forthcode und Lib's es werden, um so wichtiger erscheint mir sowas wie ein require-Wort.
"Ob Sie denken, dass Sie es können, oder ob Sie denken, dass Sie es nicht können - in beiden Fällen haben Sie recht." Henry Ford
Antworten