Package xyz.cofe.term.win
Class ScreenBufferMode
- java.lang.Object
-
- xyz.cofe.term.win.ScreenBufferMode
-
public class ScreenBufferMode extends Object
-
-
Constructor Summary
Constructors Constructor Description ScreenBufferMode(int screenBufferFlags)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intgetScreenBufferFlags()booleanisLVBGridWorldWide()read flagScreenBufferFlags.ENABLE_LVB_GRID_WORLDWIDE
API для записи атрибутов символов, включая WriteConsoleOutput и WriteConsoleOutputAttribute.booleanisNewLineAutoReturn()read flagScreenBufferFlags.DISABLE_NEWLINE_AUTO_RETURN
При записи с помощью WriteFile или WriteConsole это добавляет дополнительное состояние переноса конца строки, которое может задерживать перемещение курсора и операции прокрутки буфера.booleanisProcessing()read flagScreenBufferFlags.ENABLE_PROCESSED_OUTPUT
Символы, записанные функцией WriteFile или WriteConsole или отраженные функцией ReadFile или ReadConsole анализируются на наличие управляющих последовательностей ASCII, и выполняется правильное действие.booleanisVirtualTerminalProcessing()read flagScreenBufferFlags.ENABLE_VIRTUAL_TERMINAL_PROCESSING
При записи с помощью WriteFile или WriteConsole символы анализируются для VT100 и аналогичные последовательности управляющих символов, управляющие движением курсора, режимом цвета/шрифта и другие операции, которые также можно выполнять с помощью существующих консольных API.booleanisWrapAtEol()read flagScreenBufferFlags.ENABLE_WRAP_AT_EOL_OUTPUT
При записи с помощью WriteFile или WriteConsole или отображении с помощью ReadFile или ReadConsole, курсор перемещается в начало следующей строки, когда он достигает конца текущей строки.ScreenBufferModelvbGridWorldWide(boolean switchOn)switch flagScreenBufferFlags.ENABLE_LVB_GRID_WORLDWIDE
API для записи атрибутов символов, включая WriteConsoleOutput и WriteConsoleOutputAttribute.ScreenBufferModenewLineAutoReturn(boolean enable)switch flagScreenBufferFlags.DISABLE_NEWLINE_AUTO_RETURN
При записи с помощью WriteFile или WriteConsole это добавляет дополнительное состояние переноса конца строки, которое может задерживать перемещение курсора и операции прокрутки буфера.ScreenBufferModeprocessing(boolean switchOn)switch flagScreenBufferFlags.ENABLE_PROCESSED_OUTPUT
Символы, записанные функцией WriteFile или WriteConsole или отраженные функцией ReadFile или ReadConsole анализируются на наличие управляющих последовательностей ASCII, и выполняется правильное действие.StringtoString()ScreenBufferModevirtualTerminalProcessing(boolean switchOn)switch flagScreenBufferFlags.ENABLE_VIRTUAL_TERMINAL_PROCESSING
При записи с помощью WriteFile или WriteConsole символы анализируются для VT100 и аналогичные последовательности управляющих символов, управляющие движением курсора, режимом цвета/шрифта и другие операции, которые также можно выполнять с помощью существующих консольных API.ScreenBufferModewrapAtEol(boolean switchOn)switch flagScreenBufferFlags.ENABLE_WRAP_AT_EOL_OUTPUT
При записи с помощью WriteFile или WriteConsole или отображении с помощью ReadFile или ReadConsole, курсор перемещается в начало следующей строки, когда он достигает конца текущей строки.
-
-
-
Method Detail
-
getScreenBufferFlags
public int getScreenBufferFlags()
-
isProcessing
public boolean isProcessing()
read flagScreenBufferFlags.ENABLE_PROCESSED_OUTPUT
Символы, записанные функцией WriteFile или WriteConsole или отраженные функцией ReadFile или ReadConsole анализируются на наличие управляющих последовательностей ASCII, и выполняется правильное действие. Backspace, табуляция, колокольчик, возврат каретки и Обрабатываются символы перевода строки.
Должна быть включена при использовании управляющих последовательностей или при установке ENABLE_VIRTUAL_TERMINAL_PROCESSING.- Returns:
- value
-
processing
public ScreenBufferMode processing(boolean switchOn)
switch flagScreenBufferFlags.ENABLE_PROCESSED_OUTPUT
Символы, записанные функцией WriteFile или WriteConsole или отраженные функцией ReadFile или ReadConsole анализируются на наличие управляющих последовательностей ASCII, и выполняется правильное действие. Backspace, табуляция, колокольчик, возврат каретки и Обрабатываются символы перевода строки.
Должна быть включена при использовании управляющих последовательностей или при установке ENABLE_VIRTUAL_TERMINAL_PROCESSING.- Parameters:
switchOn- value- Returns:
- new mode with switched flag
-
isWrapAtEol
public boolean isWrapAtEol()
read flagScreenBufferFlags.ENABLE_WRAP_AT_EOL_OUTPUT
При записи с помощью WriteFile или WriteConsole или отображении с помощью ReadFile или ReadConsole, курсор перемещается в начало следующей строки, когда он достигает конца текущей строки. Это приводит к тому, что строки, отображаемые в окне консоли, автоматически прокручиваются вверх, когда Курсор перемещается за пределы последней строки в окне.
Это также приводит к тому, что содержимое экранного буфера консоли прокрутить вверх (../отбросить верхнюю строку буфера экрана консоли), когда курсор перемещается за пределы последней строки буфера экрана консоли.
Если этот режим отключен, последний символ в строке перезаписывается любыми последующими символами.- Returns:
- value
-
wrapAtEol
public ScreenBufferMode wrapAtEol(boolean switchOn)
switch flagScreenBufferFlags.ENABLE_WRAP_AT_EOL_OUTPUT
При записи с помощью WriteFile или WriteConsole или отображении с помощью ReadFile или ReadConsole, курсор перемещается в начало следующей строки, когда он достигает конца текущей строки. Это приводит к тому, что строки, отображаемые в окне консоли, автоматически прокручиваются вверх, когда Курсор перемещается за пределы последней строки в окне.
Это также приводит к тому, что содержимое экранного буфера консоли прокрутить вверх (../отбросить верхнюю строку буфера экрана консоли), когда курсор перемещается за пределы последней строки буфера экрана консоли.
Если этот режим отключен, последний символ в строке перезаписывается любыми последующими символами.- Parameters:
switchOn- value- Returns:
- new mode with switched flag
-
isVirtualTerminalProcessing
public boolean isVirtualTerminalProcessing()
read flagScreenBufferFlags.ENABLE_VIRTUAL_TERMINAL_PROCESSING
При записи с помощью WriteFile или WriteConsole символы анализируются для VT100 и аналогичные последовательности управляющих символов, управляющие движением курсора, режимом цвета/шрифта и другие операции, которые также можно выполнять с помощью существующих консольных API.
Дополнительные сведения см. в разделе Последовательности виртуальных терминалов консоли.
Убедитесь, что ENABLE_PROCESSED_OUTPUT установлен при использовании этого флага.- Returns:
- value
-
virtualTerminalProcessing
public ScreenBufferMode virtualTerminalProcessing(boolean switchOn)
switch flagScreenBufferFlags.ENABLE_VIRTUAL_TERMINAL_PROCESSING
При записи с помощью WriteFile или WriteConsole символы анализируются для VT100 и аналогичные последовательности управляющих символов, управляющие движением курсора, режимом цвета/шрифта и другие операции, которые также можно выполнять с помощью существующих консольных API.
Дополнительные сведения см. в разделе Последовательности виртуальных терминалов консоли.
Убедитесь, что ENABLE_PROCESSED_OUTPUT установлен при использовании этого флага.- Parameters:
switchOn- value- Returns:
- new mode with switched flag
-
isNewLineAutoReturn
public boolean isNewLineAutoReturn()
read flagScreenBufferFlags.DISABLE_NEWLINE_AUTO_RETURN
При записи с помощью WriteFile или WriteConsole это добавляет дополнительное состояние переноса конца строки, которое может задерживать перемещение курсора и операции прокрутки буфера.
Обычно, когда ENABLE_WRAP_AT_EOL_OUTPUT установлен и текст достигает конца строки, курсор сразу же переместится на следующую строку и содержимое буфер будет прокручиваться вверх на одну строку.
В отличие от этого установленного флага, курсор не переходит на следующую строку, и операция прокрутки не выполняется.
Написанный символ будет напечатан в последней позиции строки и курсор останется над этим символом, как если бы ENABLE_WRAP_AT_EOL_OUTPUT был выключен, но следующий печатный символ будет напечатан, как если бы ENABLE_WRAP_AT_EOL_OUTPUT был включен.
Никакой перезаписи не произойдет. В частности, курсор быстро переходит на следующую строку, при необходимости выполняется прокрутка, печатается символ, и курсор перемещается еще на одну позицию.
Типичное использование этого флага предназначено в сочетании с установка ENABLE_VIRTUAL_TERMINAL_PROCESSING для лучшей эмуляции эмулятор терминала, в котором последний символ пишется на экране (../в правом нижнем углу) без запуска немедленной прокрутки - желаемое поведение.- Returns:
- value
-
newLineAutoReturn
public ScreenBufferMode newLineAutoReturn(boolean enable)
switch flagScreenBufferFlags.DISABLE_NEWLINE_AUTO_RETURN
При записи с помощью WriteFile или WriteConsole это добавляет дополнительное состояние переноса конца строки, которое может задерживать перемещение курсора и операции прокрутки буфера.
Обычно, когда ENABLE_WRAP_AT_EOL_OUTPUT установлен и текст достигает конца строки, курсор сразу же переместится на следующую строку и содержимое буфер будет прокручиваться вверх на одну строку.
В отличие от этого установленного флага, курсор не переходит на следующую строку, и операция прокрутки не выполняется.
Написанный символ будет напечатан в последней позиции строки и курсор останется над этим символом, как если бы ENABLE_WRAP_AT_EOL_OUTPUT был выключен, но следующий печатный символ будет напечатан, как если бы ENABLE_WRAP_AT_EOL_OUTPUT был включен.
Никакой перезаписи не произойдет. В частности, курсор быстро переходит на следующую строку, при необходимости выполняется прокрутка, печатается символ, и курсор перемещается еще на одну позицию.
Типичное использование этого флага предназначено в сочетании с установка ENABLE_VIRTUAL_TERMINAL_PROCESSING для лучшей эмуляции эмулятор терминала, в котором последний символ пишется на экране (../в правом нижнем углу) без запуска немедленной прокрутки - желаемое поведение.- Parameters:
enable- value- Returns:
- new mode with switched flag
-
isLVBGridWorldWide
public boolean isLVBGridWorldWide()
read flagScreenBufferFlags.ENABLE_LVB_GRID_WORLDWIDE
API для записи атрибутов символов, включая WriteConsoleOutput и WriteConsoleOutputAttribute. разрешить использование флагов атрибутов персонажа для настройки цвета передний план и фон текста. Кроме того, диапазон флагов DBCS был указан с помощью префикс COMMON_LVB.
Исторически эти флаги функционировали только в кодовых страницах DBCS. для китайского, японского и корейского языков.
За исключением флагов начального и конечного байтов, остальные флаги, описывающие отрисовку линий и обратное видео (../поменять местами цвета переднего плана и фона) может быть полезно для других языков, чтобы выделить части вывода.
Установка этого флага режима консоли позволит использовать эти атрибуты в каждой кодовой странице на любом языке.
По умолчанию отключено для обеспечения совместимости с известными приложениями, которые исторически пользовались преимуществами игнорирования консолью этих флагов на Машины, не относящиеся к CJK, для хранения битов в этих полях для собственных целей или случайно.
Обратите внимание, что использование режима ENABLE_VIRTUAL_TERMINAL_PROCESSING может привести к Флаги сетки LVB и обратного видео устанавливаются, пока этот флаг все еще выключен если прикрепленное приложение запрашивает подчеркивание или перевернутое видео через Консольные последовательности виртуальных терминалов.- Returns:
- value
-
lvbGridWorldWide
public ScreenBufferMode lvbGridWorldWide(boolean switchOn)
switch flagScreenBufferFlags.ENABLE_LVB_GRID_WORLDWIDE
API для записи атрибутов символов, включая WriteConsoleOutput и WriteConsoleOutputAttribute. разрешить использование флагов атрибутов персонажа для настройки цвета передний план и фон текста. Кроме того, диапазон флагов DBCS был указан с помощью префикс COMMON_LVB.
Исторически эти флаги функционировали только в кодовых страницах DBCS. для китайского, японского и корейского языков.
За исключением флагов начального и конечного байтов, остальные флаги, описывающие отрисовку линий и обратное видео (../поменять местами цвета переднего плана и фона) может быть полезно для других языков, чтобы выделить части вывода.
Установка этого флага режима консоли позволит использовать эти атрибуты в каждой кодовой странице на любом языке.
По умолчанию отключено для обеспечения совместимости с известными приложениями, которые исторически пользовались преимуществами игнорирования консолью этих флагов на Машины, не относящиеся к CJK, для хранения битов в этих полях для собственных целей или случайно.
Обратите внимание, что использование режима ENABLE_VIRTUAL_TERMINAL_PROCESSING может привести к Флаги сетки LVB и обратного видео устанавливаются, пока этот флаг все еще выключен если прикрепленное приложение запрашивает подчеркивание или перевернутое видео через Консольные последовательности виртуальных терминалов.- Parameters:
switchOn- value- Returns:
- new mode with switched flag
-
-