Size: a a a

RU Rust GameDev — русскоговорящее сообщество

2020 October 02

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
Alex ⠀⠀⠀⠀⠀⠀
Респйз компонентов - мне кажется или хреновый тупо-скейл без девятки? (от ресайза окна)
Да, баян тупо скейлится.
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Всё как в обычном imgui, никакого скэйла вообще, всё что в окно не влезает то не рисуется
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
По вертикали по умолчанию скролл включен, по горизонтали выключен.
Если нужно адаптировать контент под размер окна, то нужно это вручную самому делать.
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
qthree
Всё как в обычном imgui, никакого скэйла вообще, всё что в окно не влезает то не рисуется
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Это просто задержка между ресайзом и следующим кадром.
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Или imgui не обновляет размер виртуального окна до конца ресайза, надо посмотреть
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Если мышку отпустить или долю секунды подождать не отпуская - то рисуется как надо
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
qthree
Если мышку отпустить или долю секунды подождать не отпуская - то рисуется как надо
А по-нормальному - ресайзить компоненты после каждого обновления размера вьюпорта.
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
Alex ⠀⠀⠀⠀⠀⠀
А по-нормальному - ресайзить компоненты после каждого обновления размера вьюпорта.
Да, это накладно. Можно оптимизировать - через один апдейт, или по интам, или по х-пикселей, или... 🙃
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Alex ⠀⠀⠀⠀⠀⠀
А по-нормальному - ресайзить компоненты после каждого обновления размера вьюпорта.
Я не очень понимаю что ты имеешь ввиду под "ресайзить компоненты".
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
qthree
Я не очень понимаю что ты имеешь ввиду под "ресайзить компоненты".
All ui-components should use “scale-9-grid” resize/scale method, как это и сделано там.
На моём последнем скриншоте тупо масштабируется (растягиванием/сжиманием) весь вьюпорт, а компоненты не обновляются и не перерисовываются.
Тут обновление компонентов происходит только после финализации ресайза окна (и вьюпорта) - отпускание мыши. А надо бы - в процессе ресайза вьюпорта и чем чаще, тем лучше, но дороже.
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
Это, кстати, популярный косяк современных ui-либ и win-providers.
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Не понял как тут "scale-9-grid" поможет
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
qthree
Не понял как тут "scale-9-grid" поможет
Хорошо, прошу кратко рассказать, почему когда отпускаешь мышь после ресайза окна, все компоненты встают на свои места, принимают нормальный размер и сжимаются/растягиваются под размер вьюпорта, при этом не растягивая скруглённые углы свои и например глифы лейблов. Как вот это происходит, как relayout происходит.
(это риторический вопрос)
Так вот там компоненты именно так и масштабируются - девяткой.
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
Речь не о том. Я к тому, что не вьюпорт надо тянуть, а релейаут делать при ресайзе окна.
источник

q

qthree in RU Rust GameDev — русскоговорящее сообщество
Там вообще декорации окна отключены, imgui сам просит ресайзить окно как ему надо
источник

A⠀

Alex ⠀⠀⠀⠀⠀⠀... in RU Rust GameDev — русскоговорящее сообщество
Alex ⠀⠀⠀⠀⠀⠀
Это, кстати, популярный косяк современных ui-либ и win-providers.
^
 ¯\_(ツ)_/¯
источник