Структура для анимации
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
0
wayland/src/figure-animate.asm
Normal file
0
wayland/src/figure-animate.asm
Normal file
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user