Changes in uspace/lib/gfxfont/test/tpf.c [1fa6292:7470d97] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/gfxfont/test/tpf.c
r1fa6292 r7470d97 36 36 #include "../private/font.h" 37 37 #include "../private/typeface.h" 38 #include "../private/testgc.h"39 38 40 39 PCUT_INIT; … … 42 41 PCUT_TEST_SUITE(tpf); 43 42 44 static const gfx_font_flags_t test_font_flags = gff_bold_italic; 43 static errno_t testgc_set_clip_rect(void *, gfx_rect_t *); 44 static errno_t testgc_set_color(void *, gfx_color_t *); 45 static errno_t testgc_fill_rect(void *, gfx_rect_t *); 46 static errno_t testgc_bitmap_create(void *, gfx_bitmap_params_t *, 47 gfx_bitmap_alloc_t *, void **); 48 static errno_t testgc_bitmap_destroy(void *); 49 static errno_t testgc_bitmap_render(void *, gfx_rect_t *, gfx_coord2_t *); 50 static errno_t testgc_bitmap_get_alloc(void *, gfx_bitmap_alloc_t *); 51 52 static gfx_context_ops_t test_ops = { 53 .set_clip_rect = testgc_set_clip_rect, 54 .set_color = testgc_set_color, 55 .fill_rect = testgc_fill_rect, 56 .bitmap_create = testgc_bitmap_create, 57 .bitmap_destroy = testgc_bitmap_destroy, 58 .bitmap_render = testgc_bitmap_render, 59 .bitmap_get_alloc = testgc_bitmap_get_alloc 60 }; 61 62 typedef struct { 63 gfx_bitmap_params_t bm_params; 64 void *bm_pixels; 65 gfx_rect_t bm_srect; 66 gfx_coord2_t bm_offs; 67 } test_gc_t; 68 69 typedef struct { 70 test_gc_t *tgc; 71 gfx_bitmap_alloc_t alloc; 72 bool myalloc; 73 } testgc_bitmap_t; 45 74 46 75 enum { 47 76 test_font_size = 9, 77 test_font_flags = gff_bold_italic, 48 78 test_font_ascent = 4, 49 79 test_font_descent = 3, … … 180 210 } 181 211 212 static errno_t testgc_set_clip_rect(void *arg, gfx_rect_t *rect) 213 { 214 return EOK; 215 } 216 217 static errno_t testgc_set_color(void *arg, gfx_color_t *color) 218 { 219 return EOK; 220 } 221 222 static errno_t testgc_fill_rect(void *arg, gfx_rect_t *rect) 223 { 224 return EOK; 225 } 226 227 static errno_t testgc_bitmap_create(void *arg, gfx_bitmap_params_t *params, 228 gfx_bitmap_alloc_t *alloc, void **rbm) 229 { 230 test_gc_t *tgc = (test_gc_t *) arg; 231 testgc_bitmap_t *tbm; 232 233 tbm = calloc(1, sizeof(testgc_bitmap_t)); 234 if (tbm == NULL) 235 return ENOMEM; 236 237 if (alloc == NULL) { 238 tbm->alloc.pitch = (params->rect.p1.x - params->rect.p0.x) * 239 sizeof(uint32_t); 240 tbm->alloc.off0 = 0; 241 tbm->alloc.pixels = calloc(sizeof(uint32_t), 242 tbm->alloc.pitch * (params->rect.p1.y - params->rect.p0.y)); 243 tbm->myalloc = true; 244 if (tbm->alloc.pixels == NULL) { 245 free(tbm); 246 return ENOMEM; 247 } 248 } else { 249 tbm->alloc = *alloc; 250 } 251 252 tbm->tgc = tgc; 253 tgc->bm_params = *params; 254 tgc->bm_pixels = tbm->alloc.pixels; 255 *rbm = (void *)tbm; 256 return EOK; 257 } 258 259 static errno_t testgc_bitmap_destroy(void *bm) 260 { 261 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 262 if (tbm->myalloc) 263 free(tbm->alloc.pixels); 264 free(tbm); 265 return EOK; 266 } 267 268 static errno_t testgc_bitmap_render(void *bm, gfx_rect_t *srect, 269 gfx_coord2_t *offs) 270 { 271 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 272 tbm->tgc->bm_srect = *srect; 273 tbm->tgc->bm_offs = *offs; 274 return EOK; 275 } 276 277 static errno_t testgc_bitmap_get_alloc(void *bm, gfx_bitmap_alloc_t *alloc) 278 { 279 testgc_bitmap_t *tbm = (testgc_bitmap_t *)bm; 280 *alloc = tbm->alloc; 281 return EOK; 282 } 283 182 284 PCUT_EXPORT(tpf);
Note:
See TracChangeset
for help on using the changeset viewer.