#include <GL/freeglut.h>
#include "Screen.hpp"
#include <algorithm>
#include <mutex>
|
using | Lock = std::lock_guard< std::mutex > |
|
|
std::size_t | lines_in_text (const std::string &text) |
| определить количество строк в тексте (сколько строчек по вертикали будет занимать изображение)
|
|
void | draw_stroke_string (void *font, const std::string &text, float left, float bottom, float right, float top) |
| FreeGlut-реализация средств отображения текста, пытается "впихнуть" строку в указанный прямоугольник Подробнее...
|
|
void | fit_window (float target_width, float target_height) |
| установить размеры окна Подробнее...
|
|
Реализация элементов Screen.hpp.
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. Естественно, оба параметра должны быть больше нуля. Позиционирует окно в центре экрана.