Как инвертировать текст в розыгрыше vx520

Я хочу инвертировать текст в строке, а другие строки показывают нормально и без инверсии в Verifiedone VX520. Я использую функцию inverse_toggle(), но эта функция инвертирует всю страницу, а не строку. Как я могу инвертировать только линию, и другие линии отображаются как обычно?

вот мой код:

int display = open(DEV_CONSOLE, 0);
inverse_toggle();
write(display,"first line to inverse\n",22); //i want to inverse just this line
write(display,"second line shown normally\n",27);//i want to show this line normally

1 ответ

Я никогда не играл с inverse_toggle или же setinverseНо я замечаю, что вы не отключаете его. Попробуй это:

int display = open(DEV_CONSOLE, 0);
inverse_toggle();
write(display,"first line to inverse\n",22);
inverse_toggle(); // new line
write(display,"second line shown normally\n",27);

Для большего контроля используйте setinverse, Кроме того, проверить display_at, Я думаю, вы найдете его более удобным для пользователя, чем write

int display = open(DEV_CONSOLE, 0);
setinverse(1); // explicitly turn inverse on
display_at(1, // x
           1, // y
           "first line to inverse", // no /n needed since we are specifying x and y
           NO_CLEAR); //defined in ACLCONIO.H. Other options are CLR_LINE and CLR_EOL
setinverse(0); // explicitly turn inverse off
display_at(1, 2, display,"second line shown normally", NO_CLEAR);

Если это не сработает, вы всегда можете использовать инструмент шрифта, чтобы вместо этого создать новый шрифт (хотя это будет больше работы).

Другие вопросы по тегам