ScreenRes
 
Инициализация графического режима, с указанием горизонтального и вертикального разрешения

Синтаксис

Declare Function ScreenRes ( ByVal width As Integer, ByVal height As Integer, ByVal depth As Integer = 8, ByVal num_pages As Integer = 1, ByVal flags As Integer = 0, ByVal refresh_rate As Integer = 0 ) As Integer


Использование

ScreenRes width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate ]]]]
result = ScreenRes( width, height [, [depth] [, [num_pages] [, [flags] [, refresh_rate ]]]] )


Параметры

width, height
Ширина и высота соответственно. Для полноэкранного режима, пользователь должен проверить наличие разрешения с использованием ScreenList.
depth
Глубина цвета в битах на пиксель. Допустимая глубина цвета: 1, 2, 4, 8, 16 и 32. Значения 15 и 24 также могут в качестве псевдонимов для 16 и 32, соответственно. Если параметр опущен, то по умолчанию 8 бит на пиксель. 8 бит и ниже даст палитру изображению. Палитра по умолчанию будет первыми 2 ^ depth цветами 256-цветовой палитры, используемой в Screen 13.
num_pages
Количество создаваемых видеостраниц, по умолчанию 1. (См. ниже)
flags
Используется для установки различных свойств экрана, в том числе полноэкранного режима и используемого графического драйвера. (смотрите Screen или стандартный заголовок "fbgfx.bi" для доступных флагов)
refresh_rate
Нужная частота обновления экрана, имеет эффект только для полноэкранных режимов, и некоторых систем и драйверов. По умолчанию соответствующее значение, недействительная частота обновления будет игнорироваться.

Возвращаемое значение

Возвращает ноль (0) в случае успеха, или код ненулевой ошибки, указывающий на неисправность. (обработка ошибок выполнения)

Описание

ScreenRes сообщает компилятору слинковать GfxLib и инициализировать режим QB-only, QB-on-GUI или OpenGL графику, в зависимости от настроек flags

В не полноэкранных режимах, разрешение может не совпадать с возможными разрешениями графической карты. Разрешения такие, как 555x111 возможны, GfxLib создаст окно такого размера. См. различия платформ для вопросов DOS.

Размер шрифта в режимах, созданных с помощью ScreenRes устанавливается 8x8 по умолчанию. Это может быть изменено путем установки количества текстовых строк / столбцов, используя функцию Width.

В режимах QB-only устанавливается разрешение окна или полноэкранная установка, один или несколько буферов в стандартной памяти создаются, консольные команды перенаправляются на их графические версии, a палитра по умолчанию устанавливается и автоматический поток обновления экрана запускается. QB-подобная графика и консольные конструкции могут использоваться.

В режимах QB-on-GUI один или несколько буферов в стандартной памяти создаются, консольные команды перенаправляются на их графические версии, a палитра по умолчанию устанавливается. QB-подобная графика и консольные операторы могут использоваться. Зависит от пользователя создание окна и обновления его содержимого буферов графики.

В режимах OpenGL, разрешение окна или весь экран устанавливается,  один или нескольких буферов в стандартной памяти создаются, и инициализируется система библиотеки OpenGL. Здесь только OpenGL команды могут использоваться для записи в графический буфер. QB-подобные и консольные команды запрещены. Этот режим позволяет инициализацию OpenGL в портабельном виде.

Подробности см. в ключевом слове Screen (Графика).

Пример

' Установим режим экрана 320 * 200, с 8 битами на пиксель
ScreenRes 320, 200, 8

' Нарисуем цветные полосы в диагональной последовательности на весь экран
For y As Integer = 0 To 200-1
    For x As Integer = 0 To 320-1
        PSet (x,y),(x + y) And 255
    Next x
Next y

' Печатаем текст "Hello World!!" по нарисованным линиям, в верхнем левом углу
Print "Hello world!!"

' Держим окно открытым, пока пользователь не нажмет клавишу
Sleep


Различия платформ

  • В DOS, обновление настроек частоты, и Оконные и OpenGL связанные переключатели не доступны, см. также GfxLib обзор

Различия диалектов

  • Не доступно в диалекте -lang qb , но есть псевдоним __Screenres.

Отличия от QB

  • Новое в FreeBASIC

См. также