Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/ui/src/checkbox.c

    r806d761 r307d4d2  
    11/*
    2  * Copyright (c) 2024 Jiri Svoboda
     2 * Copyright (c) 2021 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    5252        checkbox_box_h = 16,
    5353        checkbox_label_margin = 8,
    54         checkbox_cross_n = 5,
    55         checkbox_cross_w = 2,
    56         checkbox_cross_h = 2
    5754};
    5855
     
    139136}
    140137
    141 /** Set check box rectangle.
    142  *
    143  * @param checkbox Check box
    144  * @param rect New check box rectangle
     138/** Set button rectangle.
     139 *
     140 * @param checkbox Button
     141 * @param rect New button rectangle
    145142 */
    146143void ui_checkbox_set_rect(ui_checkbox_t *checkbox, gfx_rect_t *rect)
    147144{
    148145        checkbox->rect = *rect;
    149 }
    150 
    151 /** Return if check box is checked.
    152  *
    153  * @param checkbox Check box
    154  * @return @c true iff check box is checked
    155  */
    156 bool ui_checkbox_get_checked(ui_checkbox_t *checkbox)
    157 {
    158         return checkbox->checked;
    159 }
    160 
    161 /** Set check box checked state.
    162  *
    163  * @param checkbox Check box
    164  * @param checked @c true iff checkbox should be checked
    165  */
    166 void ui_checkbox_set_checked(ui_checkbox_t *checkbox, bool checked)
    167 {
    168         checkbox->checked = checked;
    169146}
    170147
     
    211188
    212189        if (checkbox->checked) {
    213                 rc = gfx_set_color(checkbox->res->gc,
    214                     checkbox->res->entry_fg_color);
     190                box_center.x = (box_inside.p0.x + box_inside.p1.x) / 2;
     191                box_center.y = (box_inside.p0.y + box_inside.p1.y) / 2;
     192
     193                gfx_text_fmt_init(&fmt);
     194                fmt.color = checkbox->res->entry_fg_color;
     195                fmt.halign = gfx_halign_center;
     196                fmt.valign = gfx_valign_center;
     197
     198                rc = gfx_puttext(checkbox->res->font, &box_center, &fmt, "X");
    215199                if (rc != EOK)
    216200                        goto error;
    217 
    218                 box_center.x = (box_inside.p0.x + box_inside.p1.x) / 2 - 1;
    219                 box_center.y = (box_inside.p0.y + box_inside.p1.y) / 2 - 1;
    220 
    221                 rc = ui_paint_cross(checkbox->res->gc, &box_center,
    222                     checkbox_cross_n, checkbox_cross_w, checkbox_cross_h);
    223                 if (rc != EOK)
    224                         goto error;
    225201        }
    226202
     
    231207
    232208        gfx_text_fmt_init(&fmt);
    233         fmt.font = checkbox->res->font;
    234209        fmt.color = checkbox->res->wnd_text_color;
    235210        fmt.halign = gfx_halign_left;
    236211        fmt.valign = gfx_valign_center;
    237212
    238         rc = gfx_puttext(&pos, &fmt, checkbox->caption);
     213        rc = gfx_puttext(checkbox->res->font, &pos, &fmt, checkbox->caption);
    239214        if (rc != EOK)
    240215                goto error;
     
    269244
    270245        gfx_text_fmt_init(&fmt);
    271         fmt.font = checkbox->res->font;
    272246        fmt.color = depressed ? checkbox->res->entry_act_bg_color :
    273247            checkbox->res->wnd_text_color;
     
    275249        fmt.valign = gfx_valign_top;
    276250
    277         rc = gfx_puttext(&pos, &fmt, checkbox->checked ? "[X]" : "[ ]");
     251        rc = gfx_puttext(checkbox->res->font, &pos, &fmt,
     252            checkbox->checked ? "[X]" : "[ ]");
    278253        if (rc != EOK)
    279254                goto error;
     
    284259        fmt.color = checkbox->res->wnd_text_color;
    285260
    286         rc = gfx_puttext(&pos, &fmt, checkbox->caption);
     261        rc = gfx_puttext(checkbox->res->font, &pos, &fmt, checkbox->caption);
    287262        if (rc != EOK)
    288263                goto error;
     
    422397                }
    423398                break;
    424         case POS_DCLICK:
    425                 break;
    426399        }
    427400
Note: See TracChangeset for help on using the changeset viewer.