Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
qemu
提交
6f90f3d7
Q
qemu
项目概览
openeuler
/
qemu
通知
10
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Q
qemu
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6f90f3d7
编写于
1月 24, 2014
作者:
G
Gerd Hoffmann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
console: add QemuUIInfo
Signed-off-by:
N
Gerd Hoffmann
<
kraxel@redhat.com
>
上级
5643706a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
29 addition
and
0 deletion
+29
-0
include/ui/console.h
include/ui/console.h
+12
-0
ui/console.c
ui/console.c
+17
-0
未找到文件。
include/ui/console.h
浏览文件 @
6f90f3d7
...
...
@@ -120,6 +120,14 @@ struct DisplaySurface {
struct
PixelFormat
pf
;
};
typedef
struct
QemuUIInfo
{
/* geometry */
int
xoff
;
int
yoff
;
uint32_t
width
;
uint32_t
height
;
}
QemuUIInfo
;
/* cursor data format is 32bit RGBA */
typedef
struct
QEMUCursor
{
int
width
,
height
;
...
...
@@ -204,6 +212,8 @@ void update_displaychangelistener(DisplayChangeListener *dcl,
uint64_t
interval
);
void
unregister_displaychangelistener
(
DisplayChangeListener
*
dcl
);
int
dpy_set_ui_info
(
QemuConsole
*
con
,
QemuUIInfo
*
info
);
void
dpy_gfx_update
(
QemuConsole
*
con
,
int
x
,
int
y
,
int
w
,
int
h
);
void
dpy_gfx_replace_surface
(
QemuConsole
*
con
,
DisplaySurface
*
surface
);
...
...
@@ -266,6 +276,7 @@ typedef struct GraphicHwOps {
void
(
*
gfx_update
)(
void
*
opaque
);
void
(
*
text_update
)(
void
*
opaque
,
console_ch_t
*
text
);
void
(
*
update_interval
)(
void
*
opaque
,
uint64_t
interval
);
int
(
*
ui_info
)(
void
*
opaque
,
uint32_t
head
,
QemuUIInfo
*
info
);
}
GraphicHwOps
;
QemuConsole
*
graphic_console_init
(
DeviceState
*
dev
,
uint32_t
head
,
...
...
@@ -283,6 +294,7 @@ bool qemu_console_is_graphic(QemuConsole *con);
bool
qemu_console_is_fixedsize
(
QemuConsole
*
con
);
int
qemu_console_get_index
(
QemuConsole
*
con
);
uint32_t
qemu_console_get_head
(
QemuConsole
*
con
);
QemuUIInfo
*
qemu_console_get_ui_info
(
QemuConsole
*
con
);
int
qemu_console_get_width
(
QemuConsole
*
con
,
int
fallback
);
int
qemu_console_get_height
(
QemuConsole
*
con
,
int
fallback
);
...
...
ui/console.c
浏览文件 @
6f90f3d7
...
...
@@ -125,6 +125,7 @@ struct QemuConsole {
/* Graphic console state. */
Object
*
device
;
uint32_t
head
;
QemuUIInfo
ui_info
;
const
GraphicHwOps
*
hw_ops
;
void
*
hw
;
...
...
@@ -1347,6 +1348,16 @@ void unregister_displaychangelistener(DisplayChangeListener *dcl)
gui_setup_refresh
(
ds
);
}
int
dpy_set_ui_info
(
QemuConsole
*
con
,
QemuUIInfo
*
info
)
{
assert
(
con
!=
NULL
);
con
->
ui_info
=
*
info
;
if
(
con
->
hw_ops
->
ui_info
)
{
return
con
->
hw_ops
->
ui_info
(
con
->
hw
,
con
->
head
,
info
);
}
return
-
1
;
}
void
dpy_gfx_update
(
QemuConsole
*
con
,
int
x
,
int
y
,
int
w
,
int
h
)
{
DisplayState
*
s
=
con
->
ds
;
...
...
@@ -1669,6 +1680,12 @@ uint32_t qemu_console_get_head(QemuConsole *con)
return
con
?
con
->
head
:
-
1
;
}
QemuUIInfo
*
qemu_console_get_ui_info
(
QemuConsole
*
con
)
{
assert
(
con
!=
NULL
);
return
&
con
->
ui_info
;
}
int
qemu_console_get_width
(
QemuConsole
*
con
,
int
fallback
)
{
if
(
con
==
NULL
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录