示例#1
0
文件: status.c 项目: hinderer/brltty
static void
renderCoordinatesAlphabetic (unsigned char *cell, int column, int row) {
  /* the coordinates are presented as an underlined letter as the Alva DOS TSR */
  if (!SCR_COORDINATES_OK(column, row)) {
    *cell = convertCharacterToDots(textTable, WC_C('z'));
  } else {
    const int32_t height = 25;
    const int32_t frequency = row / height;

    if (frequency) {
      const int32_t interval = NSECS_PER_SEC / (frequency * 2);
      TimeValue time;

      getMonotonicTime(&time);
      scheduleUpdateIn("alva status field",
                       (((interval - (time.nanoseconds % interval)) / NSECS_PER_MSEC) + 1));

      if (!((time.nanoseconds / interval) % 2)) {
        *cell = 0;
        return;
      }
    }

    *cell = convertCharacterToDots(textTable, ((row % height) + WC_C('a')))
          | ((column / textCount) << 6);
  }
}
示例#2
0
文件: status.c 项目: Banzay40/brltty
static void
renderCoordinatesAlphabetic (unsigned char *cell, int column, int row) {
  /* the coordinates are presented as an underlined letter as the Alva DOS TSR */
  *cell = !SCR_COORDINATES_OK(column, row)? convertCharacterToDots(textTable, WC_C('z')):
          ((updateIntervals / 16) % (row / 25 + 1))? 0:
          convertCharacterToDots(textTable, (row % 25 + WC_C('a'))) |
          ((column / textCount) << 6);
}
示例#3
0
文件: status.c 项目: hinderer/brltty
static void
renderStatusField_stateLetter (unsigned char *cells) {
  *cells = convertCharacterToDots(textTable,
                                  ses->displayMode            ? WC_C('a'):
                                  isSpecialScreen(SCR_HELP)   ? WC_C('h'):
                                  isSpecialScreen(SCR_MENU)   ? WC_C('m'):
                                  isSpecialScreen(SCR_FROZEN) ? WC_C('f'):
                                  ses->trackScreenCursor      ? WC_C('t'):
                                                                WC_C(' '));
}
示例#4
0
文件: status.c 项目: Banzay40/brltty
static void
renderStatusField_stateLetter (unsigned char *cells) {
  *cells = convertCharacterToDots(textTable,
                                  ses->displayMode? WC_C('a'):
                                  isHelpScreen()  ? WC_C('h'):
                                  isMenuScreen()  ? WC_C('m'):
                                  isFrozenScreen()? WC_C('f'):
                                  ses->trackCursor? WC_C('t'):
                                                    WC_C(' '));
}
示例#5
0
文件: braille.c 项目: Feechka/UOBP
static void
writePrompt (BrailleDisplay *brl, const char *prompt) {
  int length = strlen(prompt);
  int index = 0;
  if (length > dataCells) length = dataCells;
  while (index < length) {
    dataArea[index] = convertCharacterToDots(textTable, (unsigned char)prompt[index]);
     ++index;
  }
  while (index < dataCells) dataArea[index++] = 0;
  refreshCells(brl);
}
示例#6
0
static unsigned char
toDots_mapped (wchar_t character) {
  return convertCharacterToDots(inputTable, character);
}