Changes in uspace/app/gfxdemo/gfxdemo.c [da15002:d0dfbba] in mainline
- File:
-
- 1 edited
-
uspace/app/gfxdemo/gfxdemo.c (modified) (39 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/gfxdemo/gfxdemo.c
rda15002 rd0dfbba 1 1 /* 2 * Copyright (c) 202 0Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 36 36 #include <display.h> 37 37 #include <fibril.h> 38 #include <fibril_synch.h> 38 39 #include <gfx/bitmap.h> 39 40 #include <gfx/color.h> … … 51 52 #include <ui/window.h> 52 53 #include <ui/wdecor.h> 54 #include "gfxdemo.h" 53 55 54 56 static void wnd_close_event(void *); … … 60 62 }; 61 63 64 static void uiwnd_resize_event(ui_window_t *, void *); 62 65 static void uiwnd_close_event(ui_window_t *, void *); 63 66 static void uiwnd_kbd_event(ui_window_t *, void *, kbd_event_t *); 64 67 65 68 static ui_window_cb_t ui_window_cb = { 69 .resize = uiwnd_resize_event, 66 70 .close = uiwnd_close_event, 67 71 .kbd = uiwnd_kbd_event 68 72 }; 69 73 74 static void demo_kbd_event(kbd_event_t *); 75 70 76 static bool quit = false; 77 static FIBRIL_MUTEX_INITIALIZE(quit_lock); 78 static FIBRIL_CONDVAR_INITIALIZE(quit_cv); 71 79 static gfx_typeface_t *tface; 72 80 static gfx_font_t *font; 73 81 static gfx_coord_t vpad; 82 static console_ctrl_t *con = NULL; 83 static bool textmode; 84 static console_gc_t *cgc = NULL; 85 static unsigned scr_width, scr_height; 86 static ui_t *ui; 87 88 /** Determine if we are running in text mode. 89 * 90 * @return @c true iff we are running in text mode 91 */ 92 static bool demo_is_text(void) 93 { 94 return textmode; 95 } 96 97 /** Sleep until timeout or quit request. 98 * 99 * @param msec Number of microseconds to sleep for 100 */ 101 static void demo_msleep(unsigned msec) 102 { 103 errno_t rc; 104 usec_t usec; 105 cons_event_t cevent; 106 sysarg_t cols, rows; 107 108 if (ui != NULL) 109 ui_unlock(ui); 110 fibril_mutex_lock(&quit_lock); 111 if (!quit) { 112 if (con != NULL) { 113 usec = (usec_t)msec * 1000; 114 while (usec > 0 && !quit) { 115 rc = console_get_event_timeout(con, &cevent, &usec); 116 if (rc == EOK) { 117 if (cevent.type == CEV_KEY) { 118 fibril_mutex_unlock(&quit_lock); 119 demo_kbd_event(&cevent.ev.key); 120 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); 131 } 132 } 133 } 134 } else { 135 (void) fibril_condvar_wait_timeout(&quit_cv, &quit_lock, 136 (usec_t)msec * 1000); 137 } 138 } 139 fibril_mutex_unlock(&quit_lock); 140 if (ui != NULL) 141 ui_lock(ui); 142 } 74 143 75 144 /** Clear screen. … … 126 195 127 196 /* XXX Crude way of detecting text mode */ 128 if ( w < 256) {197 if (demo_is_text()) { 129 198 /* Create dummy font for text mode */ 130 199 rc = gfx_typeface_create(gc, &tface); … … 215 284 216 285 if (font != NULL) { 217 rc = gfx_color_new_rgb_i16(0xffff, 0xffff, 0xffff, &color); 218 if (rc != EOK) 219 goto error; 286 if (demo_is_text()) { 287 rc = gfx_color_new_ega(0x1e, &color); 288 if (rc != EOK) 289 goto error; 290 } else { 291 rc = gfx_color_new_rgb_i16(0xffff, 0xffff, 0xffff, &color); 292 if (rc != EOK) 293 goto error; 294 } 220 295 221 296 gfx_text_fmt_init(&fmt); 297 fmt.font = font; 222 298 fmt.color = color; 223 299 fmt.halign = gfx_halign_center; … … 225 301 226 302 pos.x = w / 2; 227 pos.y = h - 1;228 rc = gfx_puttext( font,&pos, &fmt, text);303 pos.y = h; 304 rc = gfx_puttext(&pos, &fmt, text); 229 305 if (rc != EOK) { 230 306 printf("Error rendering text.\n"); … … 297 373 gfx_color_delete(color); 298 374 299 fibril_usleep(500 * 1000); 300 375 demo_msleep(500); 301 376 if (quit) 302 377 break; … … 332 407 for (j = 0; j < h; j++) { 333 408 pixelmap_put_pixel(&pixelmap, i, j, 334 PIXEL( 0, (i % 30) < 3 ? 255 : 0,409 PIXEL(255, (i % 30) < 3 ? 255 : 0, 335 410 (j % 30) < 3 ? 255 : 0, i / 2)); 336 411 } … … 368 443 k = i * i + j * j; 369 444 pixelmap_put_pixel(&pixelmap, i, j, 370 PIXEL( 0, k, k, k));445 PIXEL(255, k, k, k)); 371 446 } 372 447 } … … 403 478 k = i * i + j * j; 404 479 pixelmap_put_pixel(&pixelmap, i, j, 405 k < w * w / 2 ? PIXEL( 0, 0, 255, 0) :406 PIXEL( 0, 255, 0, 255));480 k < w * w / 2 ? PIXEL(255, 0, 255, 0) : 481 PIXEL(255, 255, 0, 255)); 407 482 } 408 483 } … … 459 534 if (rc != EOK) 460 535 goto error; 461 fibril_usleep(250 * 1000); 462 536 537 demo_msleep(250); 463 538 if (quit) 464 539 goto out; … … 520 595 } 521 596 522 fibril_usleep(500 * 1000); 523 597 demo_msleep(500); 524 598 if (quit) 525 599 break; … … 561 635 params.rect.p1.y = 40; 562 636 params.flags = bmpf_color_key; 563 params.key_color = PIXEL( 0, 255, 0, 255);637 params.key_color = PIXEL(255, 255, 0, 255); 564 638 565 639 rc = gfx_bitmap_create(gc, ¶ms, NULL, &bitmap); … … 581 655 } 582 656 583 fibril_usleep(500 * 1000); 584 657 demo_msleep(500); 585 658 if (quit) 586 659 break; … … 660 733 gfx_color_delete(color); 661 734 662 rc = gfx_color_new_rgb_i16(0xffff, 0xffff, 0xffff, &color); 663 if (rc != EOK) 664 goto error; 735 if (demo_is_text()) { 736 rc = gfx_color_new_ega(0x1f, &color); 737 if (rc != EOK) 738 goto error; 739 } else { 740 rc = gfx_color_new_rgb_i16(0xffff, 0xffff, 0xffff, &color); 741 if (rc != EOK) 742 goto error; 743 } 665 744 666 745 gfx_text_fmt_init(&fmt); 746 fmt.font = font; 667 747 fmt.color = color; 668 748 669 749 pos.x = rect.p0.x; 670 750 pos.y = rect.p0.y; 671 rc = gfx_puttext( font,&pos, &fmt, "Top left");751 rc = gfx_puttext(&pos, &fmt, "Top left"); 672 752 if (rc != EOK) { 673 753 printf("Error rendering text.\n"); … … 678 758 pos.y = rect.p0.y; 679 759 fmt.halign = gfx_halign_center; 680 rc = gfx_puttext( font,&pos, &fmt, "Top center");681 if (rc != EOK) 682 goto error; 683 684 pos.x = rect.p1.x - 1;760 rc = gfx_puttext(&pos, &fmt, "Top center"); 761 if (rc != EOK) 762 goto error; 763 764 pos.x = rect.p1.x; 685 765 pos.y = rect.p0.y; 686 766 fmt.halign = gfx_halign_right; 687 rc = gfx_puttext( font,&pos, &fmt, "Top right");767 rc = gfx_puttext(&pos, &fmt, "Top right"); 688 768 if (rc != EOK) 689 769 goto error; … … 694 774 pos.y = (rect.p0.y + rect.p1.y - 1) / 2; 695 775 fmt.halign = gfx_halign_left; 696 rc = gfx_puttext( font,&pos, &fmt, "Center left");776 rc = gfx_puttext(&pos, &fmt, "Center left"); 697 777 if (rc != EOK) 698 778 goto error; … … 701 781 pos.y = (rect.p0.y + rect.p1.y - 1) / 2; 702 782 fmt.halign = gfx_halign_center; 703 rc = gfx_puttext( font,&pos, &fmt, "Center");704 if (rc != EOK) 705 goto error; 706 707 pos.x = rect.p1.x - 1;783 rc = gfx_puttext(&pos, &fmt, "Center"); 784 if (rc != EOK) 785 goto error; 786 787 pos.x = rect.p1.x; 708 788 pos.y = (rect.p0.y + rect.p1.y - 1) / 2; 709 789 fmt.halign = gfx_halign_right; 710 rc = gfx_puttext( font,&pos, &fmt, "Center right");790 rc = gfx_puttext(&pos, &fmt, "Center right"); 711 791 if (rc != EOK) 712 792 goto error; … … 717 797 pos.y = rect.p1.y - 1; 718 798 fmt.halign = gfx_halign_left; 719 rc = gfx_puttext( font,&pos, &fmt, "Bottom left");799 rc = gfx_puttext(&pos, &fmt, "Bottom left"); 720 800 if (rc != EOK) 721 801 goto error; 722 802 723 803 pos.x = (rect.p0.x + rect.p1.x - 1) / 2; 724 pos.y = rect.p1.y - 1;804 pos.y = rect.p1.y; 725 805 fmt.halign = gfx_halign_center; 726 rc = gfx_puttext( font,&pos, &fmt, "Bottom center");727 if (rc != EOK) 728 goto error; 729 730 pos.x = rect.p1.x - 1;731 pos.y = rect.p1.y - 1;806 rc = gfx_puttext(&pos, &fmt, "Bottom center"); 807 if (rc != EOK) 808 goto error; 809 810 pos.x = rect.p1.x; 811 pos.y = rect.p1.y; 732 812 fmt.halign = gfx_halign_right; 733 rc = gfx_puttext( font,&pos, &fmt, "Bottom right");813 rc = gfx_puttext(&pos, &fmt, "Bottom right"); 734 814 if (rc != EOK) 735 815 goto error; … … 738 818 739 819 gfx_text_fmt_init(&fmt); 820 fmt.font = font; 740 821 741 822 for (i = 0; i < 8; i++) { 742 rc = gfx_color_new_rgb_i16((i & 4) ? 0xffff : 0, 743 (i & 2) ? 0xffff : 0, (i & 1) ? 0xffff : 0, &color); 744 if (rc != EOK) 745 goto error; 823 if (demo_is_text()) { 824 rc = gfx_color_new_ega(i != 0 ? i : 0x10, &color); 825 if (rc != EOK) 826 goto error; 827 } else { 828 rc = gfx_color_new_rgb_i16((i & 4) ? 0xffff : 0, 829 (i & 2) ? 0xffff : 0, (i & 1) ? 0xffff : 0, &color); 830 if (rc != EOK) 831 goto error; 832 } 746 833 747 834 fmt.color = color; 835 fmt.underline = !fmt.underline; 748 836 749 837 pos.x = w / 20; 750 838 pos.y = (6 + i) * h / 15; 751 rc = gfx_puttext( font,&pos, &fmt, "The quick brown fox jumps over the lazy dog.");839 rc = gfx_puttext(&pos, &fmt, "The quick brown fox jumps over the lazy dog."); 752 840 if (rc != EOK) 753 841 goto error; … … 757 845 758 846 for (i = 0; i < 10; i++) { 759 fibril_usleep(500 * 1000); 847 demo_msleep(500); 848 if (quit) 849 break; 850 } 851 852 return EOK; 853 error: 854 return rc; 855 } 856 857 /** Run text abbreviation demo on a graphic context. 858 * 859 * @param gc Graphic context 860 * @param w Width 861 * @param h Height 862 */ 863 static errno_t demo_text_abbr(gfx_context_t *gc, gfx_coord_t w, gfx_coord_t h) 864 { 865 gfx_color_t *color = NULL; 866 gfx_rect_t rect; 867 gfx_coord2_t pos; 868 gfx_text_fmt_t fmt; 869 int i; 870 errno_t rc; 871 872 if (quit) 873 return EOK; 874 875 rc = demo_begin(gc, w, h, "Text abbreviation"); 876 if (rc != EOK) 877 goto error; 878 879 for (i = 0; i < 11; i++) { 880 881 rc = gfx_color_new_rgb_i16(0, 0, 0x8000, &color); 882 if (rc != EOK) 883 goto error; 884 885 rc = gfx_set_color(gc, color); 886 if (rc != EOK) 887 goto error; 888 889 rect.p0.x = w / 20; 890 rect.p0.y = (2 + 2 * i) * h / 25; 891 rect.p1.x = w - w / 20 - w * i / 12; 892 rect.p1.y = (3 + 2 * i) * h / 25; 893 894 rc = gfx_fill_rect(gc, &rect); 895 if (rc != EOK) 896 goto error; 897 898 gfx_color_delete(color); 899 900 if (demo_is_text()) { 901 rc = gfx_color_new_ega(0x1f, &color); 902 if (rc != EOK) 903 goto error; 904 } else { 905 rc = gfx_color_new_rgb_i16(0xffff, 0xffff, 0xffff, 906 &color); 907 if (rc != EOK) 908 goto error; 909 } 910 911 gfx_text_fmt_init(&fmt); 912 fmt.font = font; 913 fmt.color = color; 914 fmt.abbreviate = true; 915 fmt.width = rect.p1.x - rect.p0.x; 916 917 pos.x = rect.p0.x; 918 pos.y = rect.p0.y; 919 rc = gfx_puttext(&pos, &fmt, 920 "The quick brow fox jumps over the lazy dog!"); 921 if (rc != EOK) { 922 printf("Error rendering text.\n"); 923 goto error; 924 } 925 } 926 927 for (i = 0; i < 10; i++) { 928 demo_msleep(500); 760 929 if (quit) 761 930 break; … … 854 1023 } 855 1024 856 fibril_usleep(500 * 1000); 857 1025 demo_msleep(500); 858 1026 if (quit) 859 1027 break; … … 872 1040 * 873 1041 * @param gc Graphic context 874 * @param w Width 875 * @param h Height 876 */ 877 static errno_t demo_loop(gfx_context_t *gc, gfx_coord_t w, gfx_coord_t h) 878 { 879 errno_t rc; 880 881 (void) demo_font_init(gc, w, h); 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); 882 1048 883 1049 while (!quit) { 884 rc = demo_rects(gc, w, h); 885 if (rc != EOK) 886 goto error; 887 888 rc = demo_bitmap(gc, w, h); 889 if (rc != EOK) 890 goto error; 891 892 rc = demo_bitmap2(gc, w, h); 893 if (rc != EOK) 894 goto error; 895 896 rc = demo_bitmap_kc(gc, w, h); 897 if (rc != EOK) 898 goto error; 899 900 rc = demo_text(gc, w, h); 901 if (rc != EOK) 902 goto error; 903 904 rc = demo_clip(gc, w, h); 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); 905 1075 if (rc != EOK) 906 1076 goto error; … … 917 1087 static errno_t demo_console(void) 918 1088 { 919 console_ctrl_t *con = NULL;920 console_gc_t *cgc = NULL;921 1089 gfx_context_t *gc; 922 errno_t rc;923 924 printf("Init console..\n"); 1090 sysarg_t cols, rows; 1091 errno_t rc; 1092 925 1093 con = console_init(stdin, stdout); 926 1094 if (con == NULL) 927 1095 return EIO; 928 1096 929 printf("Create console GC\n"); 1097 rc = console_get_size(con, &cols, &rows); 1098 if (rc != EOK) 1099 return rc; 1100 930 1101 rc = console_gc_create(con, stdout, &cgc); 931 1102 if (rc != EOK) … … 934 1105 gc = console_gc_get_ctx(cgc); 935 1106 936 rc = demo_loop(gc, 80, 25); 1107 /* Currently console is always text. */ 1108 textmode = true; 1109 1110 scr_width = cols; 1111 scr_height = rows; 1112 1113 rc = demo_loop(gc); 937 1114 if (rc != EOK) 938 1115 return rc; … … 943 1120 944 1121 return EOK; 1122 } 1123 1124 static errno_t demo_ui_fibril(void *arg) 1125 { 1126 demo_ui_args_t *args = (demo_ui_args_t *)arg; 1127 errno_t rc; 1128 1129 ui_lock(args->ui); 1130 scr_width = args->dims.x; 1131 scr_height = args->dims.y; 1132 rc = demo_loop(args->gc); 1133 ui_unlock(args->ui); 1134 ui_quit(args->ui); 1135 return rc; 945 1136 } 946 1137 … … 948 1139 static errno_t demo_ui(const char *display_spec) 949 1140 { 950 ui_t *ui = NULL;951 1141 ui_wnd_params_t params; 952 1142 ui_window_t *window = NULL; … … 955 1145 gfx_rect_t wrect; 956 1146 gfx_coord2_t off; 957 errno_t rc; 958 959 printf("Init UI..\n"); 1147 gfx_rect_t ui_rect; 1148 gfx_coord2_t dims; 1149 demo_ui_args_t args; 1150 fid_t fid; 1151 errno_t rc; 960 1152 961 1153 rc = ui_create(display_spec, &ui); 962 1154 if (rc != EOK) { 963 1155 printf("Error initializing UI (%s)\n", display_spec); 1156 goto error; 1157 } 1158 1159 rc = ui_get_rect(ui, &ui_rect); 1160 if (rc != EOK) { 1161 printf("Error getting display size.\n"); 964 1162 goto error; 965 1163 } … … 973 1171 params.caption = "GFX Demo"; 974 1172 1173 /* Do not decorate the window in fullscreen mode */ 1174 if (ui_is_fullscreen(ui)) { 1175 params.style &= ~ui_wds_decorated; 1176 params.placement = ui_wnd_place_full_screen; 1177 } 1178 975 1179 /* 976 1180 * Compute window rectangle such that application area corresponds 977 1181 * to rect 978 1182 */ 979 ui_wdecor_rect_from_app( params.style, &rect, &wrect);1183 ui_wdecor_rect_from_app(ui, params.style, &rect, &wrect); 980 1184 off = wrect.p0; 981 1185 gfx_rect_rtranslate(&off, &wrect, ¶ms.rect); 1186 1187 gfx_rect_dims(&ui_rect, &dims); 1188 1189 /* Make sure window is not larger than the entire screen */ 1190 if (params.rect.p1.x > dims.x) 1191 params.rect.p1.x = dims.x; 1192 if (params.rect.p1.y > dims.y) 1193 params.rect.p1.y = dims.y; 982 1194 983 1195 rc = ui_window_create(ui, ¶ms, &window); … … 995 1207 } 996 1208 997 task_retval(0); 998 999 rc = demo_loop(gc, rect.p1.x, rect.p1.y); 1000 if (rc != EOK) 1001 goto error; 1002 1209 ui_window_get_app_rect(window, &rect); 1210 gfx_rect_dims(&rect, &dims); 1211 1212 if (!ui_is_fullscreen(ui)) 1213 task_retval(0); 1214 1215 textmode = ui_is_textmode(ui); 1216 1217 args.gc = gc; 1218 args.dims = dims; 1219 args.ui = ui; 1220 1221 fid = fibril_create(demo_ui_fibril, (void *)&args); 1222 if (fid == 0) { 1223 rc = ENOMEM; 1224 goto error; 1225 } 1226 1227 fibril_add_ready(fid); 1228 1229 ui_run(ui); 1003 1230 ui_window_destroy(window); 1004 1231 ui_destroy(ui); … … 1022 1249 errno_t rc; 1023 1250 1024 printf("Init display..\n");1025 1026 1251 rc = display_open(display_svc, &display); 1027 1252 if (rc != EOK) { … … 1035 1260 params.rect.p1.x = 400; 1036 1261 params.rect.p1.y = 300; 1262 params.caption = "GFX Demo"; 1037 1263 1038 1264 rc = display_window_create(display, ¶ms, &wnd_cb, NULL, &window); … … 1050 1276 task_retval(0); 1051 1277 1052 rc = demo_loop(gc, 400, 300); 1278 /* FIXME Assuming display service is not text mode. */ 1279 textmode = false; 1280 1281 scr_width = 400; 1282 scr_height = 300; 1283 rc = demo_loop(gc); 1053 1284 if (rc != EOK) 1054 1285 return rc; … … 1064 1295 } 1065 1296 1297 static void demo_quit(void) 1298 { 1299 fibril_mutex_lock(&quit_lock); 1300 quit = true; 1301 fibril_mutex_unlock(&quit_lock); 1302 fibril_condvar_broadcast(&quit_cv); 1303 } 1304 1066 1305 static void wnd_close_event(void *arg) 1067 1306 { 1068 printf("Close event\n"); 1069 quit = true; 1307 demo_quit(); 1308 } 1309 1310 static void demo_kbd_event(kbd_event_t *event) 1311 { 1312 if (event->type == KEY_PRESS) { 1313 /* Ctrl-Q */ 1314 if ((event->mods & KM_CTRL) != 0 && 1315 (event->mods & KM_ALT) == 0 && 1316 (event->mods & KM_SHIFT) == 0 && 1317 event->key == KC_Q) { 1318 demo_quit(); 1319 } 1320 1321 /* Escape */ 1322 if ((event->mods & KM_CTRL) == 0 && 1323 (event->mods & KM_ALT) == 0 && 1324 (event->mods & KM_SHIFT) == 0 && 1325 event->key == KC_ESCAPE) { 1326 demo_quit(); 1327 } 1328 } 1070 1329 } 1071 1330 1072 1331 static void wnd_kbd_event(void *arg, kbd_event_t *event) 1073 1332 { 1074 printf("Keyboard event type=%d key=%d\n", event->type, event->key); 1075 if (event->type == KEY_PRESS) 1076 quit = true; 1333 (void)arg; 1334 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; 1077 1346 } 1078 1347 1079 1348 static void uiwnd_close_event(ui_window_t *window, void *arg) 1080 1349 { 1081 printf("Close event\n"); 1082 quit = true; 1350 demo_quit(); 1083 1351 } 1084 1352 1085 1353 static void uiwnd_kbd_event(ui_window_t *window, void *arg, kbd_event_t *event) 1086 1354 { 1087 printf("Keyboard event type=%d key=%d\n", event->type, event->key);1088 if (event->type == KEY_PRESS)1089 quit = true;1355 (void)window; 1356 (void)arg; 1357 demo_kbd_event(event); 1090 1358 } 1091 1359 … … 1099 1367 errno_t rc; 1100 1368 const char *display_svc = DISPLAY_DEFAULT; 1369 const char *ui_display_spec = UI_ANY_DEFAULT; 1101 1370 int i; 1102 1371 … … 1111 1380 } 1112 1381 1113 display_svc = argv[i++];1382 display_svc = ui_display_spec = argv[i++]; 1114 1383 } else { 1115 1384 printf("Invalid option '%s'.\n", argv[i]); … … 1119 1388 } 1120 1389 1121 if (i >= argc || str_cmp(argv[i], " display") == 0) {1122 rc = demo_ display(display_svc);1390 if (i >= argc || str_cmp(argv[i], "ui") == 0) { 1391 rc = demo_ui(ui_display_spec); 1123 1392 if (rc != EOK) 1124 1393 return 1; … … 1127 1396 if (rc != EOK) 1128 1397 return 1; 1129 } else if (str_cmp(argv[i], " ui") == 0) {1130 rc = demo_ ui(display_svc);1398 } else if (str_cmp(argv[i], "display") == 0) { 1399 rc = demo_display(display_svc); 1131 1400 if (rc != EOK) 1132 1401 return 1;
Note:
See TracChangeset
for help on using the changeset viewer.
