Управление
цветом фона
Возможность
изменять цвет фона окна OpenGL удобно реализовать с помощью отдельного метода
класса:
void
COpenGL::SetBkColor()
{
//======
Расщепление цвета на три компонента
GLclampf
red = GetRValue(m_clrFillColor)/255 . f,
green
= GetGValue(m_clrFillColor)/255.f,
blue
= GetBValue(m_clrFillColor)/255.f;
//======
Установка цвета фона (стирания) окна
glClearColor
(red, green, blue, O.f);
//======
Непосредственное стирание
glClear(GL_COLOR_BUFFER_BIT
| GL_DEPTH_BUFFER_BIT);
}
Вызов этого
метода должен происходить при первоначальном создании окна, то есть внутри OnCreate,
и при каждом изменении стандартного свойства (stock property) в окне свойств.
Первое действие мы уже выполнили, а второе необходимо сделать, изменив тело
функции OnFillColorChanged:
void
COpenGL::OnFillColorChanged()
{
//======
Если выбран системный цвет,
if
(m_clrFillColor & 0x80000000)
//======
то выбираем его по индексу
m_clrFillColor
= GetSysColor(m_clrFillColor & Oxlf);
//======
Изменяем цвет фона окна OpenGL
SetBkColor
();
}