Структура для анимации
This commit is contained in:
@@ -4,6 +4,6 @@
|
|||||||
#include "window.h"
|
#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
|
#endif
|
||||||
|
|||||||
@@ -10,12 +10,15 @@ enum figure_type
|
|||||||
FIGURE_SQUARE = 2
|
FIGURE_SQUARE = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
struct figure_info {
|
struct figure_animation_info {
|
||||||
enum figure_type type;
|
enum figure_type type;
|
||||||
struct vec2 position;
|
struct vec2 position;
|
||||||
struct vec2 velocity;
|
struct vec2 velocity;
|
||||||
float rotation;
|
|
||||||
float rotation_speed;
|
float angle;
|
||||||
|
float angular_velocity;
|
||||||
|
|
||||||
|
float speed;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ struct window_draw_info {
|
|||||||
uint8_t *data;
|
uint8_t *data;
|
||||||
int32_t width;
|
int32_t width;
|
||||||
int32_t height;
|
int32_t height;
|
||||||
struct figure_info figure;
|
struct figure_animation_info figure;
|
||||||
pthread_mutex_t figure_mutex;
|
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);
|
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);
|
pthread_mutex_unlock(&draw_info->figure_mutex);
|
||||||
|
|
||||||
uint32_t color;
|
uint32_t color;
|
||||||
|
|||||||
Reference in New Issue
Block a user