Changeset 211fd68 in mainline for uspace/app/barber/barber.c


Ignore:
Timestamp:
2024-03-08T10:41:31Z (10 months ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
master
Children:
0a411bbf
Parents:
cd27cd1
git-author:
Jiri Svoboda <jiri@…> (2024-03-07 18:41:21)
git-committer:
Jiri Svoboda <jiri@…> (2024-03-08 10:41:31)
Message:

Add text mode support to Barber

File:
1 edited

Legend:

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

    rcd27cd1 r211fd68  
    5050#include <ui/image.h>
    5151#include "images.h"
     52#include "images_tiny.h"
    5253
    5354#define NAME  "barber"
     
    6061#define MIN_LOAD  (LOAD_UNIT / 4)
    6162#define MAX_LOAD  (LOAD_UNIT / 3)
    62 
    63 #define FRAME_WIDTH   59
    64 #define FRAME_HEIGHT  192
    6563
    6664#define LED_PERIOD  1000000
     
    9795static unsigned int frame = 0;
    9896static unsigned int fps = MIN_FPS;
     97static gfx_coord_t frame_width;
     98static gfx_coord_t frame_height;
    9999
    100100static void led_timer_callback(void *);
     
    119119}
    120120
    121 static bool decode_frames(gfx_context_t *gc)
     121static bool decode_frames(gfx_context_t *gc, image_t *img)
    122122{
    123123        gfx_rect_t rect;
     
    125125
    126126        for (unsigned int i = 0; i < FRAMES; i++) {
    127                 rc = decode_tga_gz(gc, images[i].addr, images[i].size,
     127                rc = decode_tga_gz(gc, img[i].addr, img[i].size,
    128128                    &frame_bmp[i], &rect);
    129129                if (rc != EOK) {
     
    132132                }
    133133
    134                 (void) rect;
     134                (void)rect;
    135135        }
    136136
     
    238238        rect.p0.x = 0;
    239239        rect.p0.y = 0;
    240         rect.p1.x = FRAME_WIDTH;
    241         rect.p1.y = FRAME_HEIGHT;
     240        rect.p1.x = frame_width;
     241        rect.p1.y = frame_height;
    242242
    243243        ui_image_set_bmp(frame_img, frame_bmp[frame], &rect);
     
    299299int main(int argc, char *argv[])
    300300{
    301         const char *display_spec = UI_DISPLAY_DEFAULT;
     301        const char *display_spec = UI_ANY_DEFAULT;
    302302        barber_t barber;
    303303        ui_t *ui;
     
    310310        gfx_context_t *gc;
    311311        gfx_coord2_t off;
     312        image_t *img;
    312313        int i;
    313314
     
    355356        }
    356357
     358        if (ui_is_textmode(ui)) {
     359                frame_width = 10;
     360                frame_height = 16;
     361        } else {
     362                frame_width = 59;
     363                frame_height = 192;
     364        }
     365
    357366        rect.p0.x = 0;
    358367        rect.p0.y = 0;
    359         rect.p1.x = FRAME_WIDTH;
    360         rect.p1.y = FRAME_HEIGHT;
     368        rect.p1.x = frame_width;
     369        rect.p1.y = frame_height;
    361370
    362371        ui_wnd_params_init(&params);
     
    367376         * to rect
    368377         */
    369         ui_wdecor_rect_from_app(params.style, &rect, &wrect);
     378        ui_wdecor_rect_from_app(ui, params.style, &rect, &wrect);
    370379        off = wrect.p0;
    371380        gfx_rect_rtranslate(&off, &wrect, &params.rect);
     
    384393        ui_window_set_cb(window, &window_cb, (void *) &barber);
    385394
    386         if (!decode_frames(gc))
     395        img = ui_is_textmode(ui) ? image_tinys : images;
     396
     397        if (!decode_frames(gc, img))
    387398                return 1;
    388399
Note: See TracChangeset for help on using the changeset viewer.