Changeset 568 in xtideuniversalbios for trunk/Assembly_Library/Src/Menu/Dialog
- Timestamp:
- Dec 21, 2014, 5:37:53 PM (10 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk/Assembly_Library/Src/Menu/Dialog
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Menu/Dialog/DialogFile.asm
r526 r568 623 623 mov cx, STRING_DIALOG_IO_size 624 624 call Memory_ReserveCXbytesFromStackToDSSI 625 call .InitializeStringDialogIoInDSSIforInputtingFileName 626 627 CALL_MENU_LIBRARY GetStringWithIoInDSSI 628 mov al, [si+STRING_DIALOG_IO.bUserCancellation] 629 add sp, BYTE STRING_DIALOG_IO_size 630 test al, al ; User cancellation? 631 jnz SHORT ReturnWithoutHandlingKeystroke 632 jmp CloseFileDialogAfterSuccessfulSelection 633 634 ALIGN JUMP_ALIGN 635 .InitializeStringDialogIoInDSSIforInputtingFileName: 625 626 ;;; InitializeStringDialogIoInDSSIforInputtingFileName 636 627 call InitializeNullStringsToDialogInputInDSSI 637 628 mov WORD [si+DIALOG_INPUT.fszTitle], g_szEnterNewFileOrDirectory … … 642 633 mov [si+STRING_DIALOG_IO.fpReturnBuffer], ax 643 634 mov [si+STRING_DIALOG_IO.fpReturnBuffer+2], es 644 ret 635 ;;; 636 637 CALL_MENU_LIBRARY GetStringWithIoInDSSI 638 mov al, [si+STRING_DIALOG_IO.bUserCancellation] 639 add sp, BYTE STRING_DIALOG_IO_size 640 test al, al ; User cancellation? 641 jnz SHORT ReturnWithoutHandlingKeystroke 642 jmp CloseFileDialogAfterSuccessfulSelection 645 643 646 644 -
trunk/Assembly_Library/Src/Menu/Dialog/DialogString.asm
r526 r568 99 99 mov cx, [si+STRING_DIALOG_IO.wBufferSize] 100 100 les di, [si+STRING_DIALOG_IO.fpReturnBuffer] 101 call .GetCharacterFilterFunctionToDX 101 mov dx, [si+STRING_DIALOG_IO.fnCharFilter] 102 test dx, dx 103 jnz SHORT .CharacterFilterFunctionInDX 104 mov dx, Char_CharIsValid 102 105 106 .CharacterFilterFunctionInDX: 103 107 call Keyboard_ReadUserInputtedStringToESDIWhilePrinting 104 108 jz SHORT .UserCancellation … … 108 112 .UserCancellation: 109 113 ret 110 111 ;--------------------------------------------------------------------112 ; .GetCharacterFilterFunctionToDX113 ; Parameters114 ; DS:SI: Ptr to STRING_DIALOG_IO115 ; SS:BP: Ptr to DIALOG116 ; Returns:117 ; CS:DX: Ptr to character filter function118 ; Corrupts registers:119 ; Nothing120 ;--------------------------------------------------------------------121 ALIGN JUMP_ALIGN122 .GetCharacterFilterFunctionToDX:123 mov dx, [si+STRING_DIALOG_IO.fnCharFilter]124 test dx, dx125 jnz SHORT .ReturnFilterFunctionInDX126 mov dx, Char_CharIsValid127 ALIGN JUMP_ALIGN, ret128 .ReturnFilterFunctionInDX:129 ret -
trunk/Assembly_Library/Src/Menu/Dialog/DialogWord.asm
r526 r568 93 93 ; Nothing (User input stored to WORD_DIALOG_IO) 94 94 ; Corrupts registers: 95 ; AX, BX, DX, SI, DI95 ; AX, BX, CX, DX, SI, DI 96 96 ;-------------------------------------------------------------------- 97 97 ALIGN JUMP_ALIGN … … 100 100 eMOVZX bx, [si+WORD_DIALOG_IO.bNumericBase] 101 101 ALIGN JUMP_ALIGN 102 .GetUserInput IntilValidOrCancelled:102 .GetUserInputUntilValidOrCancelled: 103 103 call Keyboard_ReadUserInputtedWordWhilePrinting 104 104 jz SHORT .UserCancellation … … 116 116 .InputtedWordNotInRange: 117 117 call Keyboard_PlayBellForUnwantedKeystroke 118 call .ClearInputtedWordFromDialog 119 jmp SHORT .GetUserInputIntilValidOrCancelled 120 121 ;-------------------------------------------------------------------- 122 ; .ClearInputtedWordFromDialog 123 ; Parameters 124 ; SS:BP: Ptr to DIALOG 125 ; Returns: 126 ; Nothing 127 ; Corrupts registers: 128 ; AX, CX, DX, DI 129 ;-------------------------------------------------------------------- 130 ALIGN JUMP_ALIGN 131 .ClearInputtedWordFromDialog: 118 ; Clear inputted word from dialog 132 119 CALL_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX 133 120 xchg dx, ax … … 138 125 139 126 xchg ax, dx 140 JMP_DISPLAY_LIBRARY SetCursorCoordinatesFromAX141 127 CALL_DISPLAY_LIBRARY SetCursorCoordinatesFromAX 128 jmp SHORT .GetUserInputUntilValidOrCancelled
Note:
See TracChangeset
for help on using the changeset viewer.