Ignore:
File:
1 edited

Legend:

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

    rd0dfbba r8165a7a  
    11/*
    2  * Copyright (c) 2026 Jiri Svoboda
     2 * Copyright (c) 2025 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    3636#include <display.h>
    3737#include <fibril.h>
    38 #include <fibril_synch.h>
    3938#include <gfx/bitmap.h>
    4039#include <gfx/color.h>
     
    6261};
    6362
    64 static void uiwnd_resize_event(ui_window_t *, void *);
    6563static void uiwnd_close_event(ui_window_t *, void *);
    6664static void uiwnd_kbd_event(ui_window_t *, void *, kbd_event_t *);
    6765
    6866static ui_window_cb_t ui_window_cb = {
    69         .resize = uiwnd_resize_event,
    7067        .close = uiwnd_close_event,
    7168        .kbd = uiwnd_kbd_event
     
    8279static console_ctrl_t *con = NULL;
    8380static bool textmode;
    84 static console_gc_t *cgc = NULL;
    85 static unsigned scr_width, scr_height;
    8681static ui_t *ui;
    8782
     
    10499        usec_t usec;
    105100        cons_event_t cevent;
    106         sysarg_t cols, rows;
    107101
    108102        if (ui != NULL)
     
    119113                                                demo_kbd_event(&cevent.ev.key);
    120114                                                fibril_mutex_lock(&quit_lock);
    121                                         } else if (cevent.type == CEV_RESIZE) {
    122                                                 rc = console_get_size(con,
    123                                                     &cols, &rows);
    124                                                 if (rc == EOK) {
    125                                                         scr_width = cols;
    126                                                         scr_height = rows;
    127                                                 }
    128                                                 rc = console_gc_resize(cgc);
    129                                                 if (rc != EOK)
    130                                                         exit(1);
    131115                                        }
    132116                                }
     
    10401024 *
    10411025 * @param gc Graphic context
    1042  */
    1043 static errno_t demo_loop(gfx_context_t *gc)
    1044 {
    1045         errno_t rc;
    1046 
    1047         (void) demo_font_init(gc, scr_width, scr_height);
     1026 * @param w Width
     1027 * @param h Height
     1028 */
     1029static errno_t demo_loop(gfx_context_t *gc, gfx_coord_t w, gfx_coord_t h)
     1030{
     1031        errno_t rc;
     1032
     1033        (void) demo_font_init(gc, w, h);
    10481034
    10491035        while (!quit) {
    1050                 rc = demo_rects(gc, scr_width, scr_height);
    1051                 if (rc != EOK)
    1052                         goto error;
    1053 
    1054                 rc = demo_bitmap(gc, scr_width, scr_height);
    1055                 if (rc != EOK)
    1056                         goto error;
    1057 
    1058                 rc = demo_bitmap2(gc, scr_width, scr_height);
    1059                 if (rc != EOK)
    1060                         goto error;
    1061 
    1062                 rc = demo_bitmap_kc(gc, scr_width, scr_height);
    1063                 if (rc != EOK)
    1064                         goto error;
    1065 
    1066                 rc = demo_text(gc, scr_width, scr_height);
    1067                 if (rc != EOK)
    1068                         goto error;
    1069 
    1070                 rc = demo_text_abbr(gc, scr_width, scr_height);
    1071                 if (rc != EOK)
    1072                         goto error;
    1073 
    1074                 rc = demo_clip(gc, scr_width, scr_height);
     1036                rc = demo_rects(gc, w, h);
     1037                if (rc != EOK)
     1038                        goto error;
     1039
     1040                rc = demo_bitmap(gc, w, h);
     1041                if (rc != EOK)
     1042                        goto error;
     1043
     1044                rc = demo_bitmap2(gc, w, h);
     1045                if (rc != EOK)
     1046                        goto error;
     1047
     1048                rc = demo_bitmap_kc(gc, w, h);
     1049                if (rc != EOK)
     1050                        goto error;
     1051
     1052                rc = demo_text(gc, w, h);
     1053                if (rc != EOK)
     1054                        goto error;
     1055
     1056                rc = demo_text_abbr(gc, w, h);
     1057                if (rc != EOK)
     1058                        goto error;
     1059
     1060                rc = demo_clip(gc, w, h);
    10751061                if (rc != EOK)
    10761062                        goto error;
     
    10871073static errno_t demo_console(void)
    10881074{
     1075        console_gc_t *cgc = NULL;
    10891076        gfx_context_t *gc;
    10901077        sysarg_t cols, rows;
     
    11081095        textmode = true;
    11091096
    1110         scr_width = cols;
    1111         scr_height = rows;
    1112 
    1113         rc = demo_loop(gc);
     1097        rc = demo_loop(gc, cols, rows);
    11141098        if (rc != EOK)
    11151099                return rc;
     
    11281112
    11291113        ui_lock(args->ui);
    1130         scr_width = args->dims.x;
    1131         scr_height = args->dims.y;
    1132         rc = demo_loop(args->gc);
     1114        rc = demo_loop(args->gc, args->dims.x, args->dims.y);
    11331115        ui_unlock(args->ui);
    11341116        ui_quit(args->ui);
     
    11721154
    11731155        /* Do not decorate the window in fullscreen mode */
    1174         if (ui_is_fullscreen(ui)) {
     1156        if (ui_is_fullscreen(ui))
    11751157                params.style &= ~ui_wds_decorated;
    1176                 params.placement = ui_wnd_place_full_screen;
    1177         }
    11781158
    11791159        /*
     
    12791259        textmode = false;
    12801260
    1281         scr_width = 400;
    1282         scr_height = 300;
    1283         rc = demo_loop(gc);
     1261        rc = demo_loop(gc, 400, 300);
    12841262        if (rc != EOK)
    12851263                return rc;
     
    13331311        (void)arg;
    13341312        demo_kbd_event(event);
    1335 }
    1336 
    1337 static void uiwnd_resize_event(ui_window_t *window, void *arg)
    1338 {
    1339         gfx_rect_t rect;
    1340         gfx_coord2_t dims;
    1341 
    1342         ui_window_get_app_rect(window, &rect);
    1343         gfx_rect_dims(&rect, &dims);
    1344         scr_width = dims.x;
    1345         scr_height = dims.y;
    13461313}
    13471314
Note: See TracChangeset for help on using the changeset viewer.