RetroArch/gfx/video_layout/component.h

54 lines
1.2 KiB
C
Raw Normal View History

2019-04-01 20:44:11 +01:00
#ifndef VIDEO_LAYOUT_COMPONENT_H
#define VIDEO_LAYOUT_COMPONENT_H
#include "internal.h"
#include "component_attr.h"
typedef enum comp_type
{
VIDEO_LAYOUT_C_UNKNOWN,
VIDEO_LAYOUT_C_SCREEN,
VIDEO_LAYOUT_C_RECT,
VIDEO_LAYOUT_C_DISK,
VIDEO_LAYOUT_C_IMAGE,
VIDEO_LAYOUT_C_TEXT,
VIDEO_LAYOUT_C_COUNTER,
VIDEO_LAYOUT_C_DOTMATRIX_X1,
VIDEO_LAYOUT_C_DOTMATRIX_H5,
VIDEO_LAYOUT_C_DOTMATRIX_H8,
VIDEO_LAYOUT_C_LED_7,
VIDEO_LAYOUT_C_LED_8_GTS1,
VIDEO_LAYOUT_C_LED_14,
VIDEO_LAYOUT_C_LED_14_SC,
VIDEO_LAYOUT_C_LED_16,
VIDEO_LAYOUT_C_LED_16_SC,
VIDEO_LAYOUT_C_REEL
}
comp_type_t;
union comp_attr
{
c_attr_screen_t screen;
c_attr_image_t image;
c_attr_text_t text;
c_attr_counter_t counter;
};
typedef struct component
{
comp_type_t type;
video_layout_bounds_t bounds;
video_layout_bounds_t render_bounds;
video_layout_orientation_t orientation;
video_layout_color_t color;
int enabled_state;
union comp_attr attr;
}
component_t;
void component_init (component_t *comp, comp_type_t type);
void component_copy (component_t *comp, const component_t *src);
void component_deinit (component_t *comp);
#endif