124 asc_text_update(node); |
124 asc_text_update(node); |
125 |
125 |
126 return node; |
126 return node; |
127 } |
127 } |
128 |
128 |
|
129 void asc_text_alignment( |
|
130 AscText *node, |
|
131 enum asc_text_alignment alignment |
|
132 ) { |
|
133 asc_ptr_cast(AscSceneNode, snode, node); |
|
134 asc_set_flag_masked(snode->flags, ASC_TEXT_ALIGNMENT_MASK, alignment); |
|
135 asc_node_update(snode); |
|
136 } |
|
137 |
|
138 void asc_text_centered(AscText *node, bool centered) { |
|
139 asc_ptr_cast(AscSceneNode, snode, node); |
|
140 if (centered) { |
|
141 asc_clear_flag(snode->flags, ASC_TEXT_ALIGN_CENTERED); |
|
142 } else { |
|
143 asc_set_flag(snode->flags, ASC_TEXT_ALIGN_CENTERED); |
|
144 } |
|
145 asc_node_update(snode); |
|
146 } |
|
147 |
|
148 void asc_text_max_width(AscText *node, unsigned max_width) { |
|
149 node->max_width = max_width; |
|
150 asc_node_update((AscSceneNode*)node); |
|
151 } |
|
152 |
129 void asc_text_printf( |
153 void asc_text_printf( |
130 AscText *text_node, |
154 AscText *node, |
131 const char *format, |
155 const char *format, |
132 ... |
156 ... |
133 ) { |
157 ) { |
134 va_list ap; |
158 va_list ap; |
135 va_start(ap, format); |
159 va_start(ap, format); |
136 cx_vsprintf( |
160 cx_vsprintf( |
137 &text_node->text.ptr, |
161 &node->text.ptr, |
138 &text_node->text.length, |
162 &node->text.length, |
139 format, |
163 format, |
140 ap |
164 ap |
141 ); |
165 ); |
142 va_end(ap); |
166 va_end(ap); |
143 asc_node_update((AscSceneNode*)text_node); |
167 asc_node_update((AscSceneNode*)node); |
144 } |
168 } |
145 |
169 |