Changeset 8a9a41e in mainline for uspace/app/uidemo/uidemo.c


Ignore:
Timestamp:
2021-10-24T08:28:43Z (3 years ago)
Author:
GitHub <noreply@…>
Children:
f628215
Parents:
2ce943a (diff), cd981f2a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Erik Kučák <35500848+Riko196@…> (2021-10-24 08:28:43)
git-committer:
GitHub <noreply@…> (2021-10-24 08:28:43)
Message:

Merge branch 'HelenOS:master' into master

File:
1 edited

Legend:

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

    r2ce943a r8a9a41e  
    4040#include <str.h>
    4141#include <ui/entry.h>
     42#include <ui/filedialog.h>
    4243#include <ui/fixed.h>
    4344#include <ui/image.h>
     
    4849#include <ui/msgdialog.h>
    4950#include <ui/pbutton.h>
     51#include <ui/promptdialog.h>
    5052#include <ui/resource.h>
    5153#include <ui/ui.h>
     
    8587};
    8688
     89static void uidemo_file_load(ui_menu_entry_t *, void *);
    8790static void uidemo_file_message(ui_menu_entry_t *, void *);
    8891static void uidemo_file_exit(ui_menu_entry_t *, void *);
     92static void uidemo_edit_modify(ui_menu_entry_t *, void *);
     93
     94static void file_dialog_bok(ui_file_dialog_t *, void *, const char *);
     95static void file_dialog_bcancel(ui_file_dialog_t *, void *);
     96static void file_dialog_close(ui_file_dialog_t *, void *);
     97
     98static ui_file_dialog_cb_t file_dialog_cb = {
     99        .bok = file_dialog_bok,
     100        .bcancel = file_dialog_bcancel,
     101        .close = file_dialog_close
     102};
     103
     104static void prompt_dialog_bok(ui_prompt_dialog_t *, void *, const char *);
     105static void prompt_dialog_bcancel(ui_prompt_dialog_t *, void *);
     106static void prompt_dialog_close(ui_prompt_dialog_t *, void *);
     107
     108static ui_prompt_dialog_cb_t prompt_dialog_cb = {
     109        .bok = prompt_dialog_bok,
     110        .bcancel = prompt_dialog_bcancel,
     111        .close = prompt_dialog_close
     112};
    89113
    90114static void msg_dialog_button(ui_msg_dialog_t *, void *, unsigned);
     
    96120};
    97121
     122/** Horizontal alignment selected by each radio button */
     123static const gfx_halign_t uidemo_halign[3] = {
     124        gfx_halign_left,
     125        gfx_halign_center,
     126        gfx_halign_right
     127};
     128
    98129/** Window close button was clicked.
    99130 *
     
    122153                if (rc != EOK)
    123154                        printf("Error changing entry text.\n");
    124                 (void) ui_entry_paint(demo->entry);
    125155        } else {
    126156                rc = ui_entry_set_text(demo->entry, "Cancel pressed");
    127157                if (rc != EOK)
    128158                        printf("Error changing entry text.\n");
    129                 (void) ui_entry_paint(demo->entry);
    130159        }
    131160}
     
    139168{
    140169        ui_demo_t *demo = (ui_demo_t *) arg;
    141         errno_t rc;
    142 
    143         if (enable) {
    144                 rc = ui_entry_set_text(demo->entry, "Checked");
    145                 if (rc != EOK)
    146                         printf("Error changing entry text.\n");
    147                 (void) ui_entry_paint(demo->entry);
    148         } else {
    149                 rc = ui_entry_set_text(demo->entry, "Unchecked");
    150                 if (rc != EOK)
    151                         printf("Error changing entry text.\n");
    152                 (void) ui_entry_paint(demo->entry);
    153         }
     170
     171        ui_entry_set_read_only(demo->entry, enable);
    154172}
    155173
     
    163181{
    164182        ui_demo_t *demo = (ui_demo_t *) garg;
    165         const char *text = (const char *) barg;
    166         errno_t rc;
    167 
    168         rc = ui_entry_set_text(demo->entry, text);
    169         if (rc != EOK)
    170                 printf("Error changing entry text.\n");
     183        gfx_halign_t halign = *(gfx_halign_t *) barg;
     184
     185        ui_entry_set_halign(demo->entry, halign);
    171186        (void) ui_entry_paint(demo->entry);
    172187}
     
    200215}
    201216
    202 /** File/message menu entry selected.
    203  *
    204  * @param mentry Menu entry
    205  * @param arg Argument (demo)
    206  */
    207 static void uidemo_file_message(ui_menu_entry_t *mentry, void *arg)
    208 {
    209         ui_demo_t *demo = (ui_demo_t *) arg;
     217/** Display a message window.
     218 *
     219 * @param demo UI demo
     220 * @param caption Window caption
     221 * @param text Message text
     222 */
     223static void uidemo_show_message(ui_demo_t *demo, const char *caption,
     224    const char *text)
     225{
    210226        ui_msg_dialog_params_t mdparams;
    211227        ui_msg_dialog_t *dialog;
     
    213229
    214230        ui_msg_dialog_params_init(&mdparams);
     231        mdparams.caption = caption;
     232        mdparams.text = text;
     233
     234        rc = ui_msg_dialog_create(demo->ui, &mdparams, &dialog);
     235        if (rc != EOK) {
     236                printf("Error creating message dialog.\n");
     237                return;
     238        }
     239
     240        ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo);
     241}
     242
     243/** File / Load menu entry selected.
     244 *
     245 * @param mentry Menu entry
     246 * @param arg Argument (demo)
     247 */
     248static void uidemo_file_load(ui_menu_entry_t *mentry, void *arg)
     249{
     250        ui_demo_t *demo = (ui_demo_t *) arg;
     251        ui_file_dialog_params_t fdparams;
     252        ui_file_dialog_t *dialog;
     253        errno_t rc;
     254
     255        ui_file_dialog_params_init(&fdparams);
     256        fdparams.caption = "Load File";
     257
     258        rc = ui_file_dialog_create(demo->ui, &fdparams, &dialog);
     259        if (rc != EOK) {
     260                printf("Error creating message dialog.\n");
     261                return;
     262        }
     263
     264        ui_file_dialog_set_cb(dialog, &file_dialog_cb, demo);
     265}
     266
     267/** File / Message menu entry selected.
     268 *
     269 * @param mentry Menu entry
     270 * @param arg Argument (demo)
     271 */
     272static void uidemo_file_message(ui_menu_entry_t *mentry, void *arg)
     273{
     274        ui_demo_t *demo = (ui_demo_t *) arg;
     275        ui_msg_dialog_params_t mdparams;
     276        ui_msg_dialog_t *dialog;
     277        errno_t rc;
     278
     279        ui_msg_dialog_params_init(&mdparams);
    215280        mdparams.caption = "Message For You";
    216281        mdparams.text = "Hello, world!";
     
    223288
    224289        ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo);
    225 
    226 }
    227 
    228 /** File/exit menu entry selected.
     290}
     291
     292/** File / Exit menu entry selected.
    229293 *
    230294 * @param mentry Menu entry
     
    236300
    237301        ui_quit(demo->ui);
     302}
     303
     304/** Edit / Modify menu entry selected.
     305 *
     306 * @param mentry Menu entry
     307 * @param arg Argument (demo)
     308 */
     309static void uidemo_edit_modify(ui_menu_entry_t *mentry, void *arg)
     310{
     311        ui_demo_t *demo = (ui_demo_t *) arg;
     312        ui_prompt_dialog_params_t pdparams;
     313        ui_prompt_dialog_t *dialog;
     314        errno_t rc;
     315
     316        ui_prompt_dialog_params_init(&pdparams);
     317        pdparams.caption = "Modify Entry Text";
     318        pdparams.prompt = "Enter New Text";
     319
     320        rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog);
     321        if (rc != EOK) {
     322                printf("Error creating message dialog.\n");
     323                return;
     324        }
     325
     326        ui_prompt_dialog_set_cb(dialog, &prompt_dialog_cb, demo);
     327}
     328
     329/** File dialog OK button press.
     330 *
     331 * @param dialog File dialog
     332 * @param arg Argument (ui_demo_t *)
     333 * @param fname File name
     334 */
     335static void file_dialog_bok(ui_file_dialog_t *dialog, void *arg,
     336    const char *fname)
     337{
     338        ui_demo_t *demo = (ui_demo_t *) arg;
     339        char buf[128];
     340        char *p;
     341        FILE *f;
     342
     343        ui_file_dialog_destroy(dialog);
     344
     345        f = fopen(fname, "rt");
     346        if (f == NULL) {
     347                uidemo_show_message(demo, "Error", "Error opening file.");
     348                return;
     349        }
     350
     351        p = fgets(buf, sizeof(buf), f);
     352        if (p == NULL) {
     353                uidemo_show_message(demo, "Error", "Error reading file.");
     354                fclose(f);
     355                return;
     356        }
     357
     358        /* Cut string off at the first non-printable character */
     359        p = buf;
     360        while (*p != '\0') {
     361                if (*p < ' ') {
     362                        *p = '\0';
     363                        break;
     364                }
     365                ++p;
     366        }
     367
     368        ui_entry_set_text(demo->entry, buf);
     369        fclose(f);
     370}
     371
     372/** File dialog cancel button press.
     373 *
     374 * @param dialog File dialog
     375 * @param arg Argument (ui_demo_t *)
     376 */
     377static void file_dialog_bcancel(ui_file_dialog_t *dialog, void *arg)
     378{
     379        ui_demo_t *demo = (ui_demo_t *) arg;
     380
     381        (void) demo;
     382        ui_file_dialog_destroy(dialog);
     383}
     384
     385/** File dialog close request.
     386 *
     387 * @param dialog File dialog
     388 * @param arg Argument (ui_demo_t *)
     389 */
     390static void file_dialog_close(ui_file_dialog_t *dialog, void *arg)
     391{
     392        ui_demo_t *demo = (ui_demo_t *) arg;
     393
     394        (void) demo;
     395        ui_file_dialog_destroy(dialog);
     396}
     397
     398/** Prompt dialog OK button press.
     399 *
     400 * @param dialog Prompt dialog
     401 * @param arg Argument (ui_demo_t *)
     402 * @param text Submitted text
     403 */
     404static void prompt_dialog_bok(ui_prompt_dialog_t *dialog, void *arg,
     405    const char *text)
     406{
     407        ui_demo_t *demo = (ui_demo_t *) arg;
     408
     409        ui_prompt_dialog_destroy(dialog);
     410        ui_entry_set_text(demo->entry, text);
     411}
     412
     413/** Prompt dialog cancel button press.
     414 *
     415 * @param dialog File dialog
     416 * @param arg Argument (ui_demo_t *)
     417 */
     418static void prompt_dialog_bcancel(ui_prompt_dialog_t *dialog, void *arg)
     419{
     420        ui_demo_t *demo = (ui_demo_t *) arg;
     421
     422        (void) demo;
     423        ui_prompt_dialog_destroy(dialog);
     424}
     425
     426/** Prompt dialog close request.
     427 *
     428 * @param dialog File dialog
     429 * @param arg Argument (ui_demo_t *)
     430 */
     431static void prompt_dialog_close(ui_prompt_dialog_t *dialog, void *arg)
     432{
     433        ui_demo_t *demo = (ui_demo_t *) arg;
     434
     435        (void) demo;
     436        ui_prompt_dialog_destroy(dialog);
    238437}
    239438
     
    280479        gfx_coord2_t off;
    281480        ui_menu_entry_t *mmsg;
     481        ui_menu_entry_t *mload;
    282482        ui_menu_entry_t *mfoo;
    283483        ui_menu_entry_t *mbar;
    284484        ui_menu_entry_t *mfoobar;
     485        ui_menu_entry_t *msep;
    285486        ui_menu_entry_t *mexit;
     487        ui_menu_entry_t *mmodify;
    286488        ui_menu_entry_t *mabout;
    287489        errno_t rc;
     
    304506                params.rect.p0.x = 0;
    305507                params.rect.p0.y = 0;
    306                 params.rect.p1.x = 80;
    307                 params.rect.p1.y = 25;
     508                params.rect.p1.x = 44;
     509                params.rect.p1.y = 21;
    308510        } else {
    309511                params.rect.p0.x = 0;
     
    351553        ui_menu_entry_set_cb(mmsg, uidemo_file_message, (void *) &demo);
    352554
     555        rc = ui_menu_entry_create(demo.mfile, "Load", "", &mload);
     556        if (rc != EOK) {
     557                printf("Error creating menu.\n");
     558                return rc;
     559        }
     560
     561        ui_menu_entry_set_cb(mload, uidemo_file_load, (void *) &demo);
     562
    353563        rc = ui_menu_entry_create(demo.mfile, "Foo", "Ctrl-Alt-Del", &mfoo);
    354564        if (rc != EOK) {
     
    369579        }
    370580
    371         rc = ui_menu_entry_sep_create(demo.mfile, &mexit);
     581        rc = ui_menu_entry_sep_create(demo.mfile, &msep);
    372582        if (rc != EOK) {
    373583                printf("Error creating menu.\n");
     
    389599        }
    390600
     601        rc = ui_menu_entry_create(demo.medit, "Modify", "", &mmodify);
     602        if (rc != EOK) {
     603                printf("Error creating menu.\n");
     604                return rc;
     605        }
     606
     607        ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo);
     608
    391609        rc = ui_menu_create(demo.mbar, "Preferences", &demo.mpreferences);
    392610        if (rc != EOK) {
     
    410628        if (ui_is_textmode(ui)) {
    411629                rect.p0.x = 1;
    412                 rect.p0.y = 2;
    413                 rect.p1.x = 79;
    414                 rect.p1.y = 3;
     630                rect.p0.y = 1;
     631                rect.p1.x = 43;
     632                rect.p1.y = 2;
    415633        } else {
    416634                rect.p0.x = 4;
     
    433651        }
    434652
    435         rect.p0.x = 15;
    436         rect.p0.y = 53;
    437         rect.p1.x = 205;
    438         rect.p1.y = 78;
     653        /* FIXME: Auto layout */
     654        if (ui_is_textmode(ui)) {
     655                rect.p0.x = 2;
     656                rect.p0.y = 3;
     657                rect.p1.x = 42;
     658                rect.p1.y = 4;
     659        } else {
     660                rect.p0.x = 15;
     661                rect.p0.y = 53;
     662                rect.p1.x = 205;
     663                rect.p1.y = 78;
     664        }
     665
    439666        ui_entry_set_rect(demo.entry, &rect);
    440667        ui_entry_set_halign(demo.entry, gfx_halign_center);
     
    452679        }
    453680
    454         rect.p0.x = 60;
    455         rect.p0.y = 88;
    456         rect.p1.x = 160;
    457         rect.p1.y = 101;
     681        /* FIXME: Auto layout */
     682        if (ui_is_textmode(ui)) {
     683                rect.p0.x = 2;
     684                rect.p0.y = 5;
     685                rect.p1.x = 42;
     686                rect.p1.y = 6;
     687        } else {
     688                rect.p0.x = 60;
     689                rect.p0.y = 88;
     690                rect.p1.x = 160;
     691                rect.p1.y = 101;
     692        }
     693
    458694        ui_label_set_rect(demo.label, &rect);
    459695        ui_label_set_halign(demo.label, gfx_halign_center);
     
    473709        ui_pbutton_set_cb(demo.pb1, &pbutton_cb, (void *) &demo);
    474710
    475         rect.p0.x = 15;
    476         rect.p0.y = 111;
    477         rect.p1.x = 105;
    478         rect.p1.y = 139;
     711        /* FIXME: Auto layout */
     712        if (ui_is_textmode(ui)) {
     713                rect.p0.x = 2;
     714                rect.p0.y = 7;
     715                rect.p1.x = 12;
     716                rect.p1.y = 8;
     717        } else {
     718                rect.p0.x = 15;
     719                rect.p0.y = 111;
     720                rect.p1.x = 105;
     721                rect.p1.y = 139;
     722        }
     723
    479724        ui_pbutton_set_rect(demo.pb1, &rect);
    480725
     
    495740        ui_pbutton_set_cb(demo.pb2, &pbutton_cb, (void *) &demo);
    496741
    497         rect.p0.x = 115;
    498         rect.p0.y = 111;
    499         rect.p1.x = 205;
    500         rect.p1.y = 139;
     742        if (ui_is_textmode(ui)) {
     743                rect.p0.x = 32;
     744                rect.p0.y = 7;
     745                rect.p1.x = 42;
     746                rect.p1.y = 8;
     747        } else {
     748                rect.p0.x = 115;
     749                rect.p0.y = 111;
     750                rect.p1.x = 205;
     751                rect.p1.y = 139;
     752        }
     753
    501754        ui_pbutton_set_rect(demo.pb2, &rect);
    502755
     
    508761
    509762        gfx_bitmap_params_init(&bparams);
    510         bparams.rect.p0.x = 0;
    511         bparams.rect.p0.y = 0;
    512         bparams.rect.p1.x = 188;
    513         bparams.rect.p1.y = 24;
     763        if (ui_is_textmode(ui)) {
     764                bparams.rect.p0.x = 0;
     765                bparams.rect.p0.y = 0;
     766                bparams.rect.p1.x = 40;
     767                bparams.rect.p1.y = 2;
     768        } else {
     769                bparams.rect.p0.x = 0;
     770                bparams.rect.p0.y = 0;
     771                bparams.rect.p1.x = 188;
     772                bparams.rect.p1.y = 24;
     773        }
    514774
    515775        rc = gfx_bitmap_create(gc, &bparams, NULL, &bitmap);
     
    527787        }
    528788
    529         off.x = 15;
    530         off.y = 155;
     789        if (ui_is_textmode(ui)) {
     790                off.x = 2;
     791                off.y = 9;
     792        } else {
     793                off.x = 15;
     794                off.y = 155;
     795        }
     796
    531797        gfx_rect_translate(&off, &bparams.rect, &rect);
    532798
    533799        /* Adjust for frame width (2 x 1 pixel) */
    534         rect.p1.x += 2;
    535         rect.p1.y += 2;
     800        if (!ui_is_textmode(ui)) {
     801                ui_image_set_flags(demo.image, ui_imgf_frame);
     802                rect.p1.x += 2;
     803                rect.p1.y += 2;
     804        }
     805
    536806        ui_image_set_rect(demo.image, &rect);
    537         ui_image_set_flags(demo.image, ui_imgf_frame);
    538807
    539808        rc = ui_fixed_add(demo.fixed, ui_image_ctl(demo.image));
     
    543812        }
    544813
    545         rc = ui_checkbox_create(ui_res, "Check me", &demo.checkbox);
     814        rc = ui_checkbox_create(ui_res, "Read only", &demo.checkbox);
    546815        if (rc != EOK) {
    547816                printf("Error creating check box.\n");
     
    551820        ui_checkbox_set_cb(demo.checkbox, &checkbox_cb, (void *) &demo);
    552821
    553         rect.p0.x = 15;
    554         rect.p0.y = 190;
    555         rect.p1.x = 140;
    556         rect.p1.y = 210;
     822        /* FIXME: Auto layout */
     823        if (ui_is_textmode(ui)) {
     824                rect.p0.x = 2;
     825                rect.p0.y = 12;
     826                rect.p1.x = 12;
     827                rect.p1.y = 13;
     828        } else {
     829                rect.p0.x = 15;
     830                rect.p0.y = 190;
     831                rect.p1.x = 140;
     832                rect.p1.y = 210;
     833        }
     834
    557835        ui_checkbox_set_rect(demo.checkbox, &rect);
    558836
     
    569847        }
    570848
    571         rc = ui_rbutton_create(demo.rbgroup, "Option 1", (void *) "First",
    572             &demo.rb1);
     849        rc = ui_rbutton_create(demo.rbgroup, "Left", (void *) &uidemo_halign[0],
     850            &demo.rbleft);
    573851        if (rc != EOK) {
    574852                printf("Error creating radio button.\n");
     
    579857            (void *) &demo);
    580858
    581         rect.p0.x = 15;
    582         rect.p0.y = 220;
    583         rect.p1.x = 140;
    584         rect.p1.y = 240;
    585         ui_rbutton_set_rect(demo.rb1, &rect);
    586 
    587         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb1));
     859        /* FIXME: Auto layout */
     860        if (ui_is_textmode(ui)) {
     861                rect.p0.x = 2;
     862                rect.p0.y = 14;
     863                rect.p1.x = 12;
     864                rect.p1.y = 15;
     865        } else {
     866                rect.p0.x = 15;
     867                rect.p0.y = 220;
     868                rect.p1.x = 140;
     869                rect.p1.y = 240;
     870        }
     871        ui_rbutton_set_rect(demo.rbleft, &rect);
     872
     873        rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbleft));
    588874        if (rc != EOK) {
    589875                printf("Error adding control to layout.\n");
     
    591877        }
    592878
    593         rc = ui_rbutton_create(demo.rbgroup, "Option 2", (void *) "Second",
    594             &demo.rb2);
     879        rc = ui_rbutton_create(demo.rbgroup, "Center", (void *) &uidemo_halign[1],
     880            &demo.rbcenter);
    595881        if (rc != EOK) {
    596882                printf("Error creating radio button.\n");
     
    598884        }
    599885
    600         rect.p0.x = 15;
    601         rect.p0.y = 250;
    602         rect.p1.x = 140;
    603         rect.p1.y = 270;
    604         ui_rbutton_set_rect(demo.rb2, &rect);
    605 
    606         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb2));
     886        /* FIXME: Auto layout */
     887        if (ui_is_textmode(ui)) {
     888                rect.p0.x = 2;
     889                rect.p0.y = 15;
     890                rect.p1.x = 12;
     891                rect.p1.y = 16;
     892        } else {
     893                rect.p0.x = 15;
     894                rect.p0.y = 250;
     895                rect.p1.x = 140;
     896                rect.p1.y = 270;
     897        }
     898        ui_rbutton_set_rect(demo.rbcenter, &rect);
     899        ui_rbutton_select(demo.rbcenter);
     900
     901        rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbcenter));
    607902        if (rc != EOK) {
    608903                printf("Error adding control to layout.\n");
     
    610905        }
    611906
    612         rc = ui_rbutton_create(demo.rbgroup, "Option 3", (void *) "Third",
    613             &demo.rb3);
     907        rc = ui_rbutton_create(demo.rbgroup, "Right", (void *) &uidemo_halign[2],
     908            &demo.rbright);
    614909        if (rc != EOK) {
    615910                printf("Error creating radio button.\n");
     
    617912        }
    618913
    619         rect.p0.x = 15;
    620         rect.p0.y = 280;
    621         rect.p1.x = 140;
    622         rect.p1.y = 300;
    623         ui_rbutton_set_rect(demo.rb3, &rect);
    624 
    625         rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb3));
     914        /* FIXME: Auto layout */
     915        if (ui_is_textmode(ui)) {
     916                rect.p0.x = 2;
     917                rect.p0.y = 16;
     918                rect.p1.x = 12;
     919                rect.p1.y = 17;
     920        } else {
     921                rect.p0.x = 15;
     922                rect.p0.y = 280;
     923                rect.p1.x = 140;
     924                rect.p1.y = 300;
     925        }
     926        ui_rbutton_set_rect(demo.rbright, &rect);
     927
     928        rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rbright));
    626929        if (rc != EOK) {
    627930                printf("Error adding control to layout.\n");
     
    637940        ui_slider_set_cb(demo.slider, &slider_cb, (void *) &demo);
    638941
    639         rect.p0.x = 15;
    640         rect.p0.y = 310;
    641         rect.p1.x = 130;
    642         rect.p1.y = 330;
     942        /* FIXME: Auto layout */
     943        if (ui_is_textmode(ui)) {
     944                rect.p0.x = 2;
     945                rect.p0.y = 18;
     946                rect.p1.x = 12;
     947                rect.p1.y = 19;
     948        } else {
     949                rect.p0.x = 15;
     950                rect.p0.y = 310;
     951                rect.p1.x = 130;
     952                rect.p1.y = 330;
     953        }
     954
    643955        ui_slider_set_rect(demo.slider, &rect);
    644956
     
    6931005                        k = i * i + j * j;
    6941006                        pixelmap_put_pixel(&pixelmap, i, j,
    695                             PIXEL(255, k, k, 255 - k));
     1007                            PIXEL(0, k, k, 255 - k));
    6961008                }
    6971009        }
Note: See TracChangeset for help on using the changeset viewer.