Working multimonitor

This commit is contained in:
Cacodemon345
2022-07-04 01:50:42 +06:00
parent af3f2685e1
commit 7ab71cafd3
18 changed files with 165 additions and 52 deletions

View File

@@ -117,7 +117,7 @@ extern char *plat_vidapi_name(int api);
extern int plat_setvid(int api);
extern void plat_vidsize(int x, int y);
extern void plat_setfullscreen(int on);
extern void plat_resize(int x, int y);
extern void plat_resize_monitor(int x, int y, int monitor_index);
extern void plat_vidapi_enable(int enabled);
extern void plat_vidapi_reload(void);
extern void plat_vid_reload_options(void);

View File

@@ -62,6 +62,8 @@ extern void ui_check_menu_item(int id, int checked);
extern wchar_t *ui_window_title(wchar_t *s);
extern void ui_status_update(void);
extern void ui_init_monitor(int monitor_index);
extern void ui_deinit_monitor(int monitor_index);
extern int ui_sb_find_part(int tag);
extern void ui_sb_set_ready(int ready);
extern void ui_sb_update_panes(void);

View File

@@ -56,8 +56,13 @@ typedef struct {
int cols[256][2][2];
uint8_t *vram;
int monitor_index;
int prev_monitor_index;
} hercules_t;
#define VIDEO_MONITOR_PROLOGUE() { dev->prev_monitor_index = monitor_index_global; monitor_index_global = dev->monitor_index; }
#define VIDEO_MONITOR_EPILOGUE() { monitor_index_global = dev->prev_monitor_index; }
static void *hercules_init(const device_t *info);
#endif /*VIDEO_HERCULES_H*/

View File

@@ -126,6 +126,7 @@ typedef struct monitor_t
#define MONITORS_NUM 8
extern monitor_t monitors[MONITORS_NUM];
extern int monitor_index_global;
extern int herc_enabled;
typedef rgb_t PALETTE[256];
@@ -239,6 +240,8 @@ extern void cgapal_rebuild(void);
extern void hline(bitmap_t *b, int x1, int y, int x2, uint32_t col);
extern void updatewindowsize(int x, int y);
extern void video_monitor_init(int);
extern void video_monitor_close(int);
extern void video_init(void);
extern void video_close(void);
extern void video_reset_close(void);