Rev 7438 | Rev 7441 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7438 | Rev 7440 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;CNC CONTROL |
1 | ;CNC CONTROL |
2 | ;Igor Afanasyev (aka IgorA) and Sergey Efremenkov (aka theonlymirage), 2018 |
2 | ;Igor Afanasyev (aka IgorA) and Sergey Efremenkov (aka theonlymirage), 2018 |
Line 3... | Line 3... | ||
3 | 3 | ||
- | 4 | ;02.10.18 - Only prototype UI |
|
Line 4... | Line 5... | ||
4 | ;02.10.18 - Only prototype UI |
5 | ;08.10.18 - Add ComboBox (Button + KMenu), small text |
5 | 6 | ||
6 | format binary as "" |
7 | format binary as "" |
7 | use32 |
8 | use32 |
Line 17... | Line 18... | ||
17 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
18 | include '../../develop/libraries/box_lib/trunk/box_lib.mac' |
18 | include 'lang.inc' |
19 | include 'lang.inc' |
19 | include 'cnc_control.inc' |
20 | include 'cnc_control.inc' |
20 | include '../../develop/info3ds/info_fun_float.inc' |
21 | include '../../develop/info3ds/info_fun_float.inc' |
Line -... | Line 22... | ||
- | 22 | ||
- | 23 | KMENUITEM_NORMAL equ 0 |
|
- | 24 | KMENUITEM_SUBMENU equ 1 |
|
- | 25 | KMENUITEM_SEPARATOR equ 2 |
|
21 | 26 | ||
22 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
27 | @use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load |
Line 23... | Line 28... | ||
23 | caption db 'CNC Control 02.10.18',0 ;¯®¤¯¨áì ®ª |
28 | caption db 'CNC Control 08.10.18',0 ;¯®¤¯¨áì ®ª |
Line 24... | Line 29... | ||
24 | 29 | ||
Line 63... | Line 68... | ||
63 | mov [last_time],eax |
68 | mov [last_time],eax |
Line 64... | Line 69... | ||
64 | 69 | ||
65 | ;call but_new_file |
70 | ;call but_new_file |
Line 66... | Line 71... | ||
66 | option_boxes_set_sys_color sc,opt_grlist1 |
71 | option_boxes_set_sys_color sc,opt_grlist1 |
67 | 72 | ||
68 | ;progress bar trash |
73 | ;progress bar |
69 | mov [pb.left], dword 50 |
74 | mov [pb.left], dword 50 |
70 | mov [pb.top], dword 30 |
75 | mov [pb.top], dword 30 |
71 | mov [pb.width], dword 350 |
76 | mov [pb.width], dword 350 |
Line 75... | Line 80... | ||
75 | mov [pb.value], dword 50;-397 |
80 | mov [pb.value], dword 50;-397 |
76 | mov [pb.back_color], dword 00C8D0D4h |
81 | mov [pb.back_color], dword 00C8D0D4h |
77 | mov [pb.progress_color], dword 8072B7EBh |
82 | mov [pb.progress_color], dword 8072B7EBh |
78 | mov [pb.frame_color], dword 00406175h |
83 | mov [pb.frame_color], dword 00406175h |
Line -... | Line 84... | ||
- | 84 | ||
- | 85 | ;port menu |
|
- | 86 | stdcall [kmenu_init], sc ;kmenu initialisation |
|
- | 87 | ;stdcall [ksubmenu_new] |
|
- | 88 | ;mov [main_menu], eax |
|
- | 89 | ||
- | 90 | stdcall [ksubmenu_new] |
|
- | 91 | mov [port_menu], eax |
|
- | 92 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_COMport, 110 |
|
- | 93 | stdcall [ksubmenu_add], [port_menu], eax |
|
- | 94 | stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_USBport, 111 |
|
- | 95 | stdcall [ksubmenu_add], [port_menu], eax |
|
- | 96 | ;stdcall [kmenuitem_new], KMENUITEM_SEPARATOR, 0, 0 |
|
- | 97 | ;stdcall [ksubmenu_add], [port_menu], eax |
|
- | 98 | ;stdcall [kmenuitem_new], KMENUITEM_NORMAL, sz_OTHERport, 112 |
|
- | 99 | ;stdcall [ksubmenu_add], [port_menu], eax |
|
- | 100 | stdcall [kmenuitem_new], KMENUITEM_SUBMENU, sz_PortMenu, [port_menu] |
|
- | 101 | ;stdcall [ksubmenu_add], [main_menu], eax |
|
79 | 102 | ||
80 | align 4 |
103 | align 4 |
81 | red_win: |
104 | red_win: |
Line 82... | Line 105... | ||
82 | call draw_window |
105 | call draw_window |
Line 116... | Line 139... | ||
116 | align 4 |
139 | align 4 |
117 | mouse: |
140 | mouse: |
118 | stdcall [option_box_mouse], opt_grlist1 |
141 | stdcall [option_box_mouse], opt_grlist1 |
119 | stdcall [edit_box_mouse], editFileName |
142 | stdcall [edit_box_mouse], editFileName |
120 | stdcall [edit_box_mouse], editCommand |
143 | stdcall [edit_box_mouse], editCommand |
- | 144 | stdcall [kmainmenu_dispatch_cursorevent], [port_menu] ;[main_menu] |
|
Line 121... | Line 145... | ||
121 | 145 | ||
122 | push eax ebx ecx |
146 | push eax ebx ecx |
123 | mcall SF_MOUSE_GET,SSF_BUTTON_EXT |
147 | mcall SF_MOUSE_GET,SSF_BUTTON_EXT |
124 | bt eax,8 |
148 | bt eax,8 |
Line 287... | Line 311... | ||
287 | @@: |
311 | @@: |
288 | popad |
312 | popad |
289 | ret |
313 | ret |
290 | endp |
314 | endp |
Line -... | Line 315... | ||
- | 315 | ||
- | 316 | WINDOW_WIDTH = 775 |
|
- | 317 | WINDOW_HEIGHT = 445 |
|
291 | 318 | ||
292 | align 4 |
319 | align 4 |
293 | draw_window: |
320 | draw_window: |
294 | pushad |
321 | pushad |
Line 295... | Line 322... | ||
295 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
322 | mcall SF_REDRAW,SSF_BEGIN_DRAW |
296 | 323 | ||
297 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
324 | ; *** à¨á®¢ ¨¥ £« ¢®£® ®ª (¢ë¯®«ï¥âáï 1 à § ¯à¨ § ¯ã᪥) *** |
298 | mov edx,[sc.work] |
325 | mov edx,[sc.work] |
299 | or edx,0x33000000 |
326 | or edx,0x33000000 |
Line 300... | Line 327... | ||
300 | mov edi,caption |
327 | mov edi,caption |
301 | mcall SF_CREATE_WINDOW,(20 shl 16)+775,(20 shl 16)+445 |
328 | mcall SF_CREATE_WINDOW,(20 shl 16)+WINDOW_WIDTH,(20 shl 16)+WINDOW_HEIGHT |
302 | 329 | ||
303 | ;;mcall SF_THREAD_INFO,procinfo,-1 |
330 | ;;mcall SF_THREAD_INFO,procinfo,-1 |
Line 349... | Line 376... | ||
349 | mcall ,(437 shl 16)+86,(378 shl 16)+20,7 ;cancel |
376 | mcall ,(437 shl 16)+86,(378 shl 16)+20,7 ;cancel |
350 | mcall ,(616 shl 16)+136,(378 shl 16)+20,8 ;run |
377 | mcall ,(616 shl 16)+136,(378 shl 16)+20,8 ;run |
Line 351... | Line 378... | ||
351 | 378 | ||
352 | ; *** |
379 | ; *** |
353 | mov ecx,[sc.work_text] |
380 | mov ecx,[sc.work_text] |
- | 381 | or ecx,0x80000000 ;0x81000000 |
|
354 | or ecx,0x81000000 |
382 | textYcoord = 13;5 |
355 | mcall SF_DRAW_TEXT,(15 shl 16)+5,,txt_preview |
383 | mcall SF_DRAW_TEXT,(15 shl 16)+textYcoord,,txt_preview |
356 | mcall ,(424 shl 16)+5,,txt_port |
384 | mcall ,(424 shl 16)+textYcoord,,txt_port |
357 | mov ecx,[sc.work_button_text] |
385 | mov ecx,[sc.work_button_text] |
358 | or ecx,0x81000000 |
386 | or ecx,0x81000000 |
359 | mcall ,(440 shl 16)+381,,txt_but_cancel |
387 | mcall ,(440 shl 16)+381,,txt_but_cancel |
Line 373... | Line 401... | ||
373 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
401 | add ebx,IMAGE_TOOLBAR_ICON_SIZE |
374 | mcall ,,,((638+97) shl 16)+380 ;run |
402 | mcall ,,,((638+97) shl 16)+380 ;run |
Line 375... | Line 403... | ||
375 | 403 | ||
Line -... | Line 404... | ||
- | 404 | stdcall [buf2d_draw], buf_0 |
|
- | 405 | ||
- | 406 | ;delete port button, if it exist |
|
- | 407 | mov edx, 0x80000008 |
|
- | 408 | mcall 8 |
|
- | 409 | ;draw button PORT |
|
- | 410 | buttonPortX = 433 |
|
- | 411 | buttonPortY = 27 ;50 |
|
- | 412 | buttonPortTextXoffset = 5 |
|
- | 413 | mov ebx, buttonPortX*65536 + 95 ;X + Width |
|
- | 414 | mov ecx, buttonPortY*65536 + 20 ;Y + Height |
|
- | 415 | mov edx, 0x00000008 ;button id |
|
- | 416 | mov esi, 0x00AABBCC ;color button |
|
- | 417 | mcall 8 |
|
- | 418 | ;draw text for button PORT |
|
- | 419 | mov ebx, (buttonPortX+buttonPortTextXoffset) * 65536 + (buttonPortY+6) ;(x, y) |
|
- | 420 | mov ecx, 0xFFFFFF |
|
- | 421 | mov edx, sz_PortMenu |
|
- | 422 | mov esi, 11 |
|
- | 423 | mcall 4 |
|
- | 424 | ;stdcall [kmainmenu_draw], [main_menu] |
|
- | 425 | ;mov word[coord.x], 0 |
|
- | 426 | ;mov word[coord.y], 0 |
|
376 | stdcall [buf2d_draw], buf_0 |
427 | ;stdcall [ksubmenu_draw], [port_menu], coord |
377 | 428 | ||
378 | mcall SF_REDRAW,SSF_END_DRAW |
429 | mcall SF_REDRAW,SSF_END_DRAW |
Line 379... | Line 430... | ||
379 | popad |
430 | popad |
Line 402... | Line 453... | ||
402 | jmp still |
453 | jmp still |
Line 403... | Line 454... | ||
403 | 454 | ||
404 | align 4 |
455 | align 4 |
405 | button: |
456 | button: |
- | 457 | mcall SF_GET_BUTTON |
|
406 | mcall SF_GET_BUTTON |
458 | |
407 | cmp ah,3 |
459 | cmp ah,3 |
408 | jne @f |
460 | jne @f |
409 | call but_open_file |
461 | call but_open_file |
410 | jmp still |
462 | jmp still |
411 | @@: |
463 | @@: |
412 | cmp ah,4 |
464 | cmp ah,4 |
413 | jne @f |
465 | jne @f |
414 | call but_restore_zoom |
466 | call but_restore_zoom |
415 | jmp still |
467 | jmp still |
- | 468 | @@: |
|
- | 469 | cmp ah, 8 |
|
- | 470 | jne @f |
|
- | 471 | push eax ebx ecx |
|
- | 472 | mcall 9, pi, -1 ;get window coord |
|
- | 473 | ||
- | 474 | mov eax, dword[pi+34] |
|
- | 475 | add eax, buttonPortX + 5 |
|
Line -... | Line 476... | ||
- | 476 | mov word[coord.x], ax |
|
- | 477 | ||
- | 478 | mov eax, dword[pi+38] |
|
- | 479 | add eax, buttonPortY + 42 |
|
- | 480 | mov word[coord.y], ax |
|
- | 481 | ||
- | 482 | stdcall [ksubmenu_draw], [port_menu], coord |
|
416 | @@: |
483 | pop ecx ebx eax |
417 | 484 | @@: |
|
418 | ;cmp ah,5 |
485 | ;cmp ah,5 |
419 | ;jne @f |
486 | ;jne @f |
420 | ;call but_... |
487 | ;call but_... |
Line 664... | Line 731... | ||
664 | db 'PNG',0 |
731 | db 'PNG',0 |
665 | .end: |
732 | .end: |
666 | db 0 |
733 | db 0 |
Line -... | Line 734... | ||
- | 734 | ||
- | 735 | ||
- | 736 | ;[ |
|
- | 737 | ;for test |
|
- | 738 | main_menu dd 0 |
|
- | 739 | port_menu dd 0 |
|
- | 740 | ||
- | 741 | sz_PortMenu db 'COM 12 ',0 |
|
- | 742 | sz_COMport db 'COM port 12',0 |
|
- | 743 | sz_USBport db 'USB port ',0 |
|
- | 744 | sz_OTHERport db 'Other port ',0 |
|
- | 745 | ||
- | 746 | coord: |
|
- | 747 | .x dw 100 |
|
Line 667... | Line 748... | ||
667 | 748 | .y dw 200 |
|
668 | 749 | ;] |
|
Line 669... | Line 750... | ||
669 | 750 | ||
Line 688... | Line 769... | ||
688 | system_dir_3 db '/sys/lib/' |
769 | system_dir_3 db '/sys/lib/' |
689 | lib_name_3 db 'box_lib.obj',0 |
770 | lib_name_3 db 'box_lib.obj',0 |
690 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
771 | err_msg_found_lib_3 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'box_lib.obj',39,0 |
691 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
772 | err_msg_import_3 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'box_lib',39,0 |
Line -... | Line 773... | ||
- | 773 | ||
- | 774 | system_dir_4 db '/sys/lib/' |
|
- | 775 | lib_name_4 db 'kmenu.obj',0 |
|
- | 776 | err_msg_found_lib_4 db '¥ ©¤¥ ¡¨¡«¨®â¥ª ',39,'kmenu.obj',39,0 |
|
- | 777 | err_msg_import_4 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ ',39,'kmenu',39,0 |
|
692 | 778 | ||
693 | l_libs_start: |
779 | l_libs_start: |
694 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
780 | lib_0 l_libs lib_name_0, sys_path, file_name, system_dir_0,\ |
695 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
781 | err_message_found_lib_0, head_f_l, proclib_import,err_message_import_0, head_f_i |
696 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
782 | lib_1 l_libs lib_name_1, sys_path, file_name, system_dir_1,\ |
697 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
783 | err_message_found_lib_1, head_f_l, import_libimg, err_message_import_1, head_f_i |
698 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
784 | lib_2 l_libs lib_name_2, sys_path, library_path, system_dir_2,\ |
699 | err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i |
785 | err_msg_found_lib_2,head_f_l,import_buf2d,err_msg_import_2,head_f_i |
700 | lib_3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\ |
786 | lib_3 l_libs lib_name_3, sys_path, file_name, system_dir_3,\ |
- | 787 | err_msg_found_lib_3, head_f_l, import_box_lib,err_msg_import_3,head_f_i |
|
- | 788 | lib_4 l_libs lib_name_4, sys_path, file_name, system_dir_4,\ |
|
701 | err_msg_found_lib_3, head_f_l, import_box_lib,err_msg_import_3,head_f_i |
789 | err_msg_found_lib_4, head_f_l, import_libkmenu,err_msg_import_4,head_f_i |
Line 702... | Line 790... | ||
702 | l_libs_end: |
790 | l_libs_end: |
703 | 791 | ||
704 | align 4 |
792 | align 4 |
Line 860... | Line 948... | ||
860 | 948 | ||
861 | sz_progressbar_draw db 'progressbar_draw', 0 |
949 | sz_progressbar_draw db 'progressbar_draw', 0 |
Line 862... | Line 950... | ||
862 | sz_progressbar_progress db 'progressbar_progress', 0 |
950 | sz_progressbar_progress db 'progressbar_progress', 0 |
- | 951 | ||
- | 952 | align 4 |
|
- | 953 | import_libkmenu: |
|
- | 954 | kmenu_init dd akmenu_init |
|
- | 955 | kmainmenu_draw dd akmainmenu_draw |
|
- | 956 | kmainmenu_dispatch_cursorevent dd akmainmenu_dispatch_cursorevent |
|
- | 957 | ksubmenu_new dd aksubmenu_new |
|
- | 958 | ksubmenu_delete dd aksubmenu_delete |
|
- | 959 | ksubmenu_draw dd aksubmenu_draw |
|
- | 960 | ksubmenu_add dd aksubmenu_add |
|
- | 961 | kmenuitem_new dd akmenuitem_new |
|
- | 962 | kmenuitem_delete dd akmenuitem_delete |
|
- | 963 | kmenuitem_draw dd akmenuitem_draw |
|
- | 964 | dd 0,0 |
|
- | 965 | akmenu_init db 'kmenu_init',0 |
|
- | 966 | akmainmenu_draw db 'kmainmenu_draw',0 |
|
- | 967 | akmainmenu_dispatch_cursorevent db 'kmainmenu_dispatch_cursorevent',0 |
|
- | 968 | aksubmenu_new db 'ksubmenu_new',0 |
|
- | 969 | aksubmenu_delete db 'ksubmenu_delete',0 |
|
- | 970 | aksubmenu_draw db 'ksubmenu_draw',0 |
|
- | 971 | aksubmenu_add db 'ksubmenu_add',0 |
|
- | 972 | akmenuitem_new db 'kmenuitem_new',0 |
|
- | 973 | akmenuitem_delete db 'kmenuitem_delete',0 |
|
- | 974 | akmenuitem_draw db 'kmenuitem_draw',0 |
|
- | 975 | ||
- | 976 | button_press dd 0 ;for kmenu |
|
863 | 977 | ||
864 | align 4 |
978 | align 4 |
Line 865... | Line 979... | ||
865 | mouse_dd dd 0 |
979 | mouse_dd dd 0 |
866 | last_time dd 0 |
980 | last_time dd 0 |
Line 983... | Line 1097... | ||
983 | file_name: rb 1024 ;4096 |
1097 | file_name: rb 1024 ;4096 |
984 | library_path rb 1024 |
1098 | library_path rb 1024 |
985 | plugin_path rb 4096 |
1099 | plugin_path rb 4096 |
986 | openfile_path rb 4096 |
1100 | openfile_path rb 4096 |
987 | filename_area rb 256 |
1101 | filename_area rb 256 |
- | 1102 | pi rb 1024 |
|
988 | mem:'a' |
1103 | mem:'a' |