コード例 #1
0
ファイル: curses.c プロジェクト: mitake/qemu
static void curses_update(DisplayState *ds, int x, int y, int w, int h)
{
    chtype *line;

    line = ((chtype *) screen) + y * width;
    for (h += y; y < h; y ++, line += width)
        mvwaddchnstr(screenpad, y, 0, line, width);

    pnoutrefresh(screenpad, py, px, sminy, sminx, smaxy - 1, smaxx - 1);
    refresh();
}
コード例 #2
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void clear_cell(WINDOW *win, int i, int j)
{
  char line[BUFSIZ];
  int len, k, d;
  chtype chline[BUFSIZ];
  extern int colwid;

  for (k=0;k<colwid-1;k++)
    chline[k] = ' ';
  chline[colwid-1] = '|' | A_BOLD;
  chline[colwid] = '\0';
  mvwaddchnstr(win,j,i*colwid,chline,colwid);
}
コード例 #3
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void update_hlab(WINDOW *win, int y, int joff)
{
  char line[BUFSIZ];
  int len, k, d;
  chtype chline[BUFSIZ];

  for (k=0;k<HLAB;k++)
    chline[k] = ' ';

  sprintf(line,"%-4d",joff+y);
  len = strlen(line);
  d = (HLAB-len)/2;

  for (k=0;k<len;k++)
    chline[k+d] = line[k] | A_BOLD;
  chline[HLAB] = 0;
  mvwaddchnstr(win,y,0,chline,HLAB);
}
コード例 #4
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void set_cell(WINDOW *win, int i, int j, int ioff, int joff,
	      int type, int nx, void *data)
{
  char line[BUFSIZ];
  int len, k, d;
  chtype chline[BUFSIZ];
  extern int colwid;

  for (k=0;k<colwid-1;k++)
    chline[k] = ' ';
  str_value(i,j,type,nx,data,line);
  len = strlen(line);
  for (k=0;k<len;k++)
    chline[k] = line[k];
  chline[len] = ' ';
  chline[colwid-1] = '|' | A_BOLD;
  chline[colwid] = '\0';
  mvwaddchnstr(win,j-joff,(i-ioff)*colwid,chline,colwid);
}
コード例 #5
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void update_vlab(WINDOW *win, int x, int ioff)
{
  char line[BUFSIZ];
  int len, k, d;
  chtype chline[BUFSIZ];
  extern int colwid;

  for (k=0;k<colwid;k++)
    chline[k] = ' ';

  sprintf(line,"%d",ioff+x);
  len = strlen(line);
  d = (colwid-len)/2;
  for (k=0;k<len;k++)
    chline[k+d] = line[k] | A_BOLD;
  chline[colwid-1] = '|' | A_BOLD;
  chline[colwid] = 0;

  mvwaddchnstr(win,0,x*colwid,chline,colwid);
}
コード例 #6
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void update_col(WINDOW *win, int x, int ioff, int joff,
		int type, int nx, void *data)
{
  char line[BUFSIZ];
  int len, k, d, j;
  chtype chline[BUFSIZ];
  extern int colwid, drows;

  for (j=0;j<drows;j++) {
    for (k=0;k<colwid-1;k++)
      chline[k] = ' ';
    str_value(x+ioff,j+joff,type,nx,data,line);
    len = strlen(line);
    for (k=0;k<len;k++)
      chline[k] = line[k];
    chline[len] = ' ';
    chline[colwid-1] = '|' | A_BOLD;
    chline[colwid] = '\0';
    mvwaddchnstr(win,j,x*colwid,chline,colwid);
  }
}
コード例 #7
0
ファイル: browse.c プロジェクト: shawnlaffan/pdla-core
void update_row(WINDOW *win, int y, int ioff, int joff,
		int type, int nx, void *data)
{
  char line[BUFSIZ];
  int len, k, d, i;
  chtype chline[BUFSIZ];
  extern int colwid, dcols;

  for (i=0;i<dcols;i++) {
    for (k=0;k<colwid-1;k++)
      chline[k] = ' ';
    str_value(i+ioff,y+joff,type,nx,data,line);
    len = strlen(line);
    for (k=0;k<len;k++)
      chline[k] = line[k];
    chline[len] = ' ';
    chline[colwid-1] = '|' | A_BOLD;
    chline[colwid] = '\0';
    mvwaddchnstr(win,y,i*colwid,chline,colwid);
  }
}
コード例 #8
0
ファイル: curses.c プロジェクト: CRYP706URU/pyrebox
static void curses_update(DisplayChangeListener *dcl,
                          int x, int y, int w, int h)
{
    console_ch_t *line;
    chtype curses_line[width];

    line = screen + y * width;
    for (h += y; y < h; y ++, line += width) {
        for (x = 0; x < width; x++) {
            chtype ch = line[x] & 0xff;
            chtype at = line[x] & ~0xff;
            if (vga_to_curses[ch]) {
                ch = vga_to_curses[ch];
            }
            curses_line[x] = ch | at;
        }
        mvwaddchnstr(screenpad, y, 0, curses_line, width);
    }

    pnoutrefresh(screenpad, py, px, sminy, sminx, smaxy - 1, smaxx - 1);
    refresh();
}
コード例 #9
0
/*
 * mvaddchnstr --
 *      Add a string of at most n characters to stdscr
 *      starting at (y, x).
 */
int
mvaddchnstr(int y, int x, const chtype *chstr, int n)
{
	return mvwaddchnstr(stdscr, y, x, chstr, n);
}
コード例 #10
0
/*
 * mvwaddchstr --
 *      Add a string to the given window starting at (y, x)
 */
int
mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr)
{
	return mvwaddchnstr(win, y, x, chstr, -1);
}