Changeset 06176e1 in mainline for uspace/lib/ui/src/window.c


Ignore:
Timestamp:
2022-12-20T12:31:44Z (3 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
4e7b0ad
Parents:
d46ac73
git-author:
Jiri Svoboda <jiri@…> (2022-12-19 18:31:30)
git-committer:
Jiri Svoboda <jiri@…> (2022-12-20 12:31:44)
Message:

Minimizing windows

File:
1 edited

Legend:

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

    rd46ac73 r06176e1  
    7474};
    7575
     76static void wd_minimize(ui_wdecor_t *, void *);
    7677static void wd_maximize(ui_wdecor_t *, void *);
    7778static void wd_unmaximize(ui_wdecor_t *, void *);
     
    8384
    8485static ui_wdecor_cb_t wdecor_cb = {
     86        .minimize = wd_minimize,
    8587        .maximize = wd_maximize,
    8688        .unmaximize = wd_unmaximize,
     
    917919}
    918920
     921/** Window decoration requested window minimization.
     922 *
     923 * @param wdecor Window decoration
     924 * @param arg Argument (window)
     925 */
     926static void wd_minimize(ui_wdecor_t *wdecor, void *arg)
     927{
     928        ui_window_t *window = (ui_window_t *) arg;
     929
     930        ui_window_send_minimize(window);
     931}
     932
    919933/** Window decoration requested window maximization.
    920934 *
     
    10411055}
    10421056
     1057/** Send window minimize event.
     1058 *
     1059 * @param window Window
     1060 */
     1061void ui_window_send_minimize(ui_window_t *window)
     1062{
     1063        if (window->cb != NULL && window->cb->maximize != NULL)
     1064                window->cb->minimize(window, window->arg);
     1065        else
     1066                ui_window_def_minimize(window);
     1067}
     1068
    10431069/** Send window maximize event.
    10441070 *
     
    11311157        else
    11321158                return ui_window_def_unfocus(window);
     1159}
     1160
     1161/** Default window minimize routine.
     1162 *
     1163 * @param window Window
     1164 * @return EOK on success or an error code
     1165 */
     1166errno_t ui_window_def_minimize(ui_window_t *window)
     1167{
     1168        errno_t rc;
     1169
     1170        if (window->dwindow != NULL) {
     1171                rc = display_window_minimize(window->dwindow);
     1172                if (rc != EOK)
     1173                        goto error;
     1174        }
     1175
     1176        return EOK;
     1177error:
     1178        return rc;
    11331179}
    11341180
Note: See TracChangeset for help on using the changeset viewer.