more bla, again
This commit is contained in:
@@ -6,8 +6,8 @@
|
||||
\index{curses}
|
||||
|
||||
En fait, nous allons plutôt parler de \textbf{ncurses} qui est
|
||||
l'implémentation actuelle de l'ancêtre \texttt{curses}. Voic ce
|
||||
qu'en dit une page de man~:
|
||||
l'implémentation actuelle de l'ancêtre \texttt{curses}.
|
||||
Voici ce qu'en dit une page de man~:
|
||||
|
||||
\begin{quote}
|
||||
The ncurses library routines give the user a terminal-independent
|
||||
@@ -23,6 +23,46 @@ chaque cellule de votre écran (la case où l'on peut mettre
|
||||
un caractère) pour y écrire quelque chose, en gérant des
|
||||
attributs tels que gras ou souligné.
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{Les principes}
|
||||
|
||||
\begin{itemize}
|
||||
\item{Indépendance de l'écran physique}
|
||||
\item{Fenêtre et sous-fenêtre}
|
||||
\item{Deux écrans : stdscr et curscr}
|
||||
\end{itemize}
|
||||
|
||||
Au tout début était le terminal canonique, la \textsc{Teletype}.
|
||||
C'est dans le doux cliquetis de la vénérable \texttt{ASR33}
|
||||
que se sont échaffaudées les premières lignes du code, écrites
|
||||
avec \textsl{the only true one}\footnote{ed}.
|
||||
Ensuite sont arrivés les terminaux à écran vidéo, les fameuses
|
||||
\textsl{Glass TTYs}, qui ne tardèrent pas à se munir d'un
|
||||
curseur adressable, ce qui permet alors d'écrire un caractère
|
||||
à n'importe quelle endroit de l'écran.
|
||||
|
||||
Adm3a, vt52, Qume 60...
|
||||
|
||||
Une structure essentielle dans curses est l'écran,
|
||||
appelé \textsl{screen} dans l'original. C'est une matrice
|
||||
rectangulaire de cellules caractère/attribut et quelques
|
||||
données associées.
|
||||
|
||||
Pourquoi deux écrans ? La mécanique interne de curses
|
||||
maintient en interne deux écrans (qui sont en fait des fenêtres
|
||||
de la taille de l'écran physique) connus sous les noms de
|
||||
\texttt{stdscr} et \texttt{curscr}.
|
||||
Le premier est celui que voit l'application, et qu'il peut manipuler
|
||||
avec les fonctions (genre \texttt{mvaddstr})
|
||||
que nous verrons très bientôt.
|
||||
Et le second est l'image que se fait la mécanique de l'écran
|
||||
physique, donc ce que voit le yuser.
|
||||
|
||||
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{Premier exemple}
|
||||
|
||||
Bien entendu, nous commencerons par l'ECM traditionnel de rigueur.
|
||||
@@ -43,6 +83,8 @@ une capture d'écran, puisque je me permet de supposer que vous
|
||||
avez pris le temps de compiler l'exemple, et de voir par vous même
|
||||
ce que ça donne.
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{Bell and whistles}
|
||||
|
||||
Voici comment centrer sur la ligne du haut
|
||||
@@ -62,6 +104,14 @@ La liste complète est dans le man~: \texttt{attr(3NCURSES)},
|
||||
avec plein
|
||||
de fonctions spécialisées dans le traitement des attributs.
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{Les fenêtres}
|
||||
|
||||
|
||||
|
||||
% =========================================================
|
||||
|
||||
\section{Astuces}
|
||||
|
||||
Dans une boucle interactive, on va utiliser \texttt{getch()}, qui va
|
||||
|
||||
Reference in New Issue
Block a user