Changeset 06b8383 in mainline for uspace/lib/gfxfont/test/font.c


Ignore:
Timestamp:
2020-08-18T11:32:59Z (5 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
20d0098
Parents:
d2100e2
git-author:
Jiri Svoboda <jiri@…> (2020-08-17 18:32:40)
git-committer:
Jiri Svoboda <jiri@…> (2020-08-18 11:32:59)
Message:

Introduce typeface

In other words a font family.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/gfxfont/test/font.c

    rd2100e2 r06b8383  
    3030#include <gfx/font.h>
    3131#include <gfx/glyph.h>
     32#include <gfx/typeface.h>
    3233#include <pcut/pcut.h>
    3334#include "../private/font.h"
     35#include "../private/typeface.h"
    3436
    3537PCUT_INIT;
     
    7072PCUT_TEST(create_destroy)
    7173{
     74        gfx_font_props_t props;
    7275        gfx_font_metrics_t metrics;
    73         gfx_font_t *font;
    74         gfx_context_t *gc;
    75         test_gc_t tgc;
    76         errno_t rc;
    77 
    78         rc = gfx_context_new(&test_ops, (void *)&tgc, &gc);
    79         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    80 
    81         gfx_font_metrics_init(&metrics);
    82         rc = gfx_font_create(gc, &metrics, &font);
    83         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    84 
    85         gfx_font_destroy(font);
     76        gfx_typeface_t *tface;
     77        gfx_font_t *font;
     78        gfx_context_t *gc;
     79        test_gc_t tgc;
     80        errno_t rc;
     81
     82        rc = gfx_context_new(&test_ops, (void *)&tgc, &gc);
     83        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     84
     85        rc = gfx_typeface_create(gc, &tface);
     86        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     87
     88        gfx_font_props_init(&props);
     89        gfx_font_metrics_init(&metrics);
     90        rc = gfx_font_create(tface, &props, &metrics, &font);
     91        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     92
     93        gfx_font_close(font);
     94        gfx_typeface_destroy(tface);
     95
    8696        rc = gfx_context_delete(gc);
    8797        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    91101PCUT_TEST(get_metrics)
    92102{
     103        gfx_font_props_t props;
    93104        gfx_font_metrics_t metrics;
    94105        gfx_font_metrics_t gmetrics;
     106        gfx_typeface_t *tface;
    95107        gfx_font_t *font;
    96108        gfx_context_t *gc;
     
    106118        metrics.leading = 3;
    107119
    108         rc = gfx_font_create(gc, &metrics, &font);
     120        rc = gfx_typeface_create(gc, &tface);
     121        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     122
     123        gfx_font_props_init(&props);
     124        gfx_font_metrics_init(&metrics);
     125        rc = gfx_font_create(tface, &props, &metrics, &font);
    109126        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    110127
     
    114131        PCUT_ASSERT_INT_EQUALS(metrics.leading, gmetrics.leading);
    115132
    116         gfx_font_destroy(font);
     133        gfx_font_close(font);
     134        gfx_typeface_destroy(tface);
    117135        rc = gfx_context_delete(gc);
    118136        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    122140PCUT_TEST(set_metrics)
    123141{
     142        gfx_font_props_t props;
    124143        gfx_font_metrics_t metrics1;
    125144        gfx_font_metrics_t metrics2;
    126145        gfx_font_metrics_t gmetrics;
    127         gfx_font_t *font;
    128         gfx_context_t *gc;
    129         test_gc_t tgc;
    130         errno_t rc;
    131 
    132         rc = gfx_context_new(&test_ops, (void *)&tgc, &gc);
    133         PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     146        gfx_typeface_t *tface;
     147        gfx_font_t *font;
     148        gfx_context_t *gc;
     149        test_gc_t tgc;
     150        errno_t rc;
     151
     152        rc = gfx_context_new(&test_ops, (void *)&tgc, &gc);
     153        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     154
     155        rc = gfx_typeface_create(gc, &tface);
     156        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     157
     158        gfx_font_props_init(&props);
    134159
    135160        gfx_font_metrics_init(&metrics1);
     
    138163        metrics1.leading = 3;
    139164
    140         rc = gfx_font_create(gc, &metrics1, &font);
     165        rc = gfx_font_create(tface, &props, &metrics1, &font);
    141166        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    142167
     
    154179        PCUT_ASSERT_INT_EQUALS(metrics2.leading, gmetrics.leading);
    155180
    156         gfx_font_destroy(font);
     181        gfx_font_close(font);
     182        gfx_typeface_destroy(tface);
    157183        rc = gfx_context_delete(gc);
    158184        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    162188PCUT_TEST(first_glyph)
    163189{
     190        gfx_font_props_t props;
    164191        gfx_font_metrics_t metrics;
    165192        gfx_glyph_metrics_t gmetrics;
     193        gfx_typeface_t *tface;
    166194        gfx_font_t *font;
    167195        gfx_context_t *gc;
     
    176204        gfx_font_metrics_init(&metrics);
    177205
    178         rc = gfx_font_create(gc, &metrics, &font);
     206        rc = gfx_typeface_create(gc, &tface);
     207        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     208
     209        gfx_font_props_init(&props);
     210        gfx_font_metrics_init(&metrics);
     211        rc = gfx_font_create(tface, &props, &metrics, &font);
    179212        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    180213
     
    193226
    194227        gfx_glyph_destroy(glyph);
    195         gfx_font_destroy(font);
     228        gfx_font_close(font);
     229        gfx_typeface_destroy(tface);
    196230        rc = gfx_context_delete(gc);
    197231        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    201235PCUT_TEST(next_glyph)
    202236{
     237        gfx_font_props_t props;
    203238        gfx_font_metrics_t metrics;
    204239        gfx_glyph_metrics_t gmetrics;
     240        gfx_typeface_t *tface;
    205241        gfx_font_t *font;
    206242        gfx_context_t *gc;
     
    217253        gfx_font_metrics_init(&metrics);
    218254
    219         rc = gfx_font_create(gc, &metrics, &font);
     255        rc = gfx_typeface_create(gc, &tface);
     256        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     257
     258        gfx_font_props_init(&props);
     259        gfx_font_metrics_init(&metrics);
     260        rc = gfx_font_create(tface, &props, &metrics, &font);
    220261        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    221262
     
    240281        gfx_glyph_destroy(glyph1);
    241282        gfx_glyph_destroy(glyph2);
    242         gfx_font_destroy(font);
     283        gfx_font_close(font);
     284        gfx_typeface_destroy(tface);
    243285        rc = gfx_context_delete(gc);
    244286        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    248290PCUT_TEST(search_glyph)
    249291{
     292        gfx_font_props_t props;
    250293        gfx_font_metrics_t metrics;
     294        gfx_typeface_t *tface;
    251295        gfx_font_t *font;
    252296        gfx_context_t *gc;
     
    261305        gfx_font_metrics_init(&metrics);
    262306
    263         rc = gfx_font_create(gc, &metrics, &font);
     307        rc = gfx_typeface_create(gc, &tface);
     308        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     309
     310        gfx_font_props_init(&props);
     311        gfx_font_metrics_init(&metrics);
     312        rc = gfx_font_create(tface, &props, &metrics, &font);
    264313        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    265314
     
    267316        PCUT_ASSERT_ERRNO_VAL(ENOENT, rc);
    268317
    269         gfx_font_destroy(font);
     318        gfx_font_close(font);
     319        gfx_typeface_destroy(tface);
    270320        rc = gfx_context_delete(gc);
    271321        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     
    275325PCUT_TEST(splice_at_glyph)
    276326{
     327        gfx_font_props_t props;
    277328        gfx_font_metrics_t fmetrics;
     329        gfx_typeface_t *tface;
    278330        gfx_font_t *font;
    279331        gfx_glyph_metrics_t gmetrics;
     
    286338        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    287339
     340        rc = gfx_typeface_create(gc, &tface);
     341        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
     342
     343        gfx_font_props_init(&props);
    288344        gfx_font_metrics_init(&fmetrics);
    289         rc = gfx_font_create(gc, &fmetrics, &font);
     345        rc = gfx_font_create(tface, &props, &fmetrics, &font);
    290346        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
    291347
     
    299355        gfx_glyph_destroy(glyph);
    300356
    301         gfx_font_destroy(font);
     357        gfx_font_close(font);
     358        gfx_typeface_destroy(tface);
    302359        rc = gfx_context_delete(gc);
    303360        PCUT_ASSERT_ERRNO_VAL(EOK, rc);
Note: See TracChangeset for help on using the changeset viewer.