Как инвертировать текст в розыгрыше 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);
Если это не сработает, вы всегда можете использовать инструмент шрифта, чтобы вместо этого создать новый шрифт (хотя это будет больше работы).