void DrawSeparator(
const RectF& rect, // прямоугольник где нужно отрисовать разделитель
const char8_t* title, // текст
Drawing::Surface& draw, // поверхность или список отрисовки например если imgui
Drawing::Font& font, // шрифт
Drawing::Color line_color = { 255, 0, 0 }, // цвет линий
Drawing::Color title_color = { 255, 255, 255 }) // цвет текста
{
const float title_padding = 5; // отступы от названия с каждой стороны
const float title_height = font.height(); // размер текста
const Vect2F title_size = font.textSize(title_height, title); // ширина и высота текста в пикселях
const Drawing::Color line_fadeout_color = line_color.seta(0); // цвет полоски прозрачный для перехода
const float line_thickness = 2; // толщина линий
const float line_y = rect.cy() - (line_thickness / 2); // координата линий сверху по центру
const float line_width = rect.w() - title_padding - title_size.x - title_padding; // ширина одной линии
draw.rectFilled(Vect2F(rect.x0, line_y), Vect2F(rect.x0 + line_width, line_thickness), line_fadeout_color, line_color, line_color, line_fadeout_color); // левая линия
draw.rectFilled(Vect2F(rect.x1 - line_width, line_y), Vect2F(rect.x1, line_thickness), line_color, line_fadeout_color, line_fadeout_color, line_color); // правая линия
draw.text(font, title_height, rect.center() - (title_size / 2), title_color, title); // текст
}