refresh / wrefresh
-
hat einer von euch ne ahnung wie diese funktionen funktionieren bzw. wie diese
aufgebaut sind ?
-
Hi,
gehoert eigentlich ins Linux/Unix-Forum.
Also laut meiner Manpage ist es sehr simple, diese Funktionen einzusetzen:
Definition:
int refresh(void);
int wrefresh(WINDOW *win);Gleich darunter:
The refresh and wrefresh routines (or wnoutrefresh and
doupdate) must be called to get actual output to the ter-
minal, as other routines merely manipulate data struc-
tures. The routine wrefresh copies the named window to
the physical terminal screen, taking into account what is
already there in order to do optimizations. The refresh
routine is the same, using stdscr as the default window.
Unless leaveok has been enabled, the physical cursor of
the terminal is left at the location of the cursor for
that window.Rufst du die 'refresh'-Funktion auf, so werden alle noch nicht gemachten
Aenderungen durchgefuehrt und deine Anzeige aktuallisiert.'wrefresh' tut das gleiche, aktuallisiert dir allerdings dein uebergebenes
WINDOW-Objekt.mfg
v R
-
Ok, fehler in der Kommunikations - Kette. Wie ich die funktionen anwende weiß ich, aber wie sie intern aufgebaut sind würd mich interresieren, weil ich schreib mir grad ein programm ohne ncurses, und da möcht ich die funktion gerne
nachimplementieren.
-
Ncurses schrieb:
Ok, fehler in der Kommunikations - Kette. Wie ich die funktionen anwende weiß ich, aber wie sie intern aufgebaut sind würd mich interresieren, weil ich schreib mir grad ein programm ohne ncurses, und da möcht ich die funktion gerne
nachimplementieren.Also dann solltest du dir den Quellcode vielleicht einfach anschauen
apt-get source libncurses5-dev
Gruß Tobias Bell
-
Jo, hab ich auch schon gemacht, aber werd da net wirklich schlau draus, d.h. schon, aber find keine möglichkeit das mit den normalen terminal funktionen nachzubauen, mir fehlt irgendwie der ansatz. Könnt die funktion aber gut gebrauchen, da i immer mit der vt100 sequence pritnf("\x1b[2J") (löscht den bildschrim) arbeite "filmmert" das immer zeimlich heftig. vielleicht gibts auch ne andere möglichkeit ?