Changeset 8bf9058 in mainline


Ignore:
Timestamp:
2020-10-06T18:57:04Z (4 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0d62c10
Parents:
74f59b7
Message:

Bottom text should be aligned on the descender line

However, we'll leave baseline alignment as an explicit option.

Location:
uspace
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/gfxdemo/gfxdemo.c

    r74f59b7 r8bf9058  
    502502
    503503        rect.p0.x = w / 20;
    504         rect.p0.y = 3 * h / 15;
     504        rect.p0.y = 2 * h / 15;
    505505        rect.p1.x = w - w / 20;
    506506        rect.p1.y = 5 * h / 15;
     
    530530        }
    531531
    532         pos.x = (rect.p0.x + rect.p1.x) / 2;
     532        pos.x = (rect.p0.x + rect.p1.x - 1) / 2;
    533533        pos.y = rect.p0.y;
    534534        fmt.halign = gfx_halign_center;
     
    537537                goto error;
    538538
    539         pos.x = rect.p1.x;
     539        pos.x = rect.p1.x - 1;
    540540        pos.y = rect.p0.y;
    541541        fmt.halign = gfx_halign_right;
     
    547547
    548548        pos.x = rect.p0.x;
    549         pos.y = (rect.p0.y + rect.p1.y) / 2;
     549        pos.y = (rect.p0.y + rect.p1.y - 1) / 2;
    550550        fmt.halign = gfx_halign_left;
    551551        rc = gfx_puttext(font, &pos, &fmt, "Center left");
     
    553553                goto error;
    554554
    555         pos.x = (rect.p0.x + rect.p1.x) / 2;
    556         pos.y = (rect.p0.y + rect.p1.y) / 2;
     555        pos.x = (rect.p0.x + rect.p1.x - 1) / 2;
     556        pos.y = (rect.p0.y + rect.p1.y - 1) / 2;
    557557        fmt.halign = gfx_halign_center;
    558558        rc = gfx_puttext(font, &pos, &fmt, "Center");
     
    560560                goto error;
    561561
    562         pos.x = rect.p1.x;
    563         pos.y = (rect.p0.y + rect.p1.y) / 2;
     562        pos.x = rect.p1.x - 1;
     563        pos.y = (rect.p0.y + rect.p1.y - 1) / 2;
    564564        fmt.halign = gfx_halign_right;
    565565        rc = gfx_puttext(font, &pos, &fmt, "Center right");
     
    570570
    571571        pos.x = rect.p0.x;
    572         pos.y = rect.p1.y;
     572        pos.y = rect.p1.y - 1;
    573573        fmt.halign = gfx_halign_left;
    574574        rc = gfx_puttext(font, &pos, &fmt, "Bottom left");
     
    576576                goto error;
    577577
    578         pos.x = (rect.p0.x + rect.p1.x) / 2;
    579         pos.y = rect.p1.y;
     578        pos.x = (rect.p0.x + rect.p1.x - 1) / 2;
     579        pos.y = rect.p1.y - 1;
    580580        fmt.halign = gfx_halign_center;
    581581        rc = gfx_puttext(font, &pos, &fmt, "Bottom center");
     
    583583                goto error;
    584584
    585         pos.x = rect.p1.x;
    586         pos.y = rect.p1.y;
     585        pos.x = rect.p1.x - 1;
     586        pos.y = rect.p1.y - 1;
    587587        fmt.halign = gfx_halign_right;
    588588        rc = gfx_puttext(font, &pos, &fmt, "Bottom right");
  • uspace/lib/gfxfont/include/types/gfx/text.h

    r74f59b7 r8bf9058  
    5858        gfx_valign_center,
    5959        /** Align bottom */
    60         gfx_valign_bottom
     60        gfx_valign_bottom,
     61        /** Align to baseline */
     62        gfx_valign_baseline
    6163} gfx_valign_t;
    6264
  • uspace/lib/gfxfont/src/text.c

    r74f59b7 r8bf9058  
    123123
    124124        /* Adjust position for vertical alignment */
    125         if (fmt->valign != gfx_valign_bottom) {
    126                 gfx_font_get_metrics(font, &fmetrics);
     125        gfx_font_get_metrics(font, &fmetrics);
    127126
     127        if (fmt->valign != gfx_valign_baseline) {
    128128                switch (fmt->valign) {
    129129                case gfx_valign_top:
     
    133133                        cpos.y += fmetrics.ascent / 2;
    134134                        break;
     135                case gfx_valign_bottom:
     136                        cpos.y -= fmetrics.descent;
     137                        break;
    135138                default:
    136139                        break;
Note: See TracChangeset for help on using the changeset viewer.