@@ -275,6 +275,7 @@ void register_displaychangelistener(DisplayChangeListener *dcl);
void update_displaychangelistener(DisplayChangeListener *dcl,
uint64_t interval);
void unregister_displaychangelistener(DisplayChangeListener *dcl);
+void dpy_update_interval(QemuConsole *con, uint64_t interval);
bool dpy_ui_info_supported(QemuConsole *con);
int dpy_set_ui_info(QemuConsole *con, QemuUIInfo *info);
@@ -379,6 +380,7 @@ void graphic_console_set_hwops(QemuConsole *con,
void graphic_console_close(QemuConsole *con);
void graphic_hw_update(QemuConsole *con);
+void graphic_hw_refresh(QemuConsole *con);
void graphic_hw_invalidate(QemuConsole *con);
void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
void graphic_hw_gl_block(QemuConsole *con, bool block);
@@ -268,6 +268,24 @@ void graphic_hw_update(QemuConsole *con)
}
}
+void graphic_hw_refresh(QemuConsole *con)
+{
+ DisplayState *ds;
+ DisplayChangeListener *dcl;
+
+ if (!con) {
+ con = active_console;
+ }
+
+ ds = con->ds;
+
+ QLIST_FOREACH(dcl, &ds->listeners, next) {
+ if (dcl->ops->dpy_refresh) {
+ dcl->ops->dpy_refresh(dcl);
+ }
+ }
+}
+
void graphic_hw_gl_block(QemuConsole *con, bool block)
{
assert(con != NULL);
@@ -1480,6 +1498,23 @@ void update_displaychangelistener(DisplayChangeListener *dcl,
}
}
+void dpy_update_interval(QemuConsole *con, uint64_t interval)
+{
+ DisplayChangeListener *dcl;
+ DisplayState *ds;
+
+ if (!con) {
+ return;
+ }
+
+ ds = con->ds;
+
+ QLIST_FOREACH(dcl, &ds->listeners, next) {
+ update_displaychangelistener(dcl, interval);
+ }
+}
+
+
void unregister_displaychangelistener(DisplayChangeListener *dcl)
{
DisplayState *ds = dcl->ds;
graphic_hw_refresh is used by display to invoke console refresh. dpy_update_interval is used by display to update gui timer interval. Signed-off-by: Tina Zhang <tina.zhang@intel.com> --- include/ui/console.h | 2 ++ ui/console.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+)