• R/O
  • SSH
  • HTTPS

bchan: 提交


Commit MetaInfo

修訂546 (tree)
時間2013-05-01 01:13:10
作者ornse01

Log Message

fix font style handling policy.

Change Summary

差異

--- bchanf/trunk/src/css/cssrendering_box.c (revision 545)
+++ bchanf/trunk/src/css/cssrendering_box.c (revision 546)
@@ -49,10 +49,16 @@
4949 box->content_edge.c.bottom = 0;
5050 }
5151
52+LOCAL VOID cssrendering_basebox_setuserdata(cssrendering_basebox_t *box, VP data)
53+{
54+ box->userdata = data;
55+}
56+
5257 LOCAL VOID cssrendering_basebox_initialize(cssrendering_basebox_t *box, CSSRENDERING_BOX_TYPE type)
5358 {
5459 treebase_node_initialize(&box->base);
5560 box->type = type;
61+ box->userdata = NULL;
5662 }
5763
5864 LOCAL VOID cssrendering_basebox_finalize(cssrendering_basebox_t *box)
@@ -60,6 +66,13 @@
6066 treebase_node_finalize(&box->base);
6167 }
6268
69+/* cssrendering_linebox */
70+
71+EXPORT VOID cssrendering_linebox_setuserdata(cssrendering_linebox_t *box, VP data)
72+{
73+ cssrendering_basebox_setuserdata(&box->base, data);
74+}
75+
6376 EXPORT VOID cssrendering_linebox_initialize(cssrendering_linebox_t *box)
6477 {
6578 cssrendering_basebox_initialize(&box->base, CSSRENDEREING_BOX_TYPE_LINE);
@@ -77,6 +90,11 @@
7790 cssrendering_basebox_appendchild(&box->base, &child->base);
7891 }
7992
93+EXPORT VOID cssrendering_anonymousbox_setuserdata(cssrendering_anonymousbox_t *box, VP data)
94+{
95+ cssrendering_basebox_setuserdata(&box->base, data);
96+}
97+
8098 EXPORT VOID cssrendering_anonymousbox_initialize(cssrendering_anonymousbox_t *box)
8199 {
82100 cssrendering_basebox_initialize(&box->base, CSSRENDEREING_BOX_TYPE_ANONYMOUS);
@@ -99,6 +117,11 @@
99117 cssrendering_basebox_appendchild(&box->base, &child->base);
100118 }
101119
120+EXPORT VOID cssrendering_blockbox_setuserdata(cssrendering_blockbox_t *box, VP data)
121+{
122+ cssrendering_basebox_setuserdata(&box->base, data);
123+}
124+
102125 EXPORT VOID cssrendering_blockbox_initialize(cssrendering_blockbox_t *box)
103126 {
104127 cssrendering_basebox_initialize(&box->base, CSSRENDEREING_BOX_TYPE_BLOCK);
@@ -134,6 +157,7 @@
134157 result->data.text.fragment = &(box->l.text);
135158 result->data.text.blstart.x = traversal->origin.x + box->base.content_edge.c.left;
136159 result->data.text.blstart.y = traversal->origin.y + box->base.content_edge.c.top + box->l.baseline;
160+ result->data.text.nodedata = box->base.userdata;
137161 break;
138162 }
139163 } else {
--- bchanf/trunk/src/css/cssrendering_box.h (revision 545)
+++ bchanf/trunk/src/css/cssrendering_box.h (revision 546)
@@ -25,6 +25,7 @@
2525 */
2626
2727 #include <basic.h>
28+#include <btron/dp.h>
2829
2930 #include "cssmetric.h"
3031 #include <coll/treebase.h>
@@ -56,6 +57,7 @@
5657 treebase_node_t base;
5758 CSSRENDERING_BOX_TYPE type;
5859 cssmetric_rectangle_t content_edge;
60+ VP userdata;
5961 };
6062 typedef struct cssrendering_basebox_t_ cssrendering_basebox_t;
6163
@@ -103,6 +105,7 @@
103105 struct {
104106 cssrendering_textfragment_t *fragment;
105107 cssmetric_point_t blstart; /* baseline start */
108+ VP nodedata;
106109 } text;
107110 } data;
108111 };
@@ -110,14 +113,17 @@
110113
111114 IMPORT VOID cssrendering_linebox_initialize(cssrendering_linebox_t *box);
112115 IMPORT VOID cssrendering_linebox_finalize(cssrendering_linebox_t *box);
116+IMPORT VOID cssrendering_linebox_setuserdata(cssrendering_linebox_t *box, VP data);
113117
114118 IMPORT VOID cssrendering_anonymousbox_initialize(cssrendering_anonymousbox_t *box);
115119 IMPORT VOID cssrendering_anonymousbox_finalize(cssrendering_anonymousbox_t *box);
116120 IMPORT VOID cssrendering_anonymousbox_appendchild(cssrendering_anonymousbox_t *box, cssrendering_linebox_t *child);
121+IMPORT VOID cssrendering_anonymousbox_setuserdata(cssrendering_anonymousbox_t *box, VP data);
117122
118123 IMPORT VOID cssrendering_blockbox_initialize(cssrendering_blockbox_t *box);
119124 IMPORT VOID cssrendering_blockbox_finalize(cssrendering_blockbox_t *box);
120125 IMPORT VOID cssrendering_blockbox_appendanonymouschild(cssrendering_blockbox_t *box, cssrendering_anonymousbox_t *child);
126+IMPORT VOID cssrendering_blockbox_setuserdata(cssrendering_blockbox_t *box, VP data);
121127
122128 IMPORT VOID cssrendering_drawtraversal_initialize(cssrendering_drawtraversal_t *traversal, cssrendering_blockbox_t *root);
123129 IMPORT VOID cssrendering_drawtraversal_finalize(cssrendering_drawtraversal_t *traversal);
Show on old repository browser