twinaphex ebaa5b9941 Undefine HAVE_VIDEO_LAYOUT for now instead of implicitly enabling
it for every platform - will have to be individually enabled for
each platform first after rigorous testing
2019-05-13 01:57:26 +02:00

55 lines
1.4 KiB
C

#ifndef VIDEO_LAYOUT_VIEW_H
#define VIDEO_LAYOUT_VIEW_H
#include "internal.h"
#include "element.h"
typedef struct layer
{
char *name;
video_layout_blend_t blend;
element_t *elements;
int elements_count;
}
layer_t;
typedef struct view
{
char *name;
video_layout_bounds_t bounds;
video_layout_bounds_t render_bounds;
layer_t *layers;
int layers_count;
video_layout_bounds_t *screens;
int screens_count;
}
view_t;
typedef struct view_array
{
view_t *views;
int views_count;
}
view_array_t;
void layer_init (layer_t *layer, const char *name);
void layer_deinit (layer_t *layer);
element_t *layer_add_element (layer_t *layer);
void view_init (view_t *view, const char *name);
void view_deinit (view_t *view);
layer_t *view_find_layer (view_t *view, const char *name);
layer_t *view_emplace_layer (view_t *view, const char *name);
void view_sort_layers (view_t *view);
void view_normalize (view_t *view);
void view_count_screens (view_t *view);
void view_array_init (view_array_t *view_array, int views_count);
void view_array_deinit (view_array_t *view_array);
view_t *view_array_find (view_array_t *view_array, const char *name);
#endif