Size: a a a

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

2017 November 26

V

Vladimir in Rust — русскоговорящее сообщество
Какие такие стейт машины
источник

A

Anton in Rust — русскоговорящее сообщество
enum Animation {Move(i32, i32), Resize(i32, i32)}
источник

A

Anton in Rust — русскоговорящее сообщество
*Transition
источник

V

Vladimir in Rust — русскоговорящее сообщество
Жесть какая
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
Vladimir
С доступом из отдельного треда эт ты про что?
Блин ну смотри, у меня есть тред с эвентами окна - его надо поместить отдельно от всего контекста чтобы не доебывался до основного треда обработки. Также нужен отдельный тред с базовыми эвентами типо "кликнул на кнопку" и тд. И тред для анимаций - чтобы в основном треде обработки все нормально работало в рантайме и инициализировалось. Иначе весь рантайм будет уже занят ивентлупом и ничего добавить будет уже нельзя
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
Anton Shramko
ну я описал же, я хочу сделать хелпер либу сразу для простых анимаций трансформацмионных, аля:
let view = View::new();
let animation = Animation::new(&view)
 .to(style! { top: 100, left: 100 }, Transition::Ease)
 .delay(200)
 .to(action! { rotate: 90deg infinity }, Transition::EaseInOut)
 .run()

animation.to(...) // Следующая идерация или действие от текущего состояния
this
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
сам по себе Animation инстанс и есть стейтмашина что сохраняет текущее состояние после изменения элемента, и позволяет дальше по ссылочке управлятьь состоянием этой анимашки
источник

A

Anton in Rust — русскоговорящее сообщество
Vladimir
Какие такие стейт машины
Который нужно заимплиментить
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
я не хочу целиком все приложение в одном треде запускать и одном ивентлупе, ибо это жесть
источник

V

Vladimir in Rust — русскоговорящее сообщество
Короче тебе нужны комбинаторы анимаций
источник

A

Anton in Rust — русскоговорящее сообщество
Ага
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
если ктото не захочет везде чтоб фьючи были - и захочем в обычном стиле работать сам созадвать треды, и тл думаю это может стать проблемой
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
ибо тред уже занят
источник

V

Vladimir in Rust — русскоговорящее сообщество
А насчёт тредов то ты уже надумал чтото
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
Что я тогда не понимаю? Ивентлуп занимает все время выполнения
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
он занимает очередь, один раз его запустив это все будет крутится вечно
источник

A

Anton in Rust — русскоговорящее сообщество
Anton Shramko
Что я тогда не понимаю? Ивентлуп занимает все время выполнения
Как это?
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
или да - тот же winit можно работать только через обычный ивентлуп - без привязки к реактору
источник

V

Vladimir in Rust — русскоговорящее сообщество
Короче про треды вне фьюч вообще забудь - они не нужны
источник

AS

Anton Shramko in Rust — русскоговорящее сообщество
тоесть если все в одном треде пихать - и эвенты окна, и реактор не выйдет
источник