Software > Coding

AES um komplettes Redraw bitten

<< < (2/3) > >>

mfro:

--- Zitat von: simonsunnyboy am Di 16.04.2013, 19:57:30 ---Und was ist mit Anwendungen, die nicht das AES benutzen, ergo TOS-Applikationen sind?

--- Ende Zitat ---

TOS-Applikationen sollten in Multitasking-Umgebungen in der Konsole laufen, sonst sind sie keine ;).

Alle Anwendungen können AES-Aufrufe durchführen, wenn sie sich richtig anmelden.

simonsunnyboy:
Meine TOS-Anwendungen schalten halt auf Singletasking mit Fullscreen in anderer Auflösung um. Bei der Rückkehr zum Desktop z.B. unter MinT tut alles, nur der Bildschirm bleibt weiß. Deswegen würd ich da gerne einen Redraw triggern. Eigenen Bildschirmspeicher zu benutzen macht irgendwie keinen Unterschied oder ich hab das konkrete Problem noch nicht erkannt :(

Arthur:

--- Zitat von: mfro am Di 16.04.2013, 18:07:18 ---
--- Zitat von: simonsunnyboy am Di 16.04.2013, 17:33:21 ---gibt es eine saubere Möglichkeit, dem AES mitzuteilen, daß bitte sämtliche Teile des Bildschirms neugezeichnet werden sollen, d.h. Menuleiste + Desktop + alle Fenster samt Inhalte, inklusive aller laufenden Programme bei Multitasking?

--- Ende Zitat ---
Das Problem ist die Menüleiste. Dort einen Redraw zu erzwingen ist meiner Erinnerung nach nicht direkt möglich. Für den Rest ist ein

form_dial(FMD_FINISH, ...)



mit den Außenmaßen des Bildschirms ausreichend (und wahrscheinlich das einfachste), um einen kompletten Redraw zu veranlassen (man tut so, als ob man gerade eine Dialogbox mit den Maßen des Desktops geschlossen hätte).

Was die Menüleiste angeht: wenn die Anwendung eine eigene Menüleiste hat, kann sie die als Workaround kurz ab- und wieder anmelden,

menu_bar(menu, 0);
menu_bar(menu, 1);


dann wird die auch neugezeichnet.

Gruß,
Markus

--- Ende Zitat ---

Klasse erklärt. Danke

mfro:

--- Zitat von: simonsunnyboy am Di 16.04.2013, 20:10:21 ---Meine TOS-Anwendungen schalten halt auf Singletasking mit Fullscreen in anderer Auflösung um. Bei der Rückkehr zum Desktop z.B. unter MinT tut alles, nur der Bildschirm bleibt weiß. Deswegen würd ich da gerne einen Redraw triggern. Eigenen Bildschirmspeicher zu benutzen macht irgendwie keinen Unterschied oder ich hab das konkrete Problem noch nicht erkannt :(

--- Ende Zitat ---

Du brauchst keine TOS-Anwendungen zu schreiben.

Die Endung .TOS (und .TTP) wurde eigentlich nur für den Singletasking-Desktop erfunden, damit der weiß, daß er die Maus ausschalten, den Bildschirm löschen, Accessories schlafen legen und den Cursor einschalten muß (und am Programmende andersrum).

Im Multitasking-Desktop solltest Du IMHO all das lieber selbst tun (und mußt dich dazu - mit dem sicherlich bekannten Prozedere - beim GEM anmelden). Dann kannst Du auch gleich meinen Hinweis von oben einbauen.

simonsunnyboy:
Kann ich mich temporär mit ein paar Zeilen und if aussenrum anmelden und abmelden oder nur fürs ganze? Bei letzterem steige ich aus, es geht halt prinzipiell um hardwarenahe Programme.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln