Changeset b7fd2a0 in mainline for uspace/lib/draw
- Timestamp:
- 2018-01-13T03:10:29Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a53ed3a
- Parents:
- 36f0738
- Location:
- uspace/lib/draw
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/draw/codec/tga.gz.c
r36f0738 rb7fd2a0 59 59 size_t size_expanded; 60 60 61 int ret = gzip_expand(data, size, &data_expanded, &size_expanded);61 errno_t ret = gzip_expand(data, size, &data_expanded, &size_expanded); 62 62 if (ret != EOK) 63 63 return NULL; -
uspace/lib/draw/font.c
r36f0738 rb7fd2a0 60 60 } 61 61 62 int font_get_metrics(font_t *font, font_metrics_t *metrics) {62 errno_t font_get_metrics(font_t *font, font_metrics_t *metrics) { 63 63 return font->backend->get_font_metrics(font->backend_data, metrics); 64 64 } 65 65 66 int font_resolve_glyph(font_t *font, wchar_t c, glyph_id_t *glyph_id) {66 errno_t font_resolve_glyph(font_t *font, wchar_t c, glyph_id_t *glyph_id) { 67 67 return font->backend->resolve_glyph(font->backend_data, c, glyph_id); 68 68 } 69 69 70 int font_get_glyph_metrics(font_t *font, glyph_id_t glyph_id,70 errno_t font_get_glyph_metrics(font_t *font, glyph_id_t glyph_id, 71 71 glyph_metrics_t *glyph_metrics) 72 72 { … … 75 75 } 76 76 77 int font_render_glyph(font_t *font, drawctx_t *context, source_t *source,77 errno_t font_render_glyph(font_t *font, drawctx_t *context, source_t *source, 78 78 sysarg_t x, sysarg_t y, glyph_id_t glyph_id) 79 79 { … … 83 83 84 84 /* TODO this is bad interface */ 85 int font_get_box(font_t *font, char *text, sysarg_t *width, sysarg_t *height)85 errno_t font_get_box(font_t *font, char *text, sysarg_t *width, sysarg_t *height) 86 86 { 87 87 font_metrics_t fm; 88 int rc = font_get_metrics(font, &fm);88 errno_t rc = font_get_metrics(font, &fm); 89 89 if (rc != EOK) 90 90 return rc; … … 101 101 rc = font_resolve_glyph(font, c, &glyph_id); 102 102 if (rc != EOK) { 103 int rc2 = font_resolve_glyph(font, U_SPECIAL, &glyph_id);103 errno_t rc2 = font_resolve_glyph(font, U_SPECIAL, &glyph_id); 104 104 if (rc2 != EOK) { 105 105 return rc; … … 121 121 122 122 /* TODO this is bad interface */ 123 int font_draw_text(font_t *font, drawctx_t *context, source_t *source,123 errno_t font_draw_text(font_t *font, drawctx_t *context, source_t *source, 124 124 const char *text, sysarg_t sx, sysarg_t sy) 125 125 { … … 128 128 129 129 font_metrics_t fm; 130 int rc = font_get_metrics(font, &fm);130 errno_t rc = font_get_metrics(font, &fm); 131 131 if (rc != EOK) 132 132 return rc; … … 144 144 rc = font_resolve_glyph(font, c, &glyph_id); 145 145 if (rc != EOK) { 146 int rc2 = font_resolve_glyph(font, U_SPECIAL, &glyph_id);146 errno_t rc2 = font_resolve_glyph(font, U_SPECIAL, &glyph_id); 147 147 if (rc2 != EOK) { 148 148 return rc; -
uspace/lib/draw/font.h
r36f0738 rb7fd2a0 91 91 92 92 typedef struct { 93 int (*get_font_metrics)(void *, font_metrics_t *);94 int (*resolve_glyph)(void *, wchar_t, glyph_id_t *);95 int (*get_glyph_metrics)(void *, glyph_id_t, glyph_metrics_t *);96 int (*render_glyph)(void *, drawctx_t *, source_t *, sysarg_t,93 errno_t (*get_font_metrics)(void *, font_metrics_t *); 94 errno_t (*resolve_glyph)(void *, wchar_t, glyph_id_t *); 95 errno_t (*get_glyph_metrics)(void *, glyph_id_t, glyph_metrics_t *); 96 errno_t (*render_glyph)(void *, drawctx_t *, source_t *, sysarg_t, 97 97 sysarg_t, glyph_id_t); 98 98 void (*release)(void *); … … 105 105 106 106 extern font_t *font_create(font_backend_t *, void *); 107 extern int font_get_metrics(font_t *, font_metrics_t *);108 extern int font_resolve_glyph(font_t *, wchar_t, glyph_id_t *);109 extern int font_get_glyph_metrics(font_t *, glyph_id_t, glyph_metrics_t *);110 extern int font_render_glyph(font_t *, drawctx_t *, source_t *,107 extern errno_t font_get_metrics(font_t *, font_metrics_t *); 108 extern errno_t font_resolve_glyph(font_t *, wchar_t, glyph_id_t *); 109 extern errno_t font_get_glyph_metrics(font_t *, glyph_id_t, glyph_metrics_t *); 110 extern errno_t font_render_glyph(font_t *, drawctx_t *, source_t *, 111 111 sysarg_t, sysarg_t, glyph_id_t); 112 112 extern void font_release(font_t *); 113 113 114 extern int font_get_box(font_t *, char *, sysarg_t *, sysarg_t *);115 extern int font_draw_text(font_t *, drawctx_t *, source_t *, const char *,114 extern errno_t font_get_box(font_t *, char *, sysarg_t *, sysarg_t *); 115 extern errno_t font_draw_text(font_t *, drawctx_t *, source_t *, const char *, 116 116 sysarg_t, sysarg_t); 117 117 -
uspace/lib/draw/font/bitmap_backend.c
r36f0738 rb7fd2a0 59 59 } bitmap_backend_data_t; 60 60 61 static int bb_get_font_metrics(void *backend_data, font_metrics_t *font_metrics)61 static errno_t bb_get_font_metrics(void *backend_data, font_metrics_t *font_metrics) 62 62 { 63 63 bitmap_backend_data_t *data = (bitmap_backend_data_t *) backend_data; … … 68 68 } 69 69 70 static int bb_resolve_glyph(void *backend_data, wchar_t c, glyph_id_t *glyph_id)70 static errno_t bb_resolve_glyph(void *backend_data, wchar_t c, glyph_id_t *glyph_id) 71 71 { 72 72 bitmap_backend_data_t *data = (bitmap_backend_data_t *) backend_data; … … 74 74 } 75 75 76 static int bb_get_glyph_metrics(void *backend_data, glyph_id_t glyph_id,76 static errno_t bb_get_glyph_metrics(void *backend_data, glyph_id_t glyph_id, 77 77 glyph_metrics_t *glyph_metrics) 78 78 { … … 89 89 glyph_metrics_t gm; 90 90 91 int rc = data->decoder->load_glyph_metrics(data->decoder_data, glyph_id,91 errno_t rc = data->decoder->load_glyph_metrics(data->decoder_data, glyph_id, 92 92 &gm); 93 93 if (rc != EOK) … … 115 115 } 116 116 117 static int get_glyph_surface(bitmap_backend_data_t *data, glyph_id_t glyph_id,117 static errno_t get_glyph_surface(bitmap_backend_data_t *data, glyph_id_t glyph_id, 118 118 surface_t **result) 119 119 { … … 127 127 128 128 surface_t *raw_surface; 129 int rc = data->decoder->load_glyph_surface(data->decoder_data, glyph_id,129 errno_t rc = data->decoder->load_glyph_surface(data->decoder_data, glyph_id, 130 130 &raw_surface); 131 131 if (rc != EOK) … … 173 173 } 174 174 175 static int bb_render_glyph(void *backend_data, drawctx_t *context,175 static errno_t bb_render_glyph(void *backend_data, drawctx_t *context, 176 176 source_t *source, sysarg_t ox, sysarg_t oy, glyph_id_t glyph_id) 177 177 { … … 179 179 180 180 glyph_metrics_t glyph_metrics; 181 int rc = bb_get_glyph_metrics(backend_data, glyph_id, &glyph_metrics);181 errno_t rc = bb_get_glyph_metrics(backend_data, glyph_id, &glyph_metrics); 182 182 if (rc != EOK) 183 183 return rc; … … 224 224 }; 225 225 226 int bitmap_font_create(bitmap_font_decoder_t *decoder, void *decoder_data,226 errno_t bitmap_font_create(bitmap_font_decoder_t *decoder, void *decoder_data, 227 227 uint32_t glyph_count, font_metrics_t font_metrics, uint16_t points, 228 228 font_t **out_font) -
uspace/lib/draw/font/bitmap_backend.h
r36f0738 rb7fd2a0 45 45 46 46 typedef struct { 47 int (*resolve_glyph)(void *, const wchar_t, glyph_id_t *);48 int (*load_glyph_surface)(void *, glyph_id_t, surface_t **);49 int (*load_glyph_metrics)(void *, glyph_id_t, glyph_metrics_t *);47 errno_t (*resolve_glyph)(void *, const wchar_t, glyph_id_t *); 48 errno_t (*load_glyph_surface)(void *, glyph_id_t, surface_t **); 49 errno_t (*load_glyph_metrics)(void *, glyph_id_t, glyph_metrics_t *); 50 50 void (*release)(void *); 51 51 } bitmap_font_decoder_t; 52 52 53 extern int bitmap_font_create(bitmap_font_decoder_t *, void *, uint32_t,53 extern errno_t bitmap_font_create(bitmap_font_decoder_t *, void *, uint32_t, 54 54 font_metrics_t, uint16_t, font_t **); 55 55 -
uspace/lib/draw/font/embedded.c
r36f0738 rb7fd2a0 44 44 #include "bitmap_backend.h" 45 45 46 static int fde_resolve_glyph(void *unused, const wchar_t chr,46 static errno_t fde_resolve_glyph(void *unused, const wchar_t chr, 47 47 glyph_id_t *glyph_id) 48 48 { … … 56 56 } 57 57 58 static int fde_load_glyph_surface(void *unused, glyph_id_t glyph_id,58 static errno_t fde_load_glyph_surface(void *unused, glyph_id_t glyph_id, 59 59 surface_t **out_surface) 60 60 { … … 75 75 } 76 76 77 static int fde_load_glyph_metrics(void *unused, glyph_id_t glyph_id,77 static errno_t fde_load_glyph_metrics(void *unused, glyph_id_t glyph_id, 78 78 glyph_metrics_t *gm) 79 79 { … … 106 106 }; 107 107 108 int embedded_font_create(font_t **font, uint16_t points)108 errno_t embedded_font_create(font_t **font, uint16_t points) 109 109 { 110 110 return bitmap_font_create(&fd_embedded, NULL, FONT_GLYPHS, font_metrics, -
uspace/lib/draw/font/embedded.h
r36f0738 rb7fd2a0 39 39 #include "../font.h" 40 40 41 extern int embedded_font_create(font_t **, uint16_t points);41 extern errno_t embedded_font_create(font_t **, uint16_t points); 42 42 43 43 #endif -
uspace/lib/draw/font/pcf.c
r36f0738 rb7fd2a0 146 146 } 147 147 148 static int pcf_resolve_glyph(void *opaque_data, const wchar_t chr,148 static errno_t pcf_resolve_glyph(void *opaque_data, const wchar_t chr, 149 149 glyph_id_t *glyph_id) 150 150 { … … 183 183 } 184 184 185 static int load_glyph_metrics(pcf_data_t *data, uint32_t glyph_id,185 static errno_t load_glyph_metrics(pcf_data_t *data, uint32_t glyph_id, 186 186 pcf_toc_entry_t *table, pcf_default_metrics_t *metrics) 187 187 { … … 253 253 } 254 254 255 static int pcf_load_glyph_surface(void *opaque_data, glyph_id_t glyph_id,255 static errno_t pcf_load_glyph_surface(void *opaque_data, glyph_id_t glyph_id, 256 256 surface_t **out_surface) 257 257 { … … 260 260 pcf_default_metrics_t pcf_metrics; 261 261 memset(&pcf_metrics, 0, sizeof(pcf_default_metrics_t)); 262 int rc = load_glyph_metrics(data, glyph_id, &data->metrics_table,262 errno_t rc = load_glyph_metrics(data, glyph_id, &data->metrics_table, 263 263 &pcf_metrics); 264 264 if (rc != EOK) … … 339 339 } 340 340 341 static int pcf_load_glyph_metrics(void *opaque_data, glyph_id_t glyph_id,341 static errno_t pcf_load_glyph_metrics(void *opaque_data, glyph_id_t glyph_id, 342 342 glyph_metrics_t *gm) 343 343 { … … 346 346 pcf_default_metrics_t pcf_metrics; 347 347 memset(&pcf_metrics, 0, sizeof(pcf_default_metrics_t)); 348 int rc = load_glyph_metrics(data, glyph_id, &data->metrics_table,348 errno_t rc = load_glyph_metrics(data, glyph_id, &data->metrics_table, 349 349 &pcf_metrics); 350 350 if (rc != EOK) … … 377 377 }; 378 378 379 static int pcf_read_toc(pcf_data_t *data)379 static errno_t pcf_read_toc(pcf_data_t *data) 380 380 { 381 381 int rc = fseek(data->file, 0, SEEK_END); … … 460 460 } 461 461 462 static int pcf_seek_table_header(pcf_data_t *data, pcf_toc_entry_t *table)462 static errno_t pcf_seek_table_header(pcf_data_t *data, pcf_toc_entry_t *table) 463 463 { 464 464 uint32_t format; … … 478 478 } 479 479 480 static int pcf_read_bitmap_table_header(pcf_data_t *data)481 { 482 int rc = pcf_seek_table_header(data, &data->bitmap_table);480 static errno_t pcf_read_bitmap_table_header(pcf_data_t *data) 481 { 482 errno_t rc = pcf_seek_table_header(data, &data->bitmap_table); 483 483 if (rc != EOK) 484 484 return rc; … … 498 498 } 499 499 500 static int pcf_read_metrics_table_header(pcf_data_t *data)501 { 502 int rc = pcf_seek_table_header(data, &data->metrics_table);500 static errno_t pcf_read_metrics_table_header(pcf_data_t *data) 501 { 502 errno_t rc = pcf_seek_table_header(data, &data->metrics_table); 503 503 if (rc != EOK) 504 504 return rc; … … 531 531 } 532 532 533 static int pcf_read_encodings_table_header(pcf_data_t *data)534 { 535 int rc = pcf_seek_table_header(data, &data->encodings_table);533 static errno_t pcf_read_encodings_table_header(pcf_data_t *data) 534 { 535 errno_t rc = pcf_seek_table_header(data, &data->encodings_table); 536 536 if (rc != EOK) 537 537 return rc; … … 558 558 } 559 559 560 static int pcf_read_accelerators_table(pcf_data_t *data)561 { 562 int rc = pcf_seek_table_header(data, &data->accelerators_table);560 static errno_t pcf_read_accelerators_table(pcf_data_t *data) 561 { 562 errno_t rc = pcf_seek_table_header(data, &data->accelerators_table); 563 563 if (rc != EOK) 564 564 return rc; … … 579 579 } 580 580 581 int pcf_font_create(font_t **font, char *filename, uint16_t points)582 { 583 int rc;581 errno_t pcf_font_create(font_t **font, char *filename, uint16_t points) 582 { 583 errno_t rc; 584 584 pcf_data_t *data = malloc(sizeof(pcf_data_t)); 585 585 if (data == NULL) -
uspace/lib/draw/font/pcf.h
r36f0738 rb7fd2a0 39 39 #include "../font.h" 40 40 41 extern int pcf_font_create(font_t **, char *path, uint16_t points);41 extern errno_t pcf_font_create(font_t **, char *path, uint16_t points); 42 42 43 43 #endif
Note:
See TracChangeset
for help on using the changeset viewer.