Changeset 3c54869 in mainline for uspace/lib/ui/src


Ignore:
Timestamp:
2023-01-04T20:24:44Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5d86797
Parents:
cdd6fc9
Message:

Highlight active window in task bar

Location:
uspace/lib/ui/src
Files:
2 edited

Legend:

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

    rcdd6fc9 r3c54869  
    11/*
    2  * Copyright (c) 2022 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    188188}
    189189
     190/** Get button light status.
     191 *
     192 * @param pbutton Button
     193 * @return @c true iff light is on
     194 */
     195bool ui_pbutton_get_light(ui_pbutton_t *pbutton)
     196{
     197        return pbutton->light;
     198}
     199
     200/** Turn button light on or off.
     201 *
     202 * @param pbutton Button
     203 * @param light @c true iff button should be lit
     204 */
     205void ui_pbutton_set_light(ui_pbutton_t *pbutton, bool light)
     206{
     207        pbutton->light = light;
     208}
     209
    190210/** Set push button caption.
    191211 *
     
    327347        gfx_rect_t irect;
    328348        gfx_coord_t thickness;
     349        gfx_color_t *color;
    329350        bool depressed;
    330351        errno_t rc;
     
    338359        rect.p1.y = pbutton->rect.p1.y - thickness;
    339360
    340         rc = gfx_set_color(pbutton->res->gc, pbutton->res->btn_face_color);
     361        color = pbutton->light ? pbutton->res->btn_face_lit_color :
     362            pbutton->res->btn_face_color;
     363
     364        rc = gfx_set_color(pbutton->res->gc, color);
    341365        if (rc != EOK)
    342366                goto error;
  • uspace/lib/ui/src/resource.c

    rcdd6fc9 r3c54869  
    11/*
    2  * Copyright (c) 2022 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    6262        gfx_color_t *btn_frame_color = NULL;
    6363        gfx_color_t *btn_face_color = NULL;
     64        gfx_color_t *btn_face_lit_color = NULL;
    6465        gfx_color_t *btn_text_color = NULL;
    6566        gfx_color_t *btn_highlight_color = NULL;
     
    114115                goto error;
    115116
     117        rc = gfx_color_new_rgb_i16(0xe8e8, 0xe8e8, 0xe8e8, &btn_face_lit_color);
     118        if (rc != EOK)
     119                goto error;
     120
    116121        rc = gfx_color_new_rgb_i16(0, 0, 0, &btn_text_color);
    117122        if (rc != EOK)
     
    227232        resource->btn_frame_color = btn_frame_color;
    228233        resource->btn_face_color = btn_face_color;
     234        resource->btn_face_lit_color = btn_face_lit_color;
    229235        resource->btn_text_color = btn_text_color;
    230236        resource->btn_highlight_color = btn_highlight_color;
     
    263269        if (btn_face_color != NULL)
    264270                gfx_color_delete(btn_face_color);
     271        if (btn_face_lit_color != NULL)
     272                gfx_color_delete(btn_face_lit_color);
    265273        if (btn_text_color != NULL)
    266274                gfx_color_delete(btn_text_color);
     
    336344        gfx_color_t *btn_frame_color = NULL;
    337345        gfx_color_t *btn_face_color = NULL;
     346        gfx_color_t *btn_face_lit_color = NULL;
    338347        gfx_color_t *btn_text_color = NULL;
    339348        gfx_color_t *btn_highlight_color = NULL;
     
    383392                goto error;
    384393
     394        rc = gfx_color_new_ega(0x30, &btn_face_lit_color);
     395        if (rc != EOK)
     396                goto error;
     397
    385398        rc = gfx_color_new_ega(0x20, &btn_text_color);
    386399        if (rc != EOK)
     
    486499        resource->btn_frame_color = btn_frame_color;
    487500        resource->btn_face_color = btn_face_color;
     501        resource->btn_face_lit_color = btn_face_lit_color;
    488502        resource->btn_text_color = btn_text_color;
    489503        resource->btn_highlight_color = btn_highlight_color;
     
    522536        if (btn_face_color != NULL)
    523537                gfx_color_delete(btn_face_color);
     538        if (btn_face_lit_color != NULL)
     539                gfx_color_delete(btn_face_lit_color);
    524540        if (btn_text_color != NULL)
    525541                gfx_color_delete(btn_text_color);
     
    607623        gfx_color_delete(resource->btn_frame_color);
    608624        gfx_color_delete(resource->btn_face_color);
     625        gfx_color_delete(resource->btn_face_lit_color);
    609626        gfx_color_delete(resource->btn_text_color);
    610627        gfx_color_delete(resource->btn_highlight_color);
Note: See TracChangeset for help on using the changeset viewer.