crypt of decay - а знаете, что? [entries|archive|friends|userinfo]
ketmar

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

а знаете, что? [Dec. 1st, 2015|09:51 am]
Previous Entry Add to Memories Tell A Friend Next Entry
а в жопу идут grid layouts, вот что.

взял, и вместо них приделал каждому виджету свойства «box-group-width» и «box-group-height». у всех «самых верхних» виджетов с одинаковым значением свойства будет одинаковая ширина/высота (выравнивается по максимальному значению).

лично мне кажется, что это проще в использовании, мощнее, и — что самое главное — почти не раздуло код layouter'а.

чинятся, как я написал, только «самые верхние» виджеты. то есть, если у виджета есть дети, у которых та же самая группа — на это кладётся толстый хуй. потому что это, как понимаете, удовлетворить невозможно, и это точно ошибка в описании UI.

самое хорошее в этом всём то, что вызов `layout()` не требует выделений памяти, поэтому, например, окошки можно спокойно рисовать в игровом цикле, менять при этом их размеры и всё такое — GC внезапно не выскочит.

вся функция раскладывания — меньше двухсот строк, состоит из четырёх отдельных частей (которые можно было выделить в отдельные функции, но нахера?). сначала считает свободное место, потом раскидывает его по flex-ящикам, потом чинит группы (если надо), потом устанавливает координаты. всё это простые циклы, логика прозрачная и понятная. и позволяет строить любые морды, включая и формы типа «метка: поле ввода».

ну, вот как-то так, например.

в видео этого ещё нет, кстати, но в новой версии «Test Form» больше нельзя растянуть по вертикали. забыл это для видео привинтить, гыг.

p.s. и это больше не SDL2, дополнительных библиотек не надо. только иксы и OpenGL. а, и imlib2 для загрузки фоновой картинки.
Linkmeow!

Comments:
From:(Anonymous)
Date:December 1st, 2015 - 08:43 pm
(Link)
> p.s. и это больше не SDL2, дополнительных библиотек не надо. только иксы и OpenGL. а, и imlib2 для загрузки фоновой картинки.

Молодец, исправляешься.
Анон хуйни не посоветует!
[User Picture]
From:[info]ketmar
Date:December 2nd, 2015 - 03:06 am
(Link)
это да, анон хуйню не советует, а производит в промышленных масштабах.
From:(Anonymous)
Date:December 3rd, 2015 - 09:45 pm
(Link)
Твой ебаный линукс это патриархальный инструмент унижения женщин. Понял, хуемразь?
[User Picture]
From:[info]ketmar
Date:December 4th, 2015 - 05:24 am
(Link)
так это же отлично! ничто так не радует глаз, как бабы в грязи и на цепи. ну, там, где им и место.