Sous-routine derwin, newwin ou subwin

Objectif

Sous-routines de création de fenêtre.

Bibliothèque

Bibliothèque Curses (libcurses.a)

Syntaxe

#include <curses.h>

WINDOW *derwin(WINDOW *orig,
int nlines,
int ncols,
int begin_y,
int begin_x);

WINDOW *newwin(int nlines,
int ncols,
int begin_y,
 int begin_x);
 
WINDOW *subwin(WINDOW *orig,
int nlines,
int ncols,
int begin_y,
int begin_x);

Descriptif

La sous-routine derwin est identique à la sous-routine subwin , à ceci près que begin_y et begin_x sont relatifs à l'origine de la fenêtre orig et non à des positions d'écran absolues.

La sous-routine newwin crée une nouvelle fenêtre avec des lignes nlines et des colonnes ncols , positionnées de sorte que l'origine soit au niveau (begin_y, begin_x). Si nlines est égal à zéro, la valeur par défaut est LINES- begin_y; si ncols est égal à zéro, la valeur par défaut est COLS- begin_x.

La sous-routine subwin crée une nouvelle fenêtre avec des lignes nlines et des colonnes ncols , positionnées de sorte que l'origine soit (begin_y, begin_x). (Cette position est une position d'écran absolue, pas une position par rapport à l'orig de la fenêtre.) Si une partie de la nouvelle fenêtre se trouve en dehors de orig, la sous-routine échoue et la fenêtre n'est pas créée.

Paramètres

Article Descriptif
ncols  
nlines  
début_y  
début_x  

Valeurs renvoyées

Une fois l'opération terminée, ces sous-programmes renvoient un pointeur vers la nouvelle fenêtre. Sinon, ils renvoient un pointeur null.

Exemples

Pour les sous-routines derwin et newwin :

  1. Pour créer une nouvelle fenêtre, entrez:
    WINDOW *my_window;
     
    my_window = newwin(5, 10, 20, 30);
    my_windowest maintenant une fenêtre5lignes profondes,10colonnes larges, à partir des coordonnées y =20, x =30. C'est-à-dire que le coin supérieur gauche se trouve aux coordonnées y =20, x =30, et le coin inférieur droit se trouve aux coordonnées y =24, x =39.
  2. Pour créer une fenêtre qui affleure le côté droit du terminal, entrez:
    WINDOW *my_window;
     
    my_window = newwin(5, 0, 20, 30);
    my_windowest maintenant une fenêtre5lignes profondes, s'étendant jusqu'au côté droit du terminal, en commençant par les coordonnées y =20, x =30. Le coin supérieur gauche se trouve aux coordonnées y =20, x =30, et le coin inférieur droit se trouve aux coordonnées y =24, x =lastcolumn.
  3. Pour créer une fenêtre qui remplit l'intégralité du terminal, entrez:
    WINDOW *my_window;
     
    my_window = newwin(0, 0, 0, 0);
    my_windowest maintenant un écran qui est une fenêtre qui remplit l'ensemble de l'affichage du terminal.

Pour la sous-routine subwin :

  1. Pour créer une sous-fenêtre, utilisez:
    WINDOW *my_window, *my_sub_window;
    my_window = newwin (derwin, newwin, or subwin Subroutine)
                (5, 10, 20, 30);
    my_sub_windowest maintenant une sous-fenêtre2lignes profondes,5colonnes larges, à partir des mêmes coordonnées de la fenêtre parentmy_window. C'est-à-dire que le coin supérieur gauche de la sous-fenêtre se trouve aux coordonnées y = 20, x =30et le coin inférieur droit se trouve aux coordonnées y =21, x =34.
  2. Pour créer une sous-fenêtre qui affleure le côté droit de son parent, utilisez
    WINDOW *my_window, *my_sub_window;
    my_window =
    newwin (derwin, newwin, or subwin Subroutine)(5, 10, 20, 30);
    my_sub_window = subwin(my_window, 2, 0, 20, 30);
    my_sub_windowest maintenant une sous-fenêtre2lignes profondes, s'étendant jusqu'au côté droit de sa fenêtre parentmy_window, et en commençant aux mêmes coordonnées. C'est-à-dire que le coin supérieur gauche de la sous-fenêtre se trouve aux coordonnées y =20, x =30et le coin inférieur droit se trouve aux coordonnées y =21, x =39.
  3. Pour créer une sous-fenêtre dans l'angle inférieur droit de son parent, utilisez:
    WINDOW *my_window, *my_sub_window
    my_window = newwwin (derwin, newwin, or subwin Subroutine)
                (5, 10, 20, 30);
    my_sub_window = subwin(my_window, 0, 0, 22, 35);
    my_sub_windowest maintenant une sous-fenêtre qui remplit le coin inférieur droit de sa fenêtre parent,my_window, en commençant par les coordonnées y =22, x =35. C'est-à-dire que le coin supérieur gauche de la sous-fenêtre se trouve aux coordonnées y =22, x =35et le coin inférieur droit se trouve aux coordonnées y =24, x =39.