mirror of https://github.com/jetkvm/kvm.git
53 lines
1.8 KiB
C
53 lines
1.8 KiB
C
#ifndef VIDEO_DAEMON_CTRL_H
|
|
#define VIDEO_DAEMON_CTRL_H
|
|
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
|
|
typedef struct
|
|
{
|
|
bool ready;
|
|
const char *error;
|
|
u_int16_t width;
|
|
u_int16_t height;
|
|
double frame_per_second;
|
|
} jetkvm_video_state_t;
|
|
|
|
typedef void (jetkvm_video_state_handler_t)(jetkvm_video_state_t *state);
|
|
typedef void (jetkvm_log_handler_t)(int level, const char *filename, const char *funcname, int line, const char *message);
|
|
|
|
typedef void (jetkvm_video_handler_t)(const uint8_t *frame, ssize_t len);
|
|
|
|
void jetkvm_set_log_handler(jetkvm_log_handler_t *handler);
|
|
void jetkvm_set_video_handler(jetkvm_video_handler_t *handler);
|
|
|
|
void jetkvm_ui_init();
|
|
void jetkvm_ui_tick();
|
|
|
|
void jetkvm_set_video_state_handler(jetkvm_video_state_handler_t *handler);
|
|
|
|
void jetkvm_ui_set_rotation(u_int8_t rotation);
|
|
const char *jetkvm_ui_get_current_screen();
|
|
void jetkvm_ui_load_screen(const char *obj_name);
|
|
int jetkvm_ui_set_text(const char *obj_name, const char *text);
|
|
void jetkvm_ui_set_image(const char *obj_name, const char *image_name);
|
|
void jetkvm_ui_set_state(const char *obj_name, const char *state_name);
|
|
void jetkvm_ui_fade_in(const char *obj_name, u_int32_t duration);
|
|
void jetkvm_ui_fade_out(const char *obj_name, u_int32_t duration);
|
|
void jetkvm_ui_set_opacity(const char *obj_name, u_int8_t opacity);
|
|
int jetkvm_ui_add_flag(const char *obj_name, const char *flag_name);
|
|
int jetkvm_ui_clear_flag(const char *obj_name, const char *flag_name);
|
|
|
|
int jetkvm_video_init();
|
|
void jetkvm_video_shutdown();
|
|
void jetkvm_video_start();
|
|
void jetkvm_video_stop();
|
|
int jetkvm_video_set_quality_factor(float quality_factor);
|
|
float jetkvm_video_get_quality_factor();
|
|
int jetkvm_video_set_edid(const char *edid_hex);
|
|
char *jetkvm_video_get_edid_hex();
|
|
jetkvm_video_state_t *jetkvm_video_get_status();
|
|
|
|
#endif //VIDEO_DAEMON_CTRL_H
|