Zmeika
простая аркадная игра
 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Страницы
Файл Screen.hpp
#include <string>
Граф включаемых заголовочных файлов для Screen.hpp:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Классы

class  AScreen
 абстракция текущего экрана + инкапсуляция привязки обработчиков событий FreeGlut. Подробнее...
 

Пространства имен

namespace  Drawing_area_info
 получение размеров области рисования окна, экрана (в пикселях)
 

Функции

void draw_stroke_string (void *font, const std::string &text, float left, float bottom, float right=0.f, float top=0.f)
 FreeGlut-реализация средств отображения текста, пытается "впихнуть" строку в указанный прямоугольник Подробнее...
 
void fit_window (float target_width, float target_height)
 установить размеры окна Подробнее...
 
int Drawing_area_info::x ()
 координата x верхнего левого угла
 
int Drawing_area_info::y ()
 координата y верхнего левого угла
 
int Drawing_area_info::width ()
 ширина области
 
int Drawing_area_info::height ()
 высота области
 
int Drawing_area_info::border_width ()
 ширина границы окна
 
int Drawing_area_info::border_height ()
 высота границы окна
 
int Drawing_area_info::screen_width ()
 ширина экрана (полная)
 
int Drawing_area_info::screen_height ()
 высота экрана (полная)
 

Подробное описание

Базовый класс экрана с привязкой обработчиков событий FreeGLUT (не все возможные) к виртуальным функциям текущего экрана. Вспомогательные функции drawString (рисование строки текста) и fit_window для подгонки окна под заданные размеры.

Функции

void draw_stroke_string ( void *  font,
const std::string &  text,
float  left,
float  bottom,
float  right = 0.f,
float  top = 0.f 
)

FreeGlut-реализация средств отображения текста, пытается "впихнуть" строку в указанный прямоугольник

Аргументы
fontможет быть GLUT_STROKE_ROMAN или GLUT_STROKE_MONO_ROMAN
rightможет быть <= left, тогда выбирается автоматически
topможет быть <= bottom, тогда выбирается автоматически Для выбора толщины линий, которыми рисуется текст, можно использовать glLineWidth(толщина в пикселях).

Граф вызовов:

Граф вызова функции:

void fit_window ( float  target_width,
float  target_height 
)

установить размеры окна

Аргументы
target_widthжелаемая ширина окна (пиксели)
target_heightжелаемая высота окна (пиксели)

В случае выхода за пределы экрана, вписывает в экран в пропорции target_width : target_height. Естественно, оба параметра должны быть больше нуля. Позиционирует окно в центре экрана.

Граф вызовов:

Граф вызова функции: