develop/examples/checkbox: Post-SVN tidy

- Move source code from `trunk` into program root directory.
- Update build files and ASM include paths.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
2025-05-22 12:36:00 +01:00
parent 5a96f6efbb
commit 7273186d3d
4 changed files with 131 additions and 125 deletions

View File

@@ -1,125 +1,131 @@
;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32) ; SPDX-License-Identifier: NOASSERTION
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨, ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì ¯à¨ ¯à®¢¥àª¥ ­¥ ;¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥ ;
;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤.
;21.02.2007 ¬®¤¥à­¨§ æ¨ï ¨ ¯®¤¤¥à¦ª  ¤¢ãå à §­ëå ¢ à¨ ­â®¢ á ¨á¯®«ì§®¢ ­¨¥¬ á¨á 梥⮢ ¨ áâ à®© á奬®© ; Text encoded with Code Page 866 - Cyrillic
;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥­¨ï checkbox
;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru ;Ž¯â¨¬¨§¨à®¢ ­­ë© ª®¬¯®­¥­â CheckBox (ˆá室­ë© ¢ à¨ ­â ®â Maxxxx32)
;Ž¯â¨¬¨§¨à®¢ ­ ¢ë¢®¤ áâப¨, ­ ¤¯¨á¨ ¤«ï CheckBox'a + ⥯¥àì ¯à¨ ¯à®¢¥àª¥ ­¥ ;¯à®¨á室¨â ¯®¤áç¥â ª®«-¢  ᨬ¢®«®¢ ¢ áâப¥
;§ £®«®¢®ª ¯à¨«®¦¥­¨ï ;Ž¯â¨¬¨§ æ¨ï ª®¬ ­¤.
use32 ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë ;21.02.2007 ¬®¤¥à­¨§ æ¨ï ¨ ¯®¤¤¥à¦ª  ¤¢ãå à §­ëå ¢ à¨ ­â®¢ á ¨á¯®«ì§®¢ ­¨¥¬ á¨á 梥⮢ ¨ áâ à®© á奬®©
org 0x0 ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0 ;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå æ¢¥â®¢ ¤«ï ®â®¡à ¦¥­¨ï checkbox
db 'MENUET01' ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â) ;22.08.2006 ¯à®¨§¢¥¤¥­  ®¯â¨¬¨§ æ¨ï ª®¬ ­¤, ¯à¨­ïâë ¢® ¢­¨¬ ­¨¥ § ¬¥ç ­¨ï DIAMOND' .
dd 0x1 ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©«  ;<Lrz> - ’¥¯«®¢ €«¥ªá¥© www.lrz.land.ru
dd start ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï use32 ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
dd i_end ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â  org 0x0 ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0
dd i_end ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã §  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥ db 'MENUET01' ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
dd 0x0,0x0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨. dd 0x1 ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
; ¥á«¨ ¯®á«¥ § ¯ã᪠ ­¥à ¢­® ­ã«î, ¯à¨«®¦¥­¨¥ ¡ë«® dd start ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
; § ¯ã饭® á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ­¤­®© áâப¨ ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
dd i_end ; à §¬¥à ¯à¨«®¦¥­¨ï
; 㪠§ â¥«ì ­  áâபã, ¢ ª®â®àãî § ¯¨á ­ ¯ãâì, dd i_end ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
; ®âªã¤  § ¯ã饭® ¯à¨«®¦¥­¨¥ dd i_end ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áà §ã §  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
;------------------ dd 0x0,0x0 ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
include '..\..\..\..\macros.inc' ; ¥á«¨ ¯®á«¥ § ¯ã᪠ ­¥à ¢­® ­ã«î, ¯à¨«®¦¥­¨¥ ¡ë«®
include 'check.inc' ;¢ª«îç¨âì ä ©« check.inc ; § ¯ã饭® á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ­¤­®© áâப¨
; version_ch ;­¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î祭¨ï "áâ à®©" ¢¥àᨨ check_box
version_ch1 ;­¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î祭¨ï new ¢¥àᨨ check_box1 ; 㪠§ â¥«ì ­  áâபã, ¢ ª®â®àãî § ¯¨á ­ ¯ãâì,
;<3B>¥¤®¯ãá⨬® ¢ª«î祭¨¥ ¤¢ãå ¬ ªà®á¢® version_ch1 ¨ version_ch - ®­¨ ¢§ ¬®¨áª«îç îâ ¤àã£- ¤à£ã£ . ; ®âªã¤  § ¯ã饭® ¯à¨«®¦¥­¨¥
use_check_box ;¨á¯®«ì§ãï ¬ ªà®áë ¢­¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ­¨ï 祪 ¡®ªá  ;------------------
;Ž¡« áâì ª®¤  include '..\..\..\macros.inc'
align 4 include 'check.inc' ;¢ª«îç¨âì ä ©« check.inc
start: ;’®çª  ¢å®¤  ¢ ¯à®£à ¬¬ã ; version_ch ;­¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î祭¨ï "áâ à®©" ¢¥àᨨ check_box
mov eax,48 ;¯®«ãç¨âì á¨á⥬­ë¥ æ¢¥â  version_ch1 ;­¥®¡å®¤¨¬ë© ¬ ªà®á ¤«ï ¢ª«î祭¨ï new ¢¥àᨨ check_box1
mov ebx,3 ;<3B>¥¤®¯ãá⨬® ¢ª«î祭¨¥ ¤¢ãå ¬ ªà®á¢® version_ch1 ¨ version_ch - ®­¨ ¢§ ¬®¨áª«îç îâ ¤àã£- ¤à£ã£ .
mov ecx,sc use_check_box ;¨á¯®«ì§ãï ¬ ªà®áë ¢­¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ­¨ï 祪 ¡®ªá 
mov edx,sizeof.system_colors ;Ž¡« áâì ª®¤ 
mcall align 4
start: ;’®çª  ¢å®¤  ¢ ¯à®£à ¬¬ã
mov eax,40 ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩ mov eax,48 ;¯®«ãç¨âì á¨á⥬­ë¥ 梥â 
mov ebx,0x25 ;á¨á⥬  ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 ­  á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥,­ ¦ â  ª­®¯ª , ®¯à¥¤¥«ñ­­ ï à ­¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ­ ¦ â¨¥ ­  ª­®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥­¨¥; á¡à á뢠¥âáï ¯à¨ ¯à®ç⥭¨¨) mov ebx,3
mcall mov ecx,sc
red_win: mov edx,sizeof.system_colors
call draw_window ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­® mcall
still: ;®á­®¢­®© ®¡à ¡®â稪
mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï mov eax,40 ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥­¨¥ 2 ¬¨««¨á¥ªã­¤ mov ebx,0x25 ;á¨á⥬  ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 ­  á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥,­ ¦ â  ª­®¯ª , ®¯à¥¤¥«ñ­­ ï à ­¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ­ ¦ â¨¥ ­  ª­®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥­¨¥; á¡à á뢠¥âáï ¯à¨ ¯à®ç⥭¨¨)
mcall
cmp al,0x1 ;¥á«¨ ¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­  red_win:
jz red_win call draw_window ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­®
cmp al,0x3 ;¥á«¨ ­ ¦ â  ª­®¯ª  â® ¯¥à¥©â¨ still: ;®á­®¢­®© ®¡à ¡®â稪
jz button mov eax,10 ;ަ¨¤ âì ᮡëâ¨ï
mouse_check_boxes check_boxes,check_boxes_end ;¯à®¢¥àª  祪 ¡®ªá  mcall ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥­¨¥ 2 ¬¨««¨á¥ªã­¤
jmp still ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
button: cmp al,0x1 ;¥á«¨ ¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã ­ á ¦¥ ⮫쪮 3 ¢ë©â¨ jz red_win
mcall ;¤ «¥¥ ¢ë¯®«­ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë cmp al,0x3 ;¥á«¨ ­ ¦ â  ª­®¯ª  â® ¯¥à¥©â¨
jz button
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> mouse_check_boxes check_boxes,check_boxes_end ;¯à®¢¥àª  祪 ¡®ªá 
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>> jmp still ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
draw_window: ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï button:
mov eax,12 ;¢ ॣ¨áâà ¢­¥á⨠§­ ç¥­¨¥ = 12 or eax,-1 ;¢ eax,-1 - 5 ,¡ ©â®¢ ã ­ á ¦¥ ⮫쪮 3 ¢ë©â¨
mov ebx,1 ;¯à¨á¢®¨âì 1 mcall ;¤ «¥¥ ¢ë¯®«­ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
mcall
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
xor eax,eax ;®¡­ã«¨âì eax ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mov ebx,50*65536+180 ;[ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x] draw_window: ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï
mov ecx,30*65536+100 ;[ª®®à¤¨­ â  ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y] mov eax,12 ;¢ ॣ¨áâà ¢­¥á⨠§­ ç¥­¨¥ = 12
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl mov ebx,1 ;¯à¨á¢®¨âì 1
or edx,0xb3000000 mcall
mov edi,hed
mcall ;­ à¨á®¢ âì ®ª­® ¯à¨«®¦¥­¨ï xor eax,eax ;®¡­ã«¨âì eax
mov ebx,50*65536+180 ;[ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
draw_check_boxes check_boxes,check_boxes_end ;à¨á®¢ ­¨¥ 祪¡®ªá®¢ mov ecx,30*65536+100 ;[ª®®à¤¨­ â  ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
mov eax,12 ;”ã­ªæ¨ï 12 - ­ ç âì/§ ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ . or edx,0xb3000000
mov ebx,2 ;<3B>®¤äã­ªæ¨ï 2 - § ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ . mov edi,hed
mcall mcall ;­ à¨á®¢ âì ®ª­® ¯à¨«®¦¥­¨ï
ret
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> draw_check_boxes check_boxes,check_boxes_end ;à¨á®¢ ­¨¥ 祪¡®ªá®¢
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;DATA ¤ ­­ë¥ mov eax,12 ;”ã­ªæ¨ï 12 - ­ ç âì/§ ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ .
;”®à¬ â ¤ ­­ëå 祪 ¡®ªá : mov ebx,2 ;<3B>®¤äã­ªæ¨ï 2 - § ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ .
;10 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® å mcall
;30 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® ã ret
;0 - 梥⠧ «¨¢ª¨ ¢­ãâਠ祪 ¡®ªá  ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;0xfffffff - 梥â à ¬ª¨ 祪 ¡®ªá  ¥á«¨ ­ã¦­® â ª ¨á¯®«ì§ãîâáï á¨â¥¬­ë¥ æ¢¥â  ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;0 - 梥â ⥪áâ  ­ ¤¯¨á¨ ¥á«¨ ­ã¦­® â ª ¨á¯®«ì§ãîâáï á¨â¥¬­ë¥ æ¢¥â  ;DATA ¤ ­­ë¥
;ch_text.1 - 㪠§ â¥«ì ­  ­ ç «® áâப¨ ;”®à¬ â ¤ ­­ëå 祪 ¡®ªá :
;ch_text.e1-ch_text.1 - ¤«¨­  áâப¨ ;10 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® å
; ;30 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® ã
align 4 ;0 - 梥⠧ «¨¢ª¨ ¢­ãâਠ祪 ¡®ªá 
check_boxes: ;0xfffffff - 梥â à ¬ª¨ 祪 ¡®ªá  ¥á«¨ ­ã¦­® â ª ¨á¯®«ì§ãîâáï á¨â¥¬­ë¥ 梥â 
;ch1 check_box 10,15,0xffffff,0,0,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en ;0 - 梥â ⥪áâ  ­ ¤¯¨á¨ ¥á«¨ ­ã¦­® â ª ¨á¯®«ì§ãîâáï á¨â¥¬­ë¥ 梥â 
;ch2 check_box 10,30,0xffffff,0,0,ch_text.2,ch_text.e2-ch_text.2 ;ch_text.1 - 㪠§ â¥«ì ­  ­ ç «® áâப¨
;ch3 check_box 10,45,0xffffff,0,0,ch_text.3,ch_text.e3-ch_text.3 ;ch_text.e1-ch_text.1 - ¤«¨­  áâப¨
;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> align 4
;DATA ¤ ­­ë¥ ¤«ï check_box1 - ¨á¯®«ì§ã¥â á¨á⥬­ë¥ æ¢¥â  check_boxes:
;”®à¬ â ¤ ­­ëå 祪 ¡®ªá : ;ch1 check_box 10,15,0xffffff,0,0,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
;10 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® å ;ch2 check_box 10,30,0xffffff,0,0,ch_text.2,ch_text.e2-ch_text.2
;30 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® ã ;ch3 check_box 10,45,0xffffff,0,0,ch_text.3,ch_text.e3-ch_text.3
;ch_text.1 - 㪠§ â¥«ì ­  ­ ç «® áâப¨
;ch_text.e1-ch_text.1 - ¤«¨­  áâப¨ ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;DATA ¤ ­­ë¥ ¤«ï check_box1 - ¨á¯®«ì§ã¥â á¨á⥬­ë¥ 梥â 
; ;”®à¬ â ¤ ­­ëå 祪 ¡®ªá :
ch1 check_box1 10,15,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en ;10 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® å
ch2 check_box1 10,30,ch_text.2,ch_text.e2-ch_text.2 ;30 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® ã
ch3 check_box1 10,45,ch_text.3,ch_text.e3-ch_text.3 ;ch_text.1 - 㪠§ â¥«ì ­  ­ ç «® áâப¨
check_boxes_end: ;ch_text.e1-ch_text.1 - ¤«¨­  áâப¨
ch_text: ;ᮯ஢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢ ;
.1 db 'Check_Box #1' ch1 check_box1 10,15,ch_text.1,ch_text.e1-ch_text.1,ch_flag_en
.e1: ch2 check_box1 10,30,ch_text.2,ch_text.e2-ch_text.2
.2 db 'Check_Box #2' ch3 check_box1 10,45,ch_text.3,ch_text.e3-ch_text.3
.e2: check_boxes_end:
.3 db 'Check_Box #3'
.e3: ch_text: ;ᮯ஢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
.1 db 'Check_Box #1'
hed db 'Checkbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï .e1:
align 16 .2 db 'Check_Box #2'
sc system_colors .e2:
rb 0x100 .3 db 'Check_Box #3'
i_end: ;ª®­¥æ ª®¤  .e3:
hed db 'Checkbox [21.02.2007]',0 ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
align 16
sc system_colors
rb 0x100
i_end: ;ª®­¥æ ª®¤