Changes in uspace/app/uidemo/uidemo.c [9a07ee3:a977e37] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/uidemo/uidemo.c
r9a07ee3 ra977e37 1 1 /* 2 * Copyright (c) 202 4Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 40 40 #include <str.h> 41 41 #include <ui/entry.h> 42 #include <ui/filedialog.h>43 42 #include <ui/fixed.h> 44 43 #include <ui/image.h> 45 44 #include <ui/label.h> 46 #include <ui/list.h> 45 #include <ui/menubar.h> 46 #include <ui/menuentry.h> 47 47 #include <ui/menu.h> 48 #include <ui/menubar.h>49 #include <ui/menudd.h>50 #include <ui/menuentry.h>51 48 #include <ui/msgdialog.h> 52 49 #include <ui/pbutton.h> 53 #include <ui/promptdialog.h>54 50 #include <ui/resource.h> 55 #include <ui/selectdialog.h>56 #include <ui/tab.h>57 #include <ui/tabset.h>58 51 #include <ui/ui.h> 59 52 #include <ui/window.h> … … 92 85 }; 93 86 94 static void scrollbar_up(ui_scrollbar_t *, void *);95 static void scrollbar_down(ui_scrollbar_t *, void *);96 static void scrollbar_page_up(ui_scrollbar_t *, void *);97 static void scrollbar_page_down(ui_scrollbar_t *, void *);98 static void scrollbar_moved(ui_scrollbar_t *, void *, gfx_coord_t);99 100 static ui_scrollbar_cb_t scrollbar_cb = {101 .up = scrollbar_up,102 .down = scrollbar_down,103 .page_up = scrollbar_page_up,104 .page_down = scrollbar_page_down,105 .moved = scrollbar_moved106 };107 108 static void uidemo_file_load(ui_menu_entry_t *, void *);109 87 static void uidemo_file_message(ui_menu_entry_t *, void *); 110 static void uidemo_file_confirmation(ui_menu_entry_t *, void *);111 88 static void uidemo_file_exit(ui_menu_entry_t *, void *); 112 static void uidemo_edit_modify(ui_menu_entry_t *, void *);113 static void uidemo_edit_insert_character(ui_menu_entry_t *, void *);114 115 static void file_dialog_bok(ui_file_dialog_t *, void *, const char *);116 static void file_dialog_bcancel(ui_file_dialog_t *, void *);117 static void file_dialog_close(ui_file_dialog_t *, void *);118 119 static ui_file_dialog_cb_t file_dialog_cb = {120 .bok = file_dialog_bok,121 .bcancel = file_dialog_bcancel,122 .close = file_dialog_close123 };124 125 static void prompt_dialog_bok(ui_prompt_dialog_t *, void *, const char *);126 static void prompt_dialog_bcancel(ui_prompt_dialog_t *, void *);127 static void prompt_dialog_close(ui_prompt_dialog_t *, void *);128 129 static ui_prompt_dialog_cb_t prompt_dialog_cb = {130 .bok = prompt_dialog_bok,131 .bcancel = prompt_dialog_bcancel,132 .close = prompt_dialog_close133 };134 135 static void select_dialog_bok(ui_select_dialog_t *, void *, void *);136 static void select_dialog_bcancel(ui_select_dialog_t *, void *);137 static void select_dialog_close(ui_select_dialog_t *, void *);138 139 static ui_select_dialog_cb_t select_dialog_cb = {140 .bok = select_dialog_bok,141 .bcancel = select_dialog_bcancel,142 .close = select_dialog_close143 };144 89 145 90 static void msg_dialog_button(ui_msg_dialog_t *, void *, unsigned); … … 151 96 }; 152 97 153 /** Horizontal alignment selected by each radio button */154 static const gfx_halign_t uidemo_halign[3] = {155 gfx_halign_left,156 gfx_halign_center,157 gfx_halign_right158 };159 160 98 /** Window close button was clicked. 161 99 * … … 184 122 if (rc != EOK) 185 123 printf("Error changing entry text.\n"); 124 (void) ui_entry_paint(demo->entry); 186 125 } else { 187 126 rc = ui_entry_set_text(demo->entry, "Cancel pressed"); 188 127 if (rc != EOK) 189 128 printf("Error changing entry text.\n"); 129 (void) ui_entry_paint(demo->entry); 190 130 } 191 131 } … … 199 139 { 200 140 ui_demo_t *demo = (ui_demo_t *) arg; 201 202 ui_entry_set_read_only(demo->entry, enable); 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 } 203 154 } 204 155 … … 212 163 { 213 164 ui_demo_t *demo = (ui_demo_t *) garg; 214 gfx_halign_t halign = *(gfx_halign_t *) barg; 215 216 ui_entry_set_halign(demo->entry, halign); 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"); 217 171 (void) ui_entry_paint(demo->entry); 218 172 } … … 246 200 } 247 201 248 /** Scrollbar up button pressed. 249 * 250 * @param scrollbar Scrollbar 251 * @param arg Argument (demo) 252 */ 253 static void scrollbar_up(ui_scrollbar_t *scrollbar, void *arg) 254 { 255 gfx_coord_t pos; 256 257 pos = ui_scrollbar_get_pos(scrollbar); 258 ui_scrollbar_set_pos(scrollbar, pos - 1); 259 260 pos = ui_scrollbar_get_pos(scrollbar); 261 scrollbar_moved(scrollbar, arg, pos); 262 } 263 264 /** Scrollbar down button pressed. 265 * 266 * @param scrollbar Scrollbar 267 * @param arg Argument (demo) 268 */ 269 static void scrollbar_down(ui_scrollbar_t *scrollbar, void *arg) 270 { 271 gfx_coord_t pos; 272 273 pos = ui_scrollbar_get_pos(scrollbar); 274 ui_scrollbar_set_pos(scrollbar, pos + 1); 275 276 pos = ui_scrollbar_get_pos(scrollbar); 277 scrollbar_moved(scrollbar, arg, pos); 278 } 279 280 /** Scrollbar page up event. 281 * 282 * @param scrollbar Scrollbar 283 * @param arg Argument (demo) 284 */ 285 static void scrollbar_page_up(ui_scrollbar_t *scrollbar, void *arg) 286 { 287 gfx_coord_t pos; 288 289 pos = ui_scrollbar_get_pos(scrollbar); 290 ui_scrollbar_set_pos(scrollbar, pos - 291 ui_scrollbar_trough_length(scrollbar) / 4); 292 293 pos = ui_scrollbar_get_pos(scrollbar); 294 scrollbar_moved(scrollbar, arg, pos); 295 } 296 297 /** Scrollbar page down event. 298 * 299 * @param scrollbar Scrollbar 300 * @param arg Argument (demo) 301 */ 302 static void scrollbar_page_down(ui_scrollbar_t *scrollbar, void *arg) 303 { 304 gfx_coord_t pos; 305 306 pos = ui_scrollbar_get_pos(scrollbar); 307 ui_scrollbar_set_pos(scrollbar, pos + 308 ui_scrollbar_trough_length(scrollbar) / 4); 309 310 pos = ui_scrollbar_get_pos(scrollbar); 311 scrollbar_moved(scrollbar, arg, pos); 312 } 313 314 /** Scrollbar was moved. 315 * 316 * @param scrollbar Scrollbar 317 * @param arg Argument (demo) 318 * @param pos Position 319 */ 320 static void scrollbar_moved(ui_scrollbar_t *scrollbar, void *arg, 321 gfx_coord_t pos) 322 { 323 ui_demo_t *demo = (ui_demo_t *) arg; 324 char *str; 325 errno_t rc; 326 int rv; 327 328 rv = asprintf(&str, "Scrollbar: %d of %d", (int) pos, 329 ui_scrollbar_move_length(scrollbar)); 330 if (rv < 0) { 331 printf("Out of memory.\n"); 332 return; 333 } 334 335 rc = ui_entry_set_text(demo->entry, str); 336 if (rc != EOK) 337 printf("Error changing entry text.\n"); 338 (void) ui_entry_paint(demo->entry); 339 340 free(str); 341 } 342 343 /** Display a message window with OK button. 344 * 345 * @param demo UI demo 346 * @param caption Window caption 347 * @param text Message text 348 */ 349 static void uidemo_show_message(ui_demo_t *demo, const char *caption, 350 const char *text) 351 { 352 ui_msg_dialog_params_t mdparams; 353 ui_msg_dialog_t *dialog; 354 errno_t rc; 355 356 ui_msg_dialog_params_init(&mdparams); 357 mdparams.caption = caption; 358 mdparams.text = text; 359 360 rc = ui_msg_dialog_create(demo->ui, &mdparams, &dialog); 361 if (rc != EOK) { 362 printf("Error creating message dialog.\n"); 363 return; 364 } 365 366 ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo); 367 } 368 369 /** File / Load menu entry selected. 370 * 371 * @param mentry Menu entry 372 * @param arg Argument (demo) 373 */ 374 static void uidemo_file_load(ui_menu_entry_t *mentry, void *arg) 375 { 376 ui_demo_t *demo = (ui_demo_t *) arg; 377 ui_file_dialog_params_t fdparams; 378 ui_file_dialog_t *dialog; 379 errno_t rc; 380 381 ui_file_dialog_params_init(&fdparams); 382 fdparams.caption = "Load File"; 383 384 rc = ui_file_dialog_create(demo->ui, &fdparams, &dialog); 385 if (rc != EOK) { 386 printf("Error creating message dialog.\n"); 387 return; 388 } 389 390 ui_file_dialog_set_cb(dialog, &file_dialog_cb, demo); 391 } 392 393 /** File / Message menu entry selected. 202 /** File/message menu entry selected. 394 203 * 395 204 * @param mentry Menu entry … … 414 223 415 224 ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo); 416 } 417 418 /** File / Confirmation menu entry selected. 225 226 } 227 228 /** File/exit menu entry selected. 419 229 * 420 230 * @param mentry Menu entry 421 231 * @param arg Argument (demo) 422 232 */ 423 static void uidemo_file_ confirmation(ui_menu_entry_t *mentry, void *arg)233 static void uidemo_file_exit(ui_menu_entry_t *mentry, void *arg) 424 234 { 425 235 ui_demo_t *demo = (ui_demo_t *) arg; 426 ui_msg_dialog_params_t mdparams;427 ui_msg_dialog_t *dialog;428 errno_t rc;429 430 ui_msg_dialog_params_init(&mdparams);431 mdparams.caption = "Confirmation";432 mdparams.text = "This will not actually do anything. Proceed?";433 mdparams.choice = umdc_ok_cancel;434 435 rc = ui_msg_dialog_create(demo->ui, &mdparams, &dialog);436 if (rc != EOK) {437 printf("Error creating message dialog.\n");438 return;439 }440 441 ui_msg_dialog_set_cb(dialog, &msg_dialog_cb, &demo);442 }443 444 /** File / Exit menu entry selected.445 *446 * @param mentry Menu entry447 * @param arg Argument (demo)448 */449 static void uidemo_file_exit(ui_menu_entry_t *mentry, void *arg)450 {451 ui_demo_t *demo = (ui_demo_t *) arg;452 236 453 237 ui_quit(demo->ui); 454 }455 456 /** Edit / Modify menu entry selected.457 *458 * @param mentry Menu entry459 * @param arg Argument (demo)460 */461 static void uidemo_edit_modify(ui_menu_entry_t *mentry, void *arg)462 {463 ui_demo_t *demo = (ui_demo_t *) arg;464 ui_prompt_dialog_params_t pdparams;465 ui_prompt_dialog_t *dialog;466 errno_t rc;467 468 ui_prompt_dialog_params_init(&pdparams);469 pdparams.caption = "Modify Entry Text";470 pdparams.prompt = "Enter New Text";471 472 rc = ui_prompt_dialog_create(demo->ui, &pdparams, &dialog);473 if (rc != EOK) {474 printf("Error creating prompt dialog.\n");475 return;476 }477 478 ui_prompt_dialog_set_cb(dialog, &prompt_dialog_cb, demo);479 }480 481 /** Edit / Insert Character menu entry selected.482 *483 * @param mentry Menu entry484 * @param arg Argument (demo)485 */486 static void uidemo_edit_insert_character(ui_menu_entry_t *mentry, void *arg)487 {488 ui_demo_t *demo = (ui_demo_t *) arg;489 ui_select_dialog_params_t sdparams;490 ui_select_dialog_t *dialog;491 ui_list_entry_attr_t attr;492 errno_t rc;493 494 ui_select_dialog_params_init(&sdparams);495 sdparams.caption = "Insert Character";496 sdparams.prompt = "Select character to insert";497 498 rc = ui_select_dialog_create(demo->ui, &sdparams, &dialog);499 if (rc != EOK) {500 printf("Error creating select dialog.\n");501 return;502 }503 504 ui_list_entry_attr_init(&attr);505 attr.caption = "Dollar sign ($)";506 attr.arg = (void *)'$';507 rc = ui_select_dialog_append(dialog, &attr);508 if (rc != EOK) {509 printf("Error appending entry to list.\n");510 return;511 }512 513 ui_list_entry_attr_init(&attr);514 attr.caption = "Hash sign (#)";515 attr.arg = (void *)'#';516 rc = ui_select_dialog_append(dialog, &attr);517 if (rc != EOK) {518 printf("Error appending entry to list.\n");519 return;520 }521 522 ui_list_entry_attr_init(&attr);523 attr.caption = "Question mark (?)";524 attr.arg = (void *)'?';525 rc = ui_select_dialog_append(dialog, &attr);526 if (rc != EOK) {527 printf("Error appending entry to list.\n");528 return;529 }530 531 ui_select_dialog_set_cb(dialog, &select_dialog_cb, demo);532 533 (void) ui_select_dialog_paint(dialog);534 }535 536 /** File dialog OK button press.537 *538 * @param dialog File dialog539 * @param arg Argument (ui_demo_t *)540 * @param fname File name541 */542 static void file_dialog_bok(ui_file_dialog_t *dialog, void *arg,543 const char *fname)544 {545 ui_demo_t *demo = (ui_demo_t *) arg;546 char buf[128];547 char *p;548 FILE *f;549 550 ui_file_dialog_destroy(dialog);551 552 f = fopen(fname, "rt");553 if (f == NULL) {554 uidemo_show_message(demo, "Error", "Error opening file.");555 return;556 }557 558 p = fgets(buf, sizeof(buf), f);559 if (p == NULL) {560 uidemo_show_message(demo, "Error", "Error reading file.");561 fclose(f);562 return;563 }564 565 /* Cut string off at the first non-printable character */566 p = buf;567 while (*p != '\0') {568 if (*p < ' ') {569 *p = '\0';570 break;571 }572 ++p;573 }574 575 ui_entry_set_text(demo->entry, buf);576 fclose(f);577 }578 579 /** File dialog cancel button press.580 *581 * @param dialog File dialog582 * @param arg Argument (ui_demo_t *)583 */584 static void file_dialog_bcancel(ui_file_dialog_t *dialog, void *arg)585 {586 ui_demo_t *demo = (ui_demo_t *) arg;587 588 (void) demo;589 ui_file_dialog_destroy(dialog);590 }591 592 /** File dialog close request.593 *594 * @param dialog File dialog595 * @param arg Argument (ui_demo_t *)596 */597 static void file_dialog_close(ui_file_dialog_t *dialog, void *arg)598 {599 ui_demo_t *demo = (ui_demo_t *) arg;600 601 (void) demo;602 ui_file_dialog_destroy(dialog);603 }604 605 /** Prompt dialog OK button press.606 *607 * @param dialog Prompt dialog608 * @param arg Argument (ui_demo_t *)609 * @param text Submitted text610 */611 static void prompt_dialog_bok(ui_prompt_dialog_t *dialog, void *arg,612 const char *text)613 {614 ui_demo_t *demo = (ui_demo_t *) arg;615 616 ui_prompt_dialog_destroy(dialog);617 ui_entry_set_text(demo->entry, text);618 }619 620 /** Prompt dialog cancel button press.621 *622 * @param dialog Prompt dialog623 * @param arg Argument (ui_demo_t *)624 */625 static void prompt_dialog_bcancel(ui_prompt_dialog_t *dialog, void *arg)626 {627 ui_demo_t *demo = (ui_demo_t *) arg;628 629 (void) demo;630 ui_prompt_dialog_destroy(dialog);631 }632 633 /** Prompt dialog close request.634 *635 * @param dialog Prompt dialog636 * @param arg Argument (ui_demo_t *)637 */638 static void prompt_dialog_close(ui_prompt_dialog_t *dialog, void *arg)639 {640 ui_demo_t *demo = (ui_demo_t *) arg;641 642 (void) demo;643 ui_prompt_dialog_destroy(dialog);644 }645 646 /** Select dialog OK button press.647 *648 * @param dialog Select dialog649 * @param arg Argument (ui_demo_t *)650 * @param text Submitted text651 */652 static void select_dialog_bok(ui_select_dialog_t *dialog, void *arg,653 void *earg)654 {655 ui_demo_t *demo = (ui_demo_t *) arg;656 char str[2];657 658 ui_select_dialog_destroy(dialog);659 str[0] = (char)(intptr_t)earg;660 str[1] = '\0';661 (void) ui_entry_insert_str(demo->entry, str);662 }663 664 /** Select dialog cancel button press.665 *666 * @param dialog Select dialog667 * @param arg Argument (ui_demo_t *)668 */669 static void select_dialog_bcancel(ui_select_dialog_t *dialog, void *arg)670 {671 ui_demo_t *demo = (ui_demo_t *) arg;672 673 (void) demo;674 ui_select_dialog_destroy(dialog);675 }676 677 /** Select dialog close request.678 *679 * @param dialog Select dialog680 * @param arg Argument (ui_demo_t *)681 */682 static void select_dialog_close(ui_select_dialog_t *dialog, void *arg)683 {684 ui_demo_t *demo = (ui_demo_t *) arg;685 686 (void) demo;687 ui_select_dialog_destroy(dialog);688 238 } 689 239 … … 730 280 gfx_coord2_t off; 731 281 ui_menu_entry_t *mmsg; 732 ui_menu_entry_t *mload;733 282 ui_menu_entry_t *mfoo; 734 283 ui_menu_entry_t *mbar; 735 284 ui_menu_entry_t *mfoobar; 736 ui_menu_entry_t *msep;737 285 ui_menu_entry_t *mexit; 738 ui_menu_entry_t *mmodify;739 ui_menu_entry_t *minsert_char;740 286 ui_menu_entry_t *mabout; 741 ui_list_entry_attr_t eattr;742 287 errno_t rc; 743 288 … … 753 298 ui_wnd_params_init(¶ms); 754 299 params.caption = "UI Demo"; 755 params.style |= ui_wds_ maximize_btn | ui_wds_resizable;300 params.style |= ui_wds_resizable; 756 301 757 302 /* FIXME: Auto layout */ … … 759 304 params.rect.p0.x = 0; 760 305 params.rect.p0.y = 0; 761 params.rect.p1.x = 46;306 params.rect.p1.x = 80; 762 307 params.rect.p1.y = 25; 763 308 } else { 764 309 params.rect.p0.x = 0; 765 310 params.rect.p0.y = 0; 766 params.rect.p1.x = 255; 767 params.rect.p1.y = 410; 768 } 769 770 /* Only allow making the window larger */ 771 gfx_rect_dims(¶ms.rect, ¶ms.min_size); 311 params.rect.p1.x = 220; 312 params.rect.p1.y = 350; 313 } 772 314 773 315 rc = ui_window_create(ui, ¶ms, &window); … … 795 337 } 796 338 797 rc = ui_menu_ dd_create(demo.mbar, "~F~ile", NULL, &demo.mfile);798 if (rc != EOK) { 799 printf("Error creating menu.\n"); 800 return rc; 801 } 802 803 rc = ui_menu_entry_create(demo.mfile, " ~M~essage", "", &mmsg);339 rc = ui_menu_create(demo.mbar, "File", &demo.mfile); 340 if (rc != EOK) { 341 printf("Error creating menu.\n"); 342 return rc; 343 } 344 345 rc = ui_menu_entry_create(demo.mfile, "Message", "", &mmsg); 804 346 if (rc != EOK) { 805 347 printf("Error creating menu.\n"); … … 809 351 ui_menu_entry_set_cb(mmsg, uidemo_file_message, (void *) &demo); 810 352 811 rc = ui_menu_entry_create(demo.mfile, "~C~onfirmation", "", &mmsg); 812 if (rc != EOK) { 813 printf("Error creating menu.\n"); 814 return rc; 815 } 816 817 ui_menu_entry_set_cb(mmsg, uidemo_file_confirmation, (void *) &demo); 818 819 rc = ui_menu_entry_create(demo.mfile, "~L~oad", "", &mload); 820 if (rc != EOK) { 821 printf("Error creating menu.\n"); 822 return rc; 823 } 824 825 ui_menu_entry_set_cb(mload, uidemo_file_load, (void *) &demo); 826 827 rc = ui_menu_entry_create(demo.mfile, "~F~oo", "Ctrl-Alt-Del", &mfoo); 828 if (rc != EOK) { 829 printf("Error creating menu.\n"); 830 return rc; 831 } 832 833 rc = ui_menu_entry_create(demo.mfile, "~B~ar", "", &mbar); 834 if (rc != EOK) { 835 printf("Error creating menu.\n"); 836 return rc; 837 } 838 839 rc = ui_menu_entry_create(demo.mfile, "F~o~obar", "", &mfoobar); 840 if (rc != EOK) { 841 printf("Error creating menu.\n"); 842 return rc; 843 } 844 845 ui_menu_entry_set_disabled(mfoobar, true); 846 847 rc = ui_menu_entry_sep_create(demo.mfile, &msep); 848 if (rc != EOK) { 849 printf("Error creating menu.\n"); 850 return rc; 851 } 852 853 rc = ui_menu_entry_create(demo.mfile, "E~x~it", "Alt-F4", &mexit); 353 rc = ui_menu_entry_create(demo.mfile, "Foo", "Ctrl-Alt-Del", &mfoo); 354 if (rc != EOK) { 355 printf("Error creating menu.\n"); 356 return rc; 357 } 358 359 rc = ui_menu_entry_create(demo.mfile, "Bar", "", &mbar); 360 if (rc != EOK) { 361 printf("Error creating menu.\n"); 362 return rc; 363 } 364 365 rc = ui_menu_entry_create(demo.mfile, "Foobar", "", &mfoobar); 366 if (rc != EOK) { 367 printf("Error creating menu.\n"); 368 return rc; 369 } 370 371 rc = ui_menu_entry_sep_create(demo.mfile, &mexit); 372 if (rc != EOK) { 373 printf("Error creating menu.\n"); 374 return rc; 375 } 376 377 rc = ui_menu_entry_create(demo.mfile, "Exit", "Alt-F4", &mexit); 854 378 if (rc != EOK) { 855 379 printf("Error creating menu.\n"); … … 859 383 ui_menu_entry_set_cb(mexit, uidemo_file_exit, (void *) &demo); 860 384 861 rc = ui_menu_dd_create(demo.mbar, "~E~dit", NULL, &demo.medit); 862 if (rc != EOK) { 863 printf("Error creating menu.\n"); 864 return rc; 865 } 866 867 rc = ui_menu_entry_create(demo.medit, "~M~odify", "", &mmodify); 868 if (rc != EOK) { 869 printf("Error creating menu.\n"); 870 return rc; 871 } 872 873 ui_menu_entry_set_cb(mmodify, uidemo_edit_modify, (void *) &demo); 874 875 rc = ui_menu_entry_create(demo.medit, "~I~nsert Character", 876 "", &minsert_char); 877 if (rc != EOK) { 878 printf("Error creating menu.\n"); 879 return rc; 880 } 881 882 ui_menu_entry_set_cb(minsert_char, uidemo_edit_insert_character, 883 (void *) &demo); 884 885 rc = ui_menu_dd_create(demo.mbar, "~P~references", NULL, 886 &demo.mpreferences); 887 if (rc != EOK) { 888 printf("Error creating menu.\n"); 889 return rc; 890 } 891 892 rc = ui_menu_dd_create(demo.mbar, "~H~elp", NULL, &demo.mhelp); 893 if (rc != EOK) { 894 printf("Error creating menu.\n"); 895 return rc; 896 } 897 898 rc = ui_menu_entry_create(demo.mhelp, "~A~bout", "Ctrl-H, F1", &mabout); 385 rc = ui_menu_create(demo.mbar, "Edit", &demo.medit); 386 if (rc != EOK) { 387 printf("Error creating menu.\n"); 388 return rc; 389 } 390 391 rc = ui_menu_create(demo.mbar, "Preferences", &demo.mpreferences); 392 if (rc != EOK) { 393 printf("Error creating menu.\n"); 394 return rc; 395 } 396 397 rc = ui_menu_create(demo.mbar, "Help", &demo.mhelp); 398 if (rc != EOK) { 399 printf("Error creating menu.\n"); 400 return rc; 401 } 402 403 rc = ui_menu_entry_create(demo.mhelp, "About", "Ctrl-H, F1", &mabout); 899 404 if (rc != EOK) { 900 405 printf("Error creating menu.\n"); … … 905 410 if (ui_is_textmode(ui)) { 906 411 rect.p0.x = 1; 907 rect.p0.y = 1;908 rect.p1.x = 43;909 rect.p1.y = 2;412 rect.p0.y = 2; 413 rect.p1.x = 79; 414 rect.p1.y = 3; 910 415 } else { 911 416 rect.p0.x = 4; 912 417 rect.p0.y = 30; 913 rect.p1.x = 2 51;418 rect.p1.x = 216; 914 419 rect.p1.y = 52; 915 420 } 916 917 421 ui_menu_bar_set_rect(demo.mbar, &rect); 918 422 … … 923 427 } 924 428 925 rc = ui_ tab_set_create(ui_res, &demo.tabset);926 if (rc != EOK) { 927 printf("Error creating tab set.\n");429 rc = ui_entry_create(window, "", &demo.entry); 430 if (rc != EOK) { 431 printf("Error creating entry.\n"); 928 432 return rc; 929 433 } … … 931 435 /* FIXME: Auto layout */ 932 436 if (ui_is_textmode(ui)) { 933 rect.p0.x = 2 ;934 rect.p0.y = 2;935 rect.p1.x = 44;936 rect.p1.y = 24;437 rect.p0.x = 20; 438 rect.p0.y = 4; 439 rect.p1.x = 60; 440 rect.p1.y = 5; 937 441 } else { 938 rect.p0.x = 8;442 rect.p0.x = 15; 939 443 rect.p0.y = 53; 940 rect.p1.x = 250; 941 rect.p1.y = 405; 942 } 943 944 ui_tab_set_set_rect(demo.tabset, &rect); 945 946 rc = ui_tab_create(demo.tabset, "Basic", &demo.tbasic); 947 if (rc != EOK) { 948 printf("Error creating tab.\n"); 949 return rc; 950 } 951 952 rc = ui_tab_create(demo.tabset, "Lists", &demo.tlists); 953 if (rc != EOK) { 954 printf("Error creating tab.\n"); 955 return rc; 956 } 957 958 rc = ui_fixed_add(demo.fixed, ui_tab_set_ctl(demo.tabset)); 959 if (rc != EOK) { 960 printf("Error adding control to layout.\n"); 961 return rc; 962 } 963 964 rc = ui_fixed_create(&demo.bfixed); 965 if (rc != EOK) { 966 printf("Error creating fixed layout.\n"); 967 return rc; 968 } 969 970 rc = ui_entry_create(window, "", &demo.entry); 971 if (rc != EOK) { 972 printf("Error creating entry.\n"); 444 rect.p1.x = 205; 445 rect.p1.y = 78; 446 } 447 448 ui_entry_set_rect(demo.entry, &rect); 449 ui_entry_set_halign(demo.entry, gfx_halign_center); 450 451 rc = ui_fixed_add(demo.fixed, ui_entry_ctl(demo.entry)); 452 if (rc != EOK) { 453 printf("Error adding control to layout.\n"); 454 return rc; 455 } 456 457 rc = ui_label_create(ui_res, "Text label", &demo.label); 458 if (rc != EOK) { 459 printf("Error creating label.\n"); 973 460 return rc; 974 461 } … … 976 463 /* FIXME: Auto layout */ 977 464 if (ui_is_textmode(ui)) { 978 rect.p0.x = 4; 979 rect.p0.y = 5; 980 rect.p1.x = 41; 981 rect.p1.y = 6; 465 rect.p0.x = 20; 466 rect.p0.y = 6; 467 rect.p1.x = 60; 468 rect.p1.y = 7; 469 } else { 470 rect.p0.x = 60; 471 rect.p0.y = 88; 472 rect.p1.x = 160; 473 rect.p1.y = 101; 474 } 475 476 ui_label_set_rect(demo.label, &rect); 477 ui_label_set_halign(demo.label, gfx_halign_center); 478 479 rc = ui_fixed_add(demo.fixed, ui_label_ctl(demo.label)); 480 if (rc != EOK) { 481 printf("Error adding control to layout.\n"); 482 return rc; 483 } 484 485 rc = ui_pbutton_create(ui_res, "OK", &demo.pb1); 486 if (rc != EOK) { 487 printf("Error creating button.\n"); 488 return rc; 489 } 490 491 ui_pbutton_set_cb(demo.pb1, &pbutton_cb, (void *) &demo); 492 493 /* FIXME: Auto layout */ 494 if (ui_is_textmode(ui)) { 495 rect.p0.x = 20; 496 rect.p0.y = 8; 497 rect.p1.x = 30; 498 rect.p1.y = 9; 982 499 } else { 983 500 rect.p0.x = 15; 984 rect.p0.y = 88; 985 rect.p1.x = 205; 986 rect.p1.y = 113; 987 } 988 989 ui_entry_set_rect(demo.entry, &rect); 990 ui_entry_set_halign(demo.entry, gfx_halign_center); 991 992 rc = ui_fixed_add(demo.bfixed, ui_entry_ctl(demo.entry)); 993 if (rc != EOK) { 994 printf("Error adding control to layout.\n"); 995 return rc; 996 } 997 998 rc = ui_label_create(ui_res, "Text label", &demo.label); 999 if (rc != EOK) { 1000 printf("Error creating label.\n"); 1001 return rc; 1002 } 1003 1004 /* FIXME: Auto layout */ 501 rect.p0.y = 111; 502 rect.p1.x = 105; 503 rect.p1.y = 139; 504 } 505 506 ui_pbutton_set_rect(demo.pb1, &rect); 507 508 ui_pbutton_set_default(demo.pb1, true); 509 510 rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb1)); 511 if (rc != EOK) { 512 printf("Error adding control to layout.\n"); 513 return rc; 514 } 515 516 rc = ui_pbutton_create(ui_res, "Cancel", &demo.pb2); 517 if (rc != EOK) { 518 printf("Error creating button.\n"); 519 return rc; 520 } 521 522 ui_pbutton_set_cb(demo.pb2, &pbutton_cb, (void *) &demo); 523 1005 524 if (ui_is_textmode(ui)) { 1006 rect.p0.x = 4; 1007 rect.p0.y = 7; 1008 rect.p1.x = 41; 1009 rect.p1.y = 8; 1010 } else { 1011 rect.p0.x = 60; 1012 rect.p0.y = 123; 1013 rect.p1.x = 160; 1014 rect.p1.y = 136; 1015 } 1016 1017 ui_label_set_rect(demo.label, &rect); 1018 ui_label_set_halign(demo.label, gfx_halign_center); 1019 1020 rc = ui_fixed_add(demo.bfixed, ui_label_ctl(demo.label)); 1021 if (rc != EOK) { 1022 printf("Error adding control to layout.\n"); 1023 return rc; 1024 } 1025 1026 rc = ui_pbutton_create(ui_res, "OK", &demo.pb1); 1027 if (rc != EOK) { 1028 printf("Error creating button.\n"); 1029 return rc; 1030 } 1031 1032 ui_pbutton_set_cb(demo.pb1, &pbutton_cb, (void *) &demo); 1033 1034 /* FIXME: Auto layout */ 1035 if (ui_is_textmode(ui)) { 1036 rect.p0.x = 4; 1037 rect.p0.y = 9; 1038 rect.p1.x = 15; 1039 rect.p1.y = 10; 1040 } else { 1041 rect.p0.x = 15; 1042 rect.p0.y = 146; 1043 rect.p1.x = 105; 1044 rect.p1.y = 174; 1045 } 1046 1047 ui_pbutton_set_rect(demo.pb1, &rect); 1048 1049 ui_pbutton_set_default(demo.pb1, true); 1050 1051 rc = ui_fixed_add(demo.bfixed, ui_pbutton_ctl(demo.pb1)); 1052 if (rc != EOK) { 1053 printf("Error adding control to layout.\n"); 1054 return rc; 1055 } 1056 1057 rc = ui_pbutton_create(ui_res, "Cancel", &demo.pb2); 1058 if (rc != EOK) { 1059 printf("Error creating button.\n"); 1060 return rc; 1061 } 1062 1063 ui_pbutton_set_cb(demo.pb2, &pbutton_cb, (void *) &demo); 1064 1065 if (ui_is_textmode(ui)) { 1066 rect.p0.x = 30; 1067 rect.p0.y = 9; 1068 rect.p1.x = 41; 1069 rect.p1.y = 10; 525 rect.p0.x = 50; 526 rect.p0.y = 8; 527 rect.p1.x = 60; 528 rect.p1.y = 9; 1070 529 } else { 1071 530 rect.p0.x = 115; 1072 rect.p0.y = 1 46;531 rect.p0.y = 111; 1073 532 rect.p1.x = 205; 1074 rect.p1.y = 1 74;533 rect.p1.y = 139; 1075 534 } 1076 535 1077 536 ui_pbutton_set_rect(demo.pb2, &rect); 1078 537 1079 rc = ui_fixed_add(demo. bfixed, ui_pbutton_ctl(demo.pb2));538 rc = ui_fixed_add(demo.fixed, ui_pbutton_ctl(demo.pb2)); 1080 539 if (rc != EOK) { 1081 540 printf("Error adding control to layout.\n"); … … 1084 543 1085 544 gfx_bitmap_params_init(&bparams); 1086 if (ui_is_textmode(ui)) { 1087 bparams.rect.p0.x = 0; 1088 bparams.rect.p0.y = 0; 1089 bparams.rect.p1.x = 37; 1090 bparams.rect.p1.y = 2; 1091 } else { 1092 bparams.rect.p0.x = 0; 1093 bparams.rect.p0.y = 0; 1094 bparams.rect.p1.x = 188; 1095 bparams.rect.p1.y = 24; 1096 } 545 bparams.rect.p0.x = 0; 546 bparams.rect.p0.y = 0; 547 bparams.rect.p1.x = 188; 548 bparams.rect.p1.y = 24; 1097 549 1098 550 rc = gfx_bitmap_create(gc, &bparams, NULL, &bitmap); … … 1110 562 } 1111 563 1112 if (ui_is_textmode(ui)) { 1113 off.x = 4; 1114 off.y = 11; 1115 } else { 1116 off.x = 15; 1117 off.y = 190; 1118 } 1119 564 off.x = 15; 565 off.y = 155; 1120 566 gfx_rect_translate(&off, &bparams.rect, &rect); 1121 567 1122 568 /* Adjust for frame width (2 x 1 pixel) */ 1123 if (!ui_is_textmode(ui)) { 1124 ui_image_set_flags(demo.image, ui_imgf_frame); 1125 rect.p1.x += 2; 1126 rect.p1.y += 2; 1127 } 1128 569 rect.p1.x += 2; 570 rect.p1.y += 2; 1129 571 ui_image_set_rect(demo.image, &rect); 1130 1131 rc = ui_fixed_add(demo.bfixed, ui_image_ctl(demo.image)); 1132 if (rc != EOK) { 1133 printf("Error adding control to layout.\n"); 1134 return rc; 1135 } 1136 1137 rc = ui_checkbox_create(ui_res, "Read only", &demo.checkbox); 572 ui_image_set_flags(demo.image, ui_imgf_frame); 573 574 rc = ui_fixed_add(demo.fixed, ui_image_ctl(demo.image)); 575 if (rc != EOK) { 576 printf("Error adding control to layout.\n"); 577 return rc; 578 } 579 580 rc = ui_checkbox_create(ui_res, "Check me", &demo.checkbox); 1138 581 if (rc != EOK) { 1139 582 printf("Error creating check box.\n"); … … 1143 586 ui_checkbox_set_cb(demo.checkbox, &checkbox_cb, (void *) &demo); 1144 587 1145 /* FIXME: Auto layout */ 1146 if (ui_is_textmode(ui)) { 1147 rect.p0.x = 4; 1148 rect.p0.y = 14; 1149 rect.p1.x = 14; 1150 rect.p1.y = 15; 1151 } else { 1152 rect.p0.x = 15; 1153 rect.p0.y = 225; 1154 rect.p1.x = 140; 1155 rect.p1.y = 245; 1156 } 1157 588 rect.p0.x = 15; 589 rect.p0.y = 190; 590 rect.p1.x = 140; 591 rect.p1.y = 210; 1158 592 ui_checkbox_set_rect(demo.checkbox, &rect); 1159 593 1160 rc = ui_fixed_add(demo. bfixed, ui_checkbox_ctl(demo.checkbox));594 rc = ui_fixed_add(demo.fixed, ui_checkbox_ctl(demo.checkbox)); 1161 595 if (rc != EOK) { 1162 596 printf("Error adding control to layout.\n"); … … 1170 604 } 1171 605 1172 rc = ui_rbutton_create(demo.rbgroup, " Left", (void *) &uidemo_halign[0],1173 &demo.rb left);606 rc = ui_rbutton_create(demo.rbgroup, "Option 1", (void *) "First", 607 &demo.rb1); 1174 608 if (rc != EOK) { 1175 609 printf("Error creating radio button.\n"); … … 1180 614 (void *) &demo); 1181 615 1182 /* FIXME: Auto layout */ 1183 if (ui_is_textmode(ui)) { 1184 rect.p0.x = 4; 1185 rect.p0.y = 16; 1186 rect.p1.x = 14; 1187 rect.p1.y = 17; 1188 } else { 1189 rect.p0.x = 15; 1190 rect.p0.y = 255; 1191 rect.p1.x = 140; 1192 rect.p1.y = 275; 1193 } 1194 ui_rbutton_set_rect(demo.rbleft, &rect); 1195 1196 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbleft)); 1197 if (rc != EOK) { 1198 printf("Error adding control to layout.\n"); 1199 return rc; 1200 } 1201 1202 rc = ui_rbutton_create(demo.rbgroup, "Center", (void *) &uidemo_halign[1], 1203 &demo.rbcenter); 616 rect.p0.x = 15; 617 rect.p0.y = 220; 618 rect.p1.x = 140; 619 rect.p1.y = 240; 620 ui_rbutton_set_rect(demo.rb1, &rect); 621 622 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb1)); 623 if (rc != EOK) { 624 printf("Error adding control to layout.\n"); 625 return rc; 626 } 627 628 rc = ui_rbutton_create(demo.rbgroup, "Option 2", (void *) "Second", 629 &demo.rb2); 1204 630 if (rc != EOK) { 1205 631 printf("Error creating radio button.\n"); … … 1207 633 } 1208 634 1209 /* FIXME: Auto layout */ 1210 if (ui_is_textmode(ui)) { 1211 rect.p0.x = 4; 1212 rect.p0.y = 17; 1213 rect.p1.x = 14; 1214 rect.p1.y = 18; 1215 } else { 1216 rect.p0.x = 15; 1217 rect.p0.y = 285; 1218 rect.p1.x = 140; 1219 rect.p1.y = 305; 1220 } 1221 ui_rbutton_set_rect(demo.rbcenter, &rect); 1222 ui_rbutton_select(demo.rbcenter); 1223 1224 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbcenter)); 1225 if (rc != EOK) { 1226 printf("Error adding control to layout.\n"); 1227 return rc; 1228 } 1229 1230 rc = ui_rbutton_create(demo.rbgroup, "Right", (void *) &uidemo_halign[2], 1231 &demo.rbright); 635 rect.p0.x = 15; 636 rect.p0.y = 250; 637 rect.p1.x = 140; 638 rect.p1.y = 270; 639 ui_rbutton_set_rect(demo.rb2, &rect); 640 641 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb2)); 642 if (rc != EOK) { 643 printf("Error adding control to layout.\n"); 644 return rc; 645 } 646 647 rc = ui_rbutton_create(demo.rbgroup, "Option 3", (void *) "Third", 648 &demo.rb3); 1232 649 if (rc != EOK) { 1233 650 printf("Error creating radio button.\n"); … … 1235 652 } 1236 653 1237 /* FIXME: Auto layout */ 1238 if (ui_is_textmode(ui)) { 1239 rect.p0.x = 4; 1240 rect.p0.y = 18; 1241 rect.p1.x = 14; 1242 rect.p1.y = 19; 1243 } else { 1244 rect.p0.x = 15; 1245 rect.p0.y = 315; 1246 rect.p1.x = 140; 1247 rect.p1.y = 335; 1248 } 1249 ui_rbutton_set_rect(demo.rbright, &rect); 1250 1251 rc = ui_fixed_add(demo.bfixed, ui_rbutton_ctl(demo.rbright)); 1252 if (rc != EOK) { 1253 printf("Error adding control to layout.\n"); 1254 return rc; 1255 } 1256 1257 rc = ui_slider_create(ui_res, &demo.slider); 654 rect.p0.x = 15; 655 rect.p0.y = 280; 656 rect.p1.x = 140; 657 rect.p1.y = 300; 658 ui_rbutton_set_rect(demo.rb3, &rect); 659 660 rc = ui_fixed_add(demo.fixed, ui_rbutton_ctl(demo.rb3)); 661 if (rc != EOK) { 662 printf("Error adding control to layout.\n"); 663 return rc; 664 } 665 666 rc = ui_slider_create(ui_res, "Slide!", &demo.slider); 1258 667 if (rc != EOK) { 1259 668 printf("Error creating button.\n"); … … 1263 672 ui_slider_set_cb(demo.slider, &slider_cb, (void *) &demo); 1264 673 1265 /* FIXME: Auto layout */ 1266 if (ui_is_textmode(ui)) { 1267 rect.p0.x = 4; 1268 rect.p0.y = 20; 1269 rect.p1.x = 32; 1270 rect.p1.y = 21; 1271 } else { 1272 rect.p0.x = 15; 1273 rect.p0.y = 345; 1274 rect.p1.x = 130; 1275 rect.p1.y = 365; 1276 } 1277 674 rect.p0.x = 15; 675 rect.p0.y = 310; 676 rect.p1.x = 130; 677 rect.p1.y = 330; 1278 678 ui_slider_set_rect(demo.slider, &rect); 1279 679 1280 rc = ui_fixed_add(demo.bfixed, ui_slider_ctl(demo.slider)); 1281 if (rc != EOK) { 1282 printf("Error adding control to layout.\n"); 1283 return rc; 1284 } 1285 1286 rc = ui_scrollbar_create(ui, window, ui_sbd_horiz, &demo.hscrollbar); 1287 if (rc != EOK) { 1288 printf("Error creating scrollbar.\n"); 1289 return rc; 1290 } 1291 1292 ui_scrollbar_set_cb(demo.hscrollbar, &scrollbar_cb, (void *) &demo); 1293 1294 /* FIXME: Auto layout */ 1295 if (ui_is_textmode(ui)) { 1296 rect.p0.x = 4; 1297 rect.p0.y = 22; 1298 rect.p1.x = 42; 1299 rect.p1.y = 23; 1300 } else { 1301 rect.p0.x = 15; 1302 rect.p0.y = 375; 1303 rect.p1.x = 220; 1304 rect.p1.y = 398; 1305 } 1306 1307 ui_scrollbar_set_rect(demo.hscrollbar, &rect); 1308 1309 ui_scrollbar_set_thumb_length(demo.hscrollbar, 1310 ui_scrollbar_trough_length(demo.hscrollbar) / 4); 1311 1312 rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.hscrollbar)); 1313 if (rc != EOK) { 1314 printf("Error adding control to layout.\n"); 1315 return rc; 1316 } 1317 1318 rc = ui_scrollbar_create(ui, window, ui_sbd_vert, &demo.vscrollbar); 1319 if (rc != EOK) { 1320 printf("Error creating button.\n"); 1321 return rc; 1322 } 1323 1324 ui_scrollbar_set_cb(demo.vscrollbar, &scrollbar_cb, (void *) &demo); 1325 1326 /* FIXME: Auto layout */ 1327 if (ui_is_textmode(ui)) { 1328 rect.p0.x = 42; 1329 rect.p0.y = 5; 1330 rect.p1.x = 43; 1331 rect.p1.y = 22; 1332 } else { 1333 rect.p0.x = 220; 1334 rect.p0.y = 88; 1335 rect.p1.x = 243; 1336 rect.p1.y = 375; 1337 } 1338 1339 ui_scrollbar_set_rect(demo.vscrollbar, &rect); 1340 1341 ui_scrollbar_set_thumb_length(demo.vscrollbar, 1342 ui_scrollbar_trough_length(demo.vscrollbar) / 4); 1343 1344 rc = ui_fixed_add(demo.bfixed, ui_scrollbar_ctl(demo.vscrollbar)); 1345 if (rc != EOK) { 1346 printf("Error adding control to layout.\n"); 1347 return rc; 1348 } 1349 1350 ui_tab_add(demo.tbasic, ui_fixed_ctl(demo.bfixed)); 1351 1352 rc = ui_fixed_create(&demo.lfixed); 1353 if (rc != EOK) { 1354 printf("Error creating fixed layout.\n"); 1355 return rc; 1356 } 1357 1358 rc = ui_list_create(window, false, &demo.list); 1359 if (rc != EOK) { 1360 printf("Error creating list.\n"); 1361 return rc; 1362 } 1363 1364 ui_list_entry_attr_init(&eattr); 1365 1366 eattr.caption = "One"; 1367 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1368 if (rc != EOK) { 1369 printf("Error adding list entry.\n"); 1370 return rc; 1371 } 1372 1373 eattr.caption = "Two"; 1374 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1375 if (rc != EOK) { 1376 printf("Error adding list entry.\n"); 1377 return rc; 1378 } 1379 1380 eattr.caption = "Three"; 1381 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1382 if (rc != EOK) { 1383 printf("Error adding list entry.\n"); 1384 return rc; 1385 } 1386 1387 eattr.caption = "Four"; 1388 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1389 if (rc != EOK) { 1390 printf("Error adding list entry.\n"); 1391 return rc; 1392 } 1393 1394 eattr.caption = "Five"; 1395 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1396 if (rc != EOK) { 1397 printf("Error adding list entry.\n"); 1398 return rc; 1399 } 1400 1401 eattr.caption = "Six"; 1402 rc = ui_list_entry_append(demo.list, &eattr, NULL); 1403 if (rc != EOK) { 1404 printf("Error adding list entry.\n"); 1405 return rc; 1406 } 1407 1408 /* FIXME: Auto layout */ 1409 if (ui_is_textmode(ui)) { 1410 rect.p0.x = 4; 1411 rect.p0.y = 5; 1412 rect.p1.x = 41; 1413 rect.p1.y = 10; 1414 } else { 1415 rect.p0.x = 15; 1416 rect.p0.y = 88; 1417 rect.p1.x = 245; 1418 rect.p1.y = 173; 1419 } 1420 1421 ui_list_set_rect(demo.list, &rect); 1422 1423 rc = ui_fixed_add(demo.lfixed, ui_list_ctl(demo.list)); 1424 if (rc != EOK) { 1425 printf("Error adding control to layout.\n"); 1426 return rc; 1427 } 1428 1429 ui_tab_add(demo.tlists, ui_fixed_ctl(demo.lfixed)); 680 rc = ui_fixed_add(demo.fixed, ui_slider_ctl(demo.slider)); 681 if (rc != EOK) { 682 printf("Error adding control to layout.\n"); 683 return rc; 684 } 1430 685 1431 686 ui_window_add(window, ui_fixed_ctl(demo.fixed)); … … 1473 728 k = i * i + j * j; 1474 729 pixelmap_put_pixel(&pixelmap, i, j, 1475 PIXEL( 0, k, k, 255 - k));730 PIXEL(255, k, k, 255 - k)); 1476 731 } 1477 732 } … … 1487 742 int main(int argc, char *argv[]) 1488 743 { 1489 const char *display_spec = UI_ ANY_DEFAULT;744 const char *display_spec = UI_DISPLAY_DEFAULT; 1490 745 errno_t rc; 1491 746 int i;
Note:
See TracChangeset
for help on using the changeset viewer.