20 #include <LLUI_DISPLAY.h>
22 #include "ui_font_drawing.h"
23 #include "ui_drawing_soft.h"
24 #include "dw_drawing_soft.h"
25 #include "ui_drawing_stub.h"
29 #if defined(UI_FEATURE_FONT_CUSTOM_FORMATS)
50 #define TABLE_INDEX_STUB 0
51 #define TABLE_INDEX_SOFT 1
52 #define TABLE_INDEX_CUSTOM_OFFSET 2
54 #define GET_CUSTOM_FONT_INDEX(font) (((uint8_t)TABLE_INDEX_CUSTOM_OFFSET) + ((uint8_t)MICROUI_FONT_FORMAT_CUSTOM_0) - \
55 ((uint8_t)((font)->format)))
67 extern jint UI_FONT_DRAWING_stringWidth_custom0(jchar *chars, jint length, MICROUI_Font *font);
68 extern jint UI_FONT_DRAWING_stringWidth_custom1(jchar *chars, jint length, MICROUI_Font *font);
69 extern jint UI_FONT_DRAWING_stringWidth_custom2(jchar *chars, jint length, MICROUI_Font *font);
70 extern jint UI_FONT_DRAWING_stringWidth_custom3(jchar *chars, jint length, MICROUI_Font *font);
71 extern jint UI_FONT_DRAWING_stringWidth_custom4(jchar *chars, jint length, MICROUI_Font *font);
72 extern jint UI_FONT_DRAWING_stringWidth_custom5(jchar *chars, jint length, MICROUI_Font *font);
73 extern jint UI_FONT_DRAWING_stringWidth_custom6(jchar *chars, jint length, MICROUI_Font *font);
74 extern jint UI_FONT_DRAWING_stringWidth_custom7(jchar *chars, jint length, MICROUI_Font *font);
76 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom0(jchar *chars, jint length, MICROUI_Font *font,
77 MICROUI_RenderableString *renderableString);
78 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom1(jchar *chars, jint length, MICROUI_Font *font,
79 MICROUI_RenderableString *renderableString);
80 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom2(jchar *chars, jint length, MICROUI_Font *font,
81 MICROUI_RenderableString *renderableString);
82 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom3(jchar *chars, jint length, MICROUI_Font *font,
83 MICROUI_RenderableString *renderableString);
84 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom4(jchar *chars, jint length, MICROUI_Font *font,
85 MICROUI_RenderableString *renderableString);
86 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom5(jchar *chars, jint length, MICROUI_Font *font,
87 MICROUI_RenderableString *renderableString);
88 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom6(jchar *chars, jint length, MICROUI_Font *font,
89 MICROUI_RenderableString *renderableString);
90 extern jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom7(jchar *chars, jint length, MICROUI_Font *font,
91 MICROUI_RenderableString *renderableString);
93 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom0(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
94 MICROUI_Font *font, jint x, jint y);
95 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom1(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
96 MICROUI_Font *font, jint x, jint y);
97 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom2(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
98 MICROUI_Font *font, jint x, jint y);
99 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom3(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
100 MICROUI_Font *font, jint x, jint y);
101 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom4(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
102 MICROUI_Font *font, jint x, jint y);
103 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom5(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
104 MICROUI_Font *font, jint x, jint y);
105 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom6(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
106 MICROUI_Font *font, jint x, jint y);
107 extern DRAWING_Status UI_FONT_DRAWING_drawString_custom7(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
108 MICROUI_Font *font, jint x, jint y);
110 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom0(MICROUI_GraphicsContext *gc, jchar *chars,
111 jint length, MICROUI_Font *font, jint width,
112 MICROUI_RenderableString *renderableString, jint x,
114 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom1(MICROUI_GraphicsContext *gc, jchar *chars,
115 jint length, MICROUI_Font *font, jint width,
116 MICROUI_RenderableString *renderableString, jint x,
118 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom2(MICROUI_GraphicsContext *gc, jchar *chars,
119 jint length, MICROUI_Font *font, jint width,
120 MICROUI_RenderableString *renderableString, jint x,
122 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom3(MICROUI_GraphicsContext *gc, jchar *chars,
123 jint length, MICROUI_Font *font, jint width,
124 MICROUI_RenderableString *renderableString, jint x,
126 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom4(MICROUI_GraphicsContext *gc, jchar *chars,
127 jint length, MICROUI_Font *font, jint width,
128 MICROUI_RenderableString *renderableString, jint x,
130 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom5(MICROUI_GraphicsContext *gc, jchar *chars,
131 jint length, MICROUI_Font *font, jint width,
132 MICROUI_RenderableString *renderableString, jint x,
134 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom6(MICROUI_GraphicsContext *gc, jchar *chars,
135 jint length, MICROUI_Font *font, jint width,
136 MICROUI_RenderableString *renderableString, jint x,
138 extern DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom7(MICROUI_GraphicsContext *gc, jchar *chars,
139 jint length, MICROUI_Font *font, jint width,
140 MICROUI_RenderableString *renderableString, jint x,
143 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom0(MICROUI_GraphicsContext *gc, jchar *chars,
144 jint length, MICROUI_Font *font, jint x, jint y,
145 jfloat xRatio, jfloat yRatio);
146 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom1(MICROUI_GraphicsContext *gc, jchar *chars,
147 jint length, MICROUI_Font *font, jint x, jint y,
148 jfloat xRatio, jfloat yRatio);
149 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom2(MICROUI_GraphicsContext *gc, jchar *chars,
150 jint length, MICROUI_Font *font, jint x, jint y,
151 jfloat xRatio, jfloat yRatio);
152 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom3(MICROUI_GraphicsContext *gc, jchar *chars,
153 jint length, MICROUI_Font *font, jint x, jint y,
154 jfloat xRatio, jfloat yRatio);
155 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom4(MICROUI_GraphicsContext *gc, jchar *chars,
156 jint length, MICROUI_Font *font, jint x, jint y,
157 jfloat xRatio, jfloat yRatio);
158 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom5(MICROUI_GraphicsContext *gc, jchar *chars,
159 jint length, MICROUI_Font *font, jint x, jint y,
160 jfloat xRatio, jfloat yRatio);
161 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom6(MICROUI_GraphicsContext *gc, jchar *chars,
162 jint length, MICROUI_Font *font, jint x, jint y,
163 jfloat xRatio, jfloat yRatio);
164 extern DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom7(MICROUI_GraphicsContext *gc, jchar *chars,
165 jint length, MICROUI_Font *font, jint x, jint y,
166 jfloat xRatio, jfloat yRatio);
168 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom0(MICROUI_GraphicsContext *gc,
169 jchar *chars, jint length,
170 MICROUI_Font *font, jint width,
171 MICROUI_RenderableString *
172 renderableString, jint x, jint y,
173 jfloat xRatio, jfloat yRatio);
174 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom1(MICROUI_GraphicsContext *gc,
175 jchar *chars, jint length,
176 MICROUI_Font *font, jint width,
177 MICROUI_RenderableString *
178 renderableString, jint x, jint y,
179 jfloat xRatio, jfloat yRatio);
180 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom2(MICROUI_GraphicsContext *gc,
181 jchar *chars, jint length,
182 MICROUI_Font *font, jint width,
183 MICROUI_RenderableString *
184 renderableString, jint x, jint y,
185 jfloat xRatio, jfloat yRatio);
186 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom3(MICROUI_GraphicsContext *gc,
187 jchar *chars, jint length,
188 MICROUI_Font *font, jint width,
189 MICROUI_RenderableString *
190 renderableString, jint x, jint y,
191 jfloat xRatio, jfloat yRatio);
192 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom4(MICROUI_GraphicsContext *gc,
193 jchar *chars, jint length,
194 MICROUI_Font *font, jint width,
195 MICROUI_RenderableString *
196 renderableString, jint x, jint y,
197 jfloat xRatio, jfloat yRatio);
198 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom5(MICROUI_GraphicsContext *gc,
199 jchar *chars, jint length,
200 MICROUI_Font *font, jint width,
201 MICROUI_RenderableString *
202 renderableString, jint x, jint y,
203 jfloat xRatio, jfloat yRatio);
204 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom6(MICROUI_GraphicsContext *gc,
205 jchar *chars, jint length,
206 MICROUI_Font *font, jint width,
207 MICROUI_RenderableString *
208 renderableString, jint x, jint y,
209 jfloat xRatio, jfloat yRatio);
210 extern DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom7(MICROUI_GraphicsContext *gc,
211 jchar *chars, jint length,
212 MICROUI_Font *font, jint width,
213 MICROUI_RenderableString *
214 renderableString, jint x, jint y,
215 jfloat xRatio, jfloat yRatio);
217 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom0(MICROUI_GraphicsContext *gc, jchar c,
218 MICROUI_Font *font, jint x, jint y,
219 jint xRotation, jint yRotation, jfloat angle,
221 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom1(MICROUI_GraphicsContext *gc, jchar c,
222 MICROUI_Font *font, jint x, jint y,
223 jint xRotation, jint yRotation, jfloat angle,
225 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom2(MICROUI_GraphicsContext *gc, jchar c,
226 MICROUI_Font *font, jint x, jint y,
227 jint xRotation, jint yRotation, jfloat angle,
229 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom3(MICROUI_GraphicsContext *gc, jchar c,
230 MICROUI_Font *font, jint x, jint y,
231 jint xRotation, jint yRotation, jfloat angle,
233 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom4(MICROUI_GraphicsContext *gc, jchar c,
234 MICROUI_Font *font, jint x, jint y,
235 jint xRotation, jint yRotation, jfloat angle,
237 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom5(MICROUI_GraphicsContext *gc, jchar c,
238 MICROUI_Font *font, jint x, jint y,
239 jint xRotation, jint yRotation, jfloat angle,
241 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom6(MICROUI_GraphicsContext *gc, jchar c,
242 MICROUI_Font *font, jint x, jint y,
243 jint xRotation, jint yRotation, jfloat angle,
245 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom7(MICROUI_GraphicsContext *gc, jchar c,
246 MICROUI_Font *font, jint x, jint y,
247 jint xRotation, jint yRotation, jfloat angle,
250 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom0(MICROUI_GraphicsContext *gc, jchar c,
251 MICROUI_Font *font, jint x, jint y,
252 jint xRotation, jint yRotation,
253 jfloat angle, jint alpha);
254 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom1(MICROUI_GraphicsContext *gc, jchar c,
255 MICROUI_Font *font, jint x, jint y,
256 jint xRotation, jint yRotation,
257 jfloat angle, jint alpha);
258 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom2(MICROUI_GraphicsContext *gc, jchar c,
259 MICROUI_Font *font, jint x, jint y,
260 jint xRotation, jint yRotation,
261 jfloat angle, jint alpha);
262 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom3(MICROUI_GraphicsContext *gc, jchar c,
263 MICROUI_Font *font, jint x, jint y,
264 jint xRotation, jint yRotation,
265 jfloat angle, jint alpha);
266 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom4(MICROUI_GraphicsContext *gc, jchar c,
267 MICROUI_Font *font, jint x, jint y,
268 jint xRotation, jint yRotation,
269 jfloat angle, jint alpha);
270 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom5(MICROUI_GraphicsContext *gc, jchar c,
271 MICROUI_Font *font, jint x, jint y,
272 jint xRotation, jint yRotation,
273 jfloat angle, jint alpha);
274 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom6(MICROUI_GraphicsContext *gc, jchar c,
275 MICROUI_Font *font, jint x, jint y,
276 jint xRotation, jint yRotation,
277 jfloat angle, jint alpha);
278 extern DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom7(MICROUI_GraphicsContext *gc, jchar c,
279 MICROUI_Font *font, jint x, jint y,
280 jint xRotation, jint yRotation,
281 jfloat angle, jint alpha);
287 typedef jint (*UI_FONT_DRAWING_stringWidth_t)(jchar *chars, jint length, MICROUI_Font *font);
288 typedef jint (*UI_FONT_DRAWING_initializeRenderableStringSNIContext_t)(jchar *chars, jint length, MICROUI_Font *font,
289 MICROUI_RenderableString *renderableString);
290 typedef DRAWING_Status (*UI_FONT_DRAWING_drawString_t)(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
291 MICROUI_Font *font, jint x, jint y);
292 typedef DRAWING_Status (*UI_FONT_DRAWING_drawRenderableString_t)(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
293 MICROUI_Font *font, jint width,
294 MICROUI_RenderableString *renderableString, jint x,
296 typedef DRAWING_Status (*UI_FONT_DRAWING_drawScaledStringBilinear_t)(MICROUI_GraphicsContext *gc, jchar *chars,
297 jint length, MICROUI_Font *font, jint x, jint y,
298 jfloat xRatio, jfloat yRatio);
299 typedef DRAWING_Status (*UI_FONT_DRAWING_drawScaledRenderableStringBilinear_t)(MICROUI_GraphicsContext *gc,
300 jchar *chars, jint length,
301 MICROUI_Font *font, jint width,
302 MICROUI_RenderableString *
303 renderableString, jint x, jint y,
304 jfloat xRatio, jfloat yRatio);
305 typedef DRAWING_Status (*UI_FONT_DRAWING_drawCharWithRotationBilinear_t)(MICROUI_GraphicsContext *gc, jchar c,
306 MICROUI_Font *font, jint x, jint y,
307 jint xRotation, jint yRotation, jfloat angle,
309 typedef DRAWING_Status (*UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_t)(MICROUI_GraphicsContext *gc, jchar c,
310 MICROUI_Font *font, jint x, jint y,
311 jint xRotation, jint yRotation,
312 jfloat angle, jint alph);
318 static const UI_FONT_DRAWING_stringWidth_t UI_FONT_DRAWING_stringWidth_custom[] = {
319 &UI_DRAWING_STUB_stringWidth,
320 &UI_DRAWING_SOFT_stringWidth,
321 &UI_FONT_DRAWING_stringWidth_custom0,
322 &UI_FONT_DRAWING_stringWidth_custom1,
323 &UI_FONT_DRAWING_stringWidth_custom2,
324 &UI_FONT_DRAWING_stringWidth_custom3,
325 &UI_FONT_DRAWING_stringWidth_custom4,
326 &UI_FONT_DRAWING_stringWidth_custom5,
327 &UI_FONT_DRAWING_stringWidth_custom6,
328 &UI_FONT_DRAWING_stringWidth_custom7,
331 static const UI_FONT_DRAWING_initializeRenderableStringSNIContext_t
332 UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom[] = {
333 &UI_DRAWING_STUB_initializeRenderableStringSNIContext,
334 &UI_DRAWING_SOFT_initializeRenderableStringSNIContext,
335 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom0,
336 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom1,
337 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom2,
338 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom3,
339 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom4,
340 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom5,
341 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom6,
342 &UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom7,
345 static const UI_FONT_DRAWING_drawString_t UI_FONT_DRAWING_drawString_custom[] = {
346 &UI_DRAWING_STUB_drawString,
347 &UI_DRAWING_SOFT_drawString,
348 &UI_FONT_DRAWING_drawString_custom0,
349 &UI_FONT_DRAWING_drawString_custom1,
350 &UI_FONT_DRAWING_drawString_custom2,
351 &UI_FONT_DRAWING_drawString_custom3,
352 &UI_FONT_DRAWING_drawString_custom4,
353 &UI_FONT_DRAWING_drawString_custom5,
354 &UI_FONT_DRAWING_drawString_custom6,
355 &UI_FONT_DRAWING_drawString_custom7,
358 static const UI_FONT_DRAWING_drawRenderableString_t UI_FONT_DRAWING_drawRenderableString_custom[] = {
359 &UI_DRAWING_STUB_drawRenderableString,
360 &UI_DRAWING_SOFT_drawRenderableString,
361 &UI_FONT_DRAWING_drawRenderableString_custom0,
362 &UI_FONT_DRAWING_drawRenderableString_custom1,
363 &UI_FONT_DRAWING_drawRenderableString_custom2,
364 &UI_FONT_DRAWING_drawRenderableString_custom3,
365 &UI_FONT_DRAWING_drawRenderableString_custom4,
366 &UI_FONT_DRAWING_drawRenderableString_custom5,
367 &UI_FONT_DRAWING_drawRenderableString_custom6,
368 &UI_FONT_DRAWING_drawRenderableString_custom7,
371 static const UI_FONT_DRAWING_drawScaledStringBilinear_t UI_FONT_DRAWING_drawScaledStringBilinear_custom[] = {
372 &UI_DRAWING_STUB_drawScaledStringBilinear,
373 &DW_DRAWING_SOFT_drawScaledStringBilinear,
374 &UI_FONT_DRAWING_drawScaledStringBilinear_custom0,
375 &UI_FONT_DRAWING_drawScaledStringBilinear_custom1,
376 &UI_FONT_DRAWING_drawScaledStringBilinear_custom2,
377 &UI_FONT_DRAWING_drawScaledStringBilinear_custom3,
378 &UI_FONT_DRAWING_drawScaledStringBilinear_custom4,
379 &UI_FONT_DRAWING_drawScaledStringBilinear_custom5,
380 &UI_FONT_DRAWING_drawScaledStringBilinear_custom6,
381 &UI_FONT_DRAWING_drawScaledStringBilinear_custom7,
384 static const UI_FONT_DRAWING_drawScaledRenderableStringBilinear_t
385 UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom[] = {
386 &UI_DRAWING_STUB_drawScaledRenderableStringBilinear,
387 &DW_DRAWING_SOFT_drawScaledRenderableStringBilinear,
388 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom0,
389 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom1,
390 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom2,
391 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom3,
392 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom4,
393 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom5,
394 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom6,
395 &UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom7,
398 static const UI_FONT_DRAWING_drawCharWithRotationBilinear_t UI_FONT_DRAWING_drawCharWithRotationBilinear_custom[] = {
399 &UI_DRAWING_STUB_drawCharWithRotationBilinear,
400 &DW_DRAWING_SOFT_drawCharWithRotationBilinear,
401 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom0,
402 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom1,
403 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom2,
404 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom3,
405 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom4,
406 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom5,
407 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom6,
408 &UI_FONT_DRAWING_drawCharWithRotationBilinear_custom7,
411 static const UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_t
412 UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom[] = {
413 &UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor,
414 &DW_DRAWING_SOFT_drawCharWithRotationNearestNeighbor,
415 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom0,
416 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom1,
417 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom2,
418 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom3,
419 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom4,
420 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom5,
421 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom6,
422 &UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom7,
429 static inline uint32_t _get_table_index(MICROUI_GraphicsContext *gc, MICROUI_Font *font) {
431 if (!LLUI_DISPLAY_isCustomFormat(font->format)) {
432 #if !defined(UI_GC_SUPPORTED_FORMATS) || (UI_GC_SUPPORTED_FORMATS <= 1)
435 index = TABLE_INDEX_SOFT;
437 index = LLUI_DISPLAY_isDisplayFormat(gc->image.format) ? TABLE_INDEX_SOFT : TABLE_INDEX_STUB;
443 index = GET_CUSTOM_FONT_INDEX(font);
453 jint UI_FONT_DRAWING_stringWidth(jchar *chars, jint length, MICROUI_Font *font) {
455 if (!LLUI_DISPLAY_isCustomFormat(font->format)) {
456 index = TABLE_INDEX_SOFT;
460 index = GET_CUSTOM_FONT_INDEX(font);
462 return (*UI_FONT_DRAWING_stringWidth_custom[index])(chars, length, font);
466 jint UI_FONT_DRAWING_initializeRenderableStringSNIContext(jchar *chars, jint length, MICROUI_Font *font,
467 MICROUI_RenderableString *renderableString) {
469 if (!LLUI_DISPLAY_isCustomFormat(font->format)) {
470 index = TABLE_INDEX_SOFT;
474 index = GET_CUSTOM_FONT_INDEX(font);
476 return (*UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom[index])(chars, length, font, renderableString);
480 DRAWING_Status UI_FONT_DRAWING_drawString(MICROUI_GraphicsContext *gc, jchar *chars, jint length, MICROUI_Font *font,
482 return (*UI_FONT_DRAWING_drawString_custom[_get_table_index(gc, font)])(gc, chars, length, font, x, y);
486 DRAWING_Status UI_FONT_DRAWING_drawRenderableString(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
487 MICROUI_Font *font, jint width,
488 MICROUI_RenderableString *renderableString, jint x, jint y) {
489 return (*UI_FONT_DRAWING_drawRenderableString_custom[_get_table_index(gc, font)])(gc, chars, length, font, width,
490 renderableString, x, y);
494 DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
495 MICROUI_Font *font, jint x, jint y, jfloat xRatio,
497 return (*UI_FONT_DRAWING_drawScaledStringBilinear_custom[_get_table_index(gc, font)])(gc, chars, length, font, x, y,
502 DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars,
503 jint length, MICROUI_Font *font, jint width,
504 MICROUI_RenderableString *renderableString, jint x,
505 jint y, jfloat xRatio, jfloat yRatio) {
506 return (*UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom[_get_table_index(gc, font)])(gc, chars, length,
513 DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear(MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
514 jint x, jint y, jint xRotation, jint yRotation,
515 jfloat angle, jint alpha) {
516 return (*UI_FONT_DRAWING_drawCharWithRotationBilinear_custom[_get_table_index(gc, font)])(gc, c, font, x, y,
517 xRotation, yRotation,
522 DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor(MICROUI_GraphicsContext *gc, jchar c,
523 MICROUI_Font *font, jint x, jint y, jint xRotation,
524 jint yRotation, jfloat angle, jint alpha) {
525 return (*UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom[_get_table_index(gc, font)])(gc, c, font, x, y,
536 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom0(jchar *chars, jint length, MICROUI_Font *font) {
537 return UI_DRAWING_STUB_stringWidth(chars, length, font);
541 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom1(jchar *chars, jint length, MICROUI_Font *font) {
542 return UI_DRAWING_STUB_stringWidth(chars, length, font);
546 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom2(jchar *chars, jint length, MICROUI_Font *font) {
547 return UI_DRAWING_STUB_stringWidth(chars, length, font);
551 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom3(jchar *chars, jint length, MICROUI_Font *font) {
552 return UI_DRAWING_STUB_stringWidth(chars, length, font);
556 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom4(jchar *chars, jint length, MICROUI_Font *font) {
557 return UI_DRAWING_STUB_stringWidth(chars, length, font);
561 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom5(jchar *chars, jint length, MICROUI_Font *font) {
562 return UI_DRAWING_STUB_stringWidth(chars, length, font);
566 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom6(jchar *chars, jint length, MICROUI_Font *font) {
567 return UI_DRAWING_STUB_stringWidth(chars, length, font);
571 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_stringWidth_custom7(jchar *chars, jint length, MICROUI_Font *font) {
572 return UI_DRAWING_STUB_stringWidth(chars, length, font);
576 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom0(jchar *chars, jint length,
578 MICROUI_RenderableString *
580 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
584 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom1(jchar *chars, jint length,
586 MICROUI_RenderableString *
588 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
592 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom2(jchar *chars, jint length,
594 MICROUI_RenderableString *
596 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
600 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom3(jchar *chars, jint length,
602 MICROUI_RenderableString *
604 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
608 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom4(jchar *chars, jint length,
610 MICROUI_RenderableString *
612 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
616 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom5(jchar *chars, jint length,
618 MICROUI_RenderableString *
620 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
624 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom6(jchar *chars, jint length,
626 MICROUI_RenderableString *
628 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
632 BSP_DECLARE_WEAK_FCNT jint UI_FONT_DRAWING_initializeRenderableStringSNIContext_custom7(jchar *chars, jint length,
634 MICROUI_RenderableString *
636 return UI_DRAWING_STUB_initializeRenderableStringSNIContext(chars, length, font, renderableString);
640 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom0(MICROUI_GraphicsContext *gc, jchar *chars,
641 jint length, MICROUI_Font *font, jint x,
643 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
647 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom1(MICROUI_GraphicsContext *gc, jchar *chars,
648 jint length, MICROUI_Font *font, jint x,
650 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
654 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom2(MICROUI_GraphicsContext *gc, jchar *chars,
655 jint length, MICROUI_Font *font, jint x,
657 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
661 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom3(MICROUI_GraphicsContext *gc, jchar *chars,
662 jint length, MICROUI_Font *font, jint x,
664 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
668 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom4(MICROUI_GraphicsContext *gc, jchar *chars,
669 jint length, MICROUI_Font *font, jint x,
671 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
675 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom5(MICROUI_GraphicsContext *gc, jchar *chars,
676 jint length, MICROUI_Font *font, jint x,
678 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
682 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom6(MICROUI_GraphicsContext *gc, jchar *chars,
683 jint length, MICROUI_Font *font, jint x,
685 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
689 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawString_custom7(MICROUI_GraphicsContext *gc, jchar *chars,
690 jint length, MICROUI_Font *font, jint x,
692 return UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
696 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom0(MICROUI_GraphicsContext *gc,
697 jchar *chars, jint length,
698 MICROUI_Font *font, jint width,
699 MICROUI_RenderableString *
700 renderableString, jint x, jint y) {
701 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
705 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom1(MICROUI_GraphicsContext *gc,
706 jchar *chars, jint length,
707 MICROUI_Font *font, jint width,
708 MICROUI_RenderableString *
709 renderableString, jint x, jint y) {
710 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
714 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom2(MICROUI_GraphicsContext *gc,
715 jchar *chars, jint length,
716 MICROUI_Font *font, jint width,
717 MICROUI_RenderableString *
718 renderableString, jint x, jint y) {
719 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
723 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom3(MICROUI_GraphicsContext *gc,
724 jchar *chars, jint length,
725 MICROUI_Font *font, jint width,
726 MICROUI_RenderableString *
727 renderableString, jint x, jint y) {
728 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
732 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom4(MICROUI_GraphicsContext *gc,
733 jchar *chars, jint length,
734 MICROUI_Font *font, jint width,
735 MICROUI_RenderableString *
736 renderableString, jint x, jint y) {
737 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
741 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom5(MICROUI_GraphicsContext *gc,
742 jchar *chars, jint length,
743 MICROUI_Font *font, jint width,
744 MICROUI_RenderableString *
745 renderableString, jint x, jint y) {
746 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
750 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom6(MICROUI_GraphicsContext *gc,
751 jchar *chars, jint length,
752 MICROUI_Font *font, jint width,
753 MICROUI_RenderableString *
754 renderableString, jint x, jint y) {
755 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
759 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawRenderableString_custom7(MICROUI_GraphicsContext *gc,
760 jchar *chars, jint length,
761 MICROUI_Font *font, jint width,
762 MICROUI_RenderableString *
763 renderableString, jint x, jint y) {
764 return UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
768 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom0(MICROUI_GraphicsContext *gc,
769 jchar *chars, jint length,
770 MICROUI_Font *font, jint x,
771 jint y, jfloat xRatio,
773 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
777 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom1(MICROUI_GraphicsContext *gc,
778 jchar *chars, jint length,
779 MICROUI_Font *font, jint x,
780 jint y, jfloat xRatio,
782 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
786 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom2(MICROUI_GraphicsContext *gc,
787 jchar *chars, jint length,
788 MICROUI_Font *font, jint x,
789 jint y, jfloat xRatio,
791 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
795 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom3(MICROUI_GraphicsContext *gc,
796 jchar *chars, jint length,
797 MICROUI_Font *font, jint x,
798 jint y, jfloat xRatio,
800 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
804 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom4(MICROUI_GraphicsContext *gc,
805 jchar *chars, jint length,
806 MICROUI_Font *font, jint x,
807 jint y, jfloat xRatio,
809 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
813 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom5(MICROUI_GraphicsContext *gc,
814 jchar *chars, jint length,
815 MICROUI_Font *font, jint x,
816 jint y, jfloat xRatio,
818 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
822 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom6(MICROUI_GraphicsContext *gc,
823 jchar *chars, jint length,
824 MICROUI_Font *font, jint x,
825 jint y, jfloat xRatio,
827 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
831 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear_custom7(MICROUI_GraphicsContext *gc,
832 jchar *chars, jint length,
833 MICROUI_Font *font, jint x,
834 jint y, jfloat xRatio,
836 return UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
840 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom0(
841 MICROUI_GraphicsContext *gc, jchar *chars,
842 jint length, MICROUI_Font *font, jint width,
843 MICROUI_RenderableString *renderableString, jint x, jint y,
844 jfloat xRatio, jfloat yRatio) {
845 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
850 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom1(
851 MICROUI_GraphicsContext *gc, jchar *chars,
852 jint length, MICROUI_Font *font, jint width,
853 MICROUI_RenderableString *renderableString, jint x, jint y,
854 jfloat xRatio, jfloat yRatio) {
855 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
860 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom2(
861 MICROUI_GraphicsContext *gc, jchar *chars,
862 jint length, MICROUI_Font *font, jint width,
863 MICROUI_RenderableString *renderableString, jint x, jint y,
864 jfloat xRatio, jfloat yRatio) {
865 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
870 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom3(
871 MICROUI_GraphicsContext *gc, jchar *chars,
872 jint length, MICROUI_Font *font, jint width,
873 MICROUI_RenderableString *renderableString, jint x, jint y,
874 jfloat xRatio, jfloat yRatio) {
875 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
880 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom4(
881 MICROUI_GraphicsContext *gc, jchar *chars,
882 jint length, MICROUI_Font *font, jint width,
883 MICROUI_RenderableString *renderableString, jint x, jint y,
884 jfloat xRatio, jfloat yRatio) {
885 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
890 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom5(
891 MICROUI_GraphicsContext *gc, jchar *chars,
892 jint length, MICROUI_Font *font, jint width,
893 MICROUI_RenderableString *renderableString, jint x, jint y,
894 jfloat xRatio, jfloat yRatio) {
895 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
900 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom6(
901 MICROUI_GraphicsContext *gc, jchar *chars,
902 jint length, MICROUI_Font *font, jint width,
903 MICROUI_RenderableString *renderableString, jint x, jint y,
904 jfloat xRatio, jfloat yRatio) {
905 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
910 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear_custom7(
911 MICROUI_GraphicsContext *gc, jchar *chars,
912 jint length, MICROUI_Font *font, jint width,
913 MICROUI_RenderableString *renderableString, jint x, jint y,
914 jfloat xRatio, jfloat yRatio) {
915 return UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
920 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom0(MICROUI_GraphicsContext *gc,
921 jchar c, MICROUI_Font *font,
924 jint yRotation, jfloat angle,
926 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
930 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom1(MICROUI_GraphicsContext *gc,
931 jchar c, MICROUI_Font *font,
934 jint yRotation, jfloat angle,
936 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
940 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom2(MICROUI_GraphicsContext *gc,
941 jchar c, MICROUI_Font *font,
944 jint yRotation, jfloat angle,
946 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
950 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom3(MICROUI_GraphicsContext *gc,
951 jchar c, MICROUI_Font *font,
954 jint yRotation, jfloat angle,
956 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
960 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom4(MICROUI_GraphicsContext *gc,
961 jchar c, MICROUI_Font *font,
964 jint yRotation, jfloat angle,
966 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
970 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom5(MICROUI_GraphicsContext *gc,
971 jchar c, MICROUI_Font *font,
974 jint yRotation, jfloat angle,
976 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
980 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom6(MICROUI_GraphicsContext *gc,
981 jchar c, MICROUI_Font *font,
984 jint yRotation, jfloat angle,
986 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
990 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear_custom7(MICROUI_GraphicsContext *gc,
991 jchar c, MICROUI_Font *font,
994 jint yRotation, jfloat angle,
996 return UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1000 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom0(
1001 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1003 jint xRotation, jint yRotation,
1006 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1010 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom1(
1011 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1013 jint xRotation, jint yRotation,
1016 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1020 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom2(
1021 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1023 jint xRotation, jint yRotation,
1026 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1030 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom3(
1031 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1033 jint xRotation, jint yRotation,
1036 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1040 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom4(
1041 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1043 jint xRotation, jint yRotation,
1046 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1050 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom5(
1051 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1053 jint xRotation, jint yRotation,
1056 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1060 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom6(
1061 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1063 jint xRotation, jint yRotation,
1066 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1070 BSP_DECLARE_WEAK_FCNT DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor_custom7(
1071 MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1073 jint xRotation, jint yRotation,
1076 return UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1096 static inline bool _can_call_soft_algo(MICROUI_GraphicsContext *gc) {
1097 #if !defined(UI_GC_SUPPORTED_FORMATS) || (UI_GC_SUPPORTED_FORMATS <= 1)
1102 return LLUI_DISPLAY_isDisplayFormat(gc->image.format);
1111 jint UI_FONT_DRAWING_stringWidth(jchar *chars, jint length, MICROUI_Font *font) {
1112 return UI_DRAWING_SOFT_stringWidth(chars, length, font);
1116 jint UI_FONT_DRAWING_initializeRenderableStringSNIContext(jchar *chars, jint length, MICROUI_Font *font,
1117 MICROUI_RenderableString *renderableString) {
1118 return UI_DRAWING_SOFT_initializeRenderableStringSNIContext(chars, length, font, renderableString);
1122 DRAWING_Status UI_FONT_DRAWING_drawString(MICROUI_GraphicsContext *gc, jchar *chars, jint length, MICROUI_Font *font,
1124 return _can_call_soft_algo(gc) ? UI_DRAWING_SOFT_drawString(gc, chars, length, font, x, y)
1125 : UI_DRAWING_STUB_drawString(gc, chars, length, font, x, y);
1129 DRAWING_Status UI_FONT_DRAWING_drawRenderableString(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
1130 MICROUI_Font *font, jint width,
1131 MICROUI_RenderableString *renderableString, jint x, jint y) {
1132 return _can_call_soft_algo(gc) ? UI_DRAWING_SOFT_drawRenderableString(gc, chars, length, font, width,
1133 renderableString, x, y)
1134 : UI_DRAWING_STUB_drawRenderableString(gc, chars, length, font, width, renderableString, x, y);
1138 DRAWING_Status UI_FONT_DRAWING_drawScaledStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars, jint length,
1139 MICROUI_Font *font, jint x, jint y, jfloat xRatio,
1141 return _can_call_soft_algo(gc) ? DW_DRAWING_SOFT_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio,
1143 : UI_DRAWING_STUB_drawScaledStringBilinear(gc, chars, length, font, x, y, xRatio, yRatio);
1147 DRAWING_Status UI_FONT_DRAWING_drawScaledRenderableStringBilinear(MICROUI_GraphicsContext *gc, jchar *chars,
1148 jint length, MICROUI_Font *font, jint width,
1149 MICROUI_RenderableString *renderableString, jint x,
1150 jint y, jfloat xRatio, jfloat yRatio) {
1151 return _can_call_soft_algo(gc) ? DW_DRAWING_SOFT_drawScaledRenderableStringBilinear(gc, chars, length, font, width,
1152 renderableString, x, y, xRatio,
1154 : UI_DRAWING_STUB_drawScaledRenderableStringBilinear(gc, chars, length, font, width, renderableString, x, y,
1159 DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationBilinear(MICROUI_GraphicsContext *gc, jchar c, MICROUI_Font *font,
1160 jint x, jint y, jint xRotation, jint yRotation,
1161 jfloat angle, jint alpha) {
1162 return _can_call_soft_algo(gc) ? DW_DRAWING_SOFT_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation,
1163 yRotation, angle, alpha)
1164 : UI_DRAWING_STUB_drawCharWithRotationBilinear(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
1168 DRAWING_Status UI_FONT_DRAWING_drawCharWithRotationNearestNeighbor(MICROUI_GraphicsContext *gc, jchar c,
1169 MICROUI_Font *font, jint x, jint y, jint xRotation,
1170 jint yRotation, jfloat angle, jint alpha) {
1171 return _can_call_soft_algo(gc) ? DW_DRAWING_SOFT_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation,
1172 yRotation, angle, alpha)
1173 : UI_DRAWING_STUB_drawCharWithRotationNearestNeighbor(gc, c, font, x, y, xRotation, yRotation, angle, alpha);
MicroEJ MicroUI library low level API: enable some features according to the hardware capabilities.