[Previous] [Contents] [Next]

Определение текущих параметров графических элементов

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

В принципе графический элемент может рассказать о себе все. Но в настоящие время библиотека VinGraph предоставляет только следующие четыре функции для определения состояния элемента:

int GetColor(int ident)
Возвращает цвет элемента.
int GetFill(int ident)
Возвращает цвет заполнения элемента.
tPoint GetPos(int ident)
Возвращает точку, задающую положение элемента в окне терминала или внутри рисунка (в зависимости от того, как был создан элемент).
tPoint GetDim(int ident)
Возвращает точку, содержащую ширину и высоту элемента.

Приведем небольшой пример использования этих функций. Следующий фрагмент программы выводит на обычный терминал параметры окна графического терминала:

int fillcolor;
tPoint pos, dim;
fillcolor = GetFill (0);
pos = GetPos (0);
dim = GetDim (0);
printf ("Graphic Terminal VG:\n\n"
        "  position   = %d, %d\n"
        "  dimensions = %d x %d\n"
        "  fill color = %d\n",
        pos.x, pos.y, dim.x, dim.y, fillcolor);

Результат выглядит следующим образом:

Graphic Terminal VG:

  position   = 100, 100
  dimensions = 640 x 480
  fill color = 0

Таковы параметры терминала VinGraph, установленные по умолчанию.


[Previous] [Contents] [Next]