Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Third Party Harfbuzz
提交
80a6833b
T
Third Party Harfbuzz
项目概览
OpenHarmony
/
Third Party Harfbuzz
接近 2 年 前同步成功
通知
1
Star
18
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
Third Party Harfbuzz
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
80a6833b
编写于
5月 11, 2011
作者:
B
Behdad Esfahbod
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[API] Add hb_*_get_empty() for all objects
上级
d3b30be3
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
78 addition
and
3 deletion
+78
-3
src/hb-buffer.cc
src/hb-buffer.cc
+6
-0
src/hb-buffer.h
src/hb-buffer.h
+3
-0
src/hb-font.cc
src/hb-font.cc
+18
-0
src/hb-font.h
src/hb-font.h
+9
-0
src/hb-unicode.cc
src/hb-unicode.cc
+6
-0
src/hb-unicode.h
src/hb-unicode.h
+3
-0
test/test-object.c
test/test-object.c
+33
-3
未找到文件。
src/hb-buffer.cc
浏览文件 @
80a6833b
...
...
@@ -152,6 +152,12 @@ hb_buffer_create (unsigned int pre_alloc_size)
return
buffer
;
}
hb_buffer_t
*
hb_buffer_get_empty
(
void
)
{
return
&
_hb_buffer_nil
;
}
hb_buffer_t
*
hb_buffer_reference
(
hb_buffer_t
*
buffer
)
{
...
...
src/hb-buffer.h
浏览文件 @
80a6833b
...
...
@@ -62,6 +62,9 @@ typedef struct _hb_glyph_position_t {
hb_buffer_t
*
hb_buffer_create
(
unsigned
int
pre_alloc_size
);
hb_buffer_t
*
hb_buffer_get_empty
(
void
);
hb_buffer_t
*
hb_buffer_reference
(
hb_buffer_t
*
buffer
);
...
...
src/hb-font.cc
浏览文件 @
80a6833b
...
...
@@ -159,6 +159,12 @@ hb_font_funcs_create (void)
return
ffuncs
;
}
hb_font_funcs_t
*
hb_font_funcs_get_empty
(
void
)
{
return
&
_hb_font_funcs_nil
;
}
hb_font_funcs_t
*
hb_font_funcs_reference
(
hb_font_funcs_t
*
ffuncs
)
{
...
...
@@ -404,6 +410,12 @@ hb_face_create_for_data (hb_blob_t *blob,
(
hb_destroy_func_t
)
_hb_face_for_data_closure_destroy
);
}
hb_face_t
*
hb_face_get_empty
(
void
)
{
return
&
_hb_face_nil
;
}
hb_face_t
*
hb_face_reference
(
hb_face_t
*
face
)
...
...
@@ -533,6 +545,12 @@ hb_font_create_sub_font (hb_font_t *parent)
return
font
;
}
hb_font_t
*
hb_font_get_empty
(
void
)
{
return
&
_hb_font_nil
;
}
hb_font_t
*
hb_font_reference
(
hb_font_t
*
font
)
{
...
...
src/hb-font.h
浏览文件 @
80a6833b
...
...
@@ -52,6 +52,9 @@ hb_face_create_for_tables (hb_get_table_func_t get_table,
void
*
user_data
,
hb_destroy_func_t
destroy
);
hb_face_t
*
hb_face_get_empty
(
void
);
hb_face_t
*
hb_face_reference
(
hb_face_t
*
face
);
...
...
@@ -87,6 +90,9 @@ typedef struct _hb_font_funcs_t hb_font_funcs_t;
hb_font_funcs_t
*
hb_font_funcs_create
(
void
);
hb_font_funcs_t
*
hb_font_funcs_get_empty
(
void
);
hb_font_funcs_t
*
hb_font_funcs_reference
(
hb_font_funcs_t
*
ffuncs
);
...
...
@@ -206,6 +212,9 @@ hb_font_create (hb_face_t *face);
hb_font_t
*
hb_font_create_sub_font
(
hb_font_t
*
parent
);
hb_font_t
*
hb_font_get_empty
(
void
);
hb_font_t
*
hb_font_reference
(
hb_font_t
*
font
);
...
...
src/hb-unicode.cc
浏览文件 @
80a6833b
...
...
@@ -125,6 +125,12 @@ hb_unicode_funcs_create (hb_unicode_funcs_t *parent)
return
ufuncs
;
}
hb_unicode_funcs_t
*
hb_unicode_funcs_get_empty
(
void
)
{
return
&
_hb_unicode_funcs_nil
;
}
hb_unicode_funcs_t
*
hb_unicode_funcs_reference
(
hb_unicode_funcs_t
*
ufuncs
)
{
...
...
src/hb-unicode.h
浏览文件 @
80a6833b
...
...
@@ -53,6 +53,9 @@ hb_unicode_funcs_get_default (void);
hb_unicode_funcs_t
*
hb_unicode_funcs_create
(
hb_unicode_funcs_t
*
parent
);
hb_unicode_funcs_t
*
hb_unicode_funcs_get_empty
(
void
);
hb_unicode_funcs_t
*
hb_unicode_funcs_reference
(
hb_unicode_funcs_t
*
ufuncs
);
...
...
test/test-object.c
浏览文件 @
80a6833b
...
...
@@ -43,7 +43,7 @@ create_blob (void)
static
void
*
create_blob_inert
(
void
)
{
return
hb_blob_
get_empty
(
);
return
hb_blob_
create
(
NULL
,
0
,
HB_MEMORY_MODE_DUPLICATE
,
NULL
,
NULL
);
}
static
void
*
...
...
@@ -68,7 +68,7 @@ create_face (void)
static
void
*
create_face_inert
(
void
)
{
return
hb_face_create_for_data
(
(
hb_blob_t
*
)
create_blob_inert
(),
0
);
return
hb_face_create_for_data
(
hb_blob_get_empty
(),
0
);
}
static
void
*
...
...
@@ -82,7 +82,7 @@ create_font (void)
static
void
*
create_font_inert
(
void
)
{
return
hb_font_create
(
create_face_inert
());
return
hb_font_create
(
hb_face_get_empty
());
}
static
void
*
...
...
@@ -124,6 +124,7 @@ typedef hb_bool_t (*is_immutable_func_t) (void *obj);
typedef
struct
{
create_func_t
create
;
create_func_t
create_inert
;
create_func_t
get_empty
;
reference_func_t
reference
;
destroy_func_t
destroy
;
set_user_data_func_t
set_user_data
;
...
...
@@ -137,6 +138,7 @@ typedef struct {
{ \
(create_func_t) create_##name, \
(create_func_t) create_##name##_inert, \
(create_func_t) hb_##name##_get_empty, \
(reference_func_t) hb_##name##_reference, \
(destroy_func_t) hb_##name##_destroy, \
(set_user_data_func_t) hb_##name##_set_user_data, \
...
...
@@ -149,6 +151,7 @@ typedef struct {
{ \
(create_func_t) create_##name, \
(create_func_t) create_##name##_inert, \
(create_func_t) hb_##name##_get_empty, \
(reference_func_t) hb_##name##_reference, \
(destroy_func_t) hb_##name##_destroy, \
(set_user_data_func_t) hb_##name##_set_user_data, \
...
...
@@ -305,6 +308,31 @@ test_object (void)
g_assert_cmpuint
(
global_data
,
==
,
1000
-
2
);
}
{
data_t
data
[
2
]
=
{{
MAGIC0
,
FALSE
},
{
MAGIC1
,
FALSE
}};
g_test_message
(
"->get_empty()"
);
obj
=
o
->
get_empty
();
g_assert
(
obj
);
g_assert
(
obj
==
o
->
reference
(
obj
));
o
->
destroy
(
obj
);
if
(
o
->
is_immutable
)
g_assert
(
o
->
is_immutable
(
obj
));
g_assert
(
!
o
->
set_user_data
(
obj
,
&
key
[
0
],
&
data
[
0
],
free_up0
));
g_assert
(
!
o
->
get_user_data
(
obj
,
&
key
[
0
]));
o
->
destroy
(
obj
);
o
->
destroy
(
obj
);
o
->
destroy
(
obj
);
o
->
destroy
(
obj
);
o
->
destroy
(
obj
);
g_assert
(
!
data
[
0
].
freed
);
}
{
data_t
data
[
2
]
=
{{
MAGIC0
,
FALSE
},
{
MAGIC1
,
FALSE
}};
...
...
@@ -312,6 +340,8 @@ test_object (void)
obj
=
o
->
create_inert
();
if
(
!
obj
)
continue
;
if
(
obj
==
o
->
get_empty
())
continue
;
/* Tested already */
g_assert
(
obj
==
o
->
reference
(
obj
));
o
->
destroy
(
obj
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录