diff --git a/wayland/include/figure-animate.h b/wayland/include/figure-animate.h index fc4d9e1..7e3218e 100644 --- a/wayland/include/figure-animate.h +++ b/wayland/include/figure-animate.h @@ -4,6 +4,6 @@ #include "window.h" /* Провести один шаг анимации на окне */ -void animation_step(struct window_draw_info* draw_info, float speed_multiplier); +void animation_step(struct window_draw_info* draw_info); #endif diff --git a/wayland/include/figure.h b/wayland/include/figure.h index c25c1cc..33f81d4 100644 --- a/wayland/include/figure.h +++ b/wayland/include/figure.h @@ -10,12 +10,15 @@ enum figure_type FIGURE_SQUARE = 2 }; -struct figure_info { +struct figure_animation_info { enum figure_type type; struct vec2 position; struct vec2 velocity; - float rotation; - float rotation_speed; + + float angle; + float angular_velocity; + + float speed; }; #endif diff --git a/wayland/include/window.h b/wayland/include/window.h index ae655c9..43a03cd 100644 --- a/wayland/include/window.h +++ b/wayland/include/window.h @@ -9,7 +9,7 @@ struct window_draw_info { uint8_t *data; int32_t width; int32_t height; - struct figure_info figure; + struct figure_animation_info figure; pthread_mutex_t figure_mutex; }; diff --git a/wayland/src/figure-animate.asm b/wayland/src/figure-animate.asm new file mode 100644 index 0000000..e69de29 diff --git a/wayland/src/window.c b/wayland/src/window.c index e92f9fa..b17f1ef 100644 --- a/wayland/src/window.c +++ b/wayland/src/window.c @@ -103,7 +103,7 @@ static void draw(struct wayland_window *win) // Залочиться, чтобы операции обновления позиции фигуры происходили атомарно pthread_mutex_lock(&draw_info->figure_mutex); - struct figure_info figure = draw_info->figure; + struct figure_animation_info figure = draw_info->figure; pthread_mutex_unlock(&draw_info->figure_mutex); uint32_t color;