source: xtideuniversalbios/trunk/Assembly_Library/Src/Menu/Menu.asm @ 60

Last change on this file since 60 was 60, checked in by aitotat, 13 years ago

Changes to Assembly Library:

  • Timeout count down is now stopped when any key pressed.
File size: 3.0 KB
Line 
1; File name     :   Menu.asm
2; Project name  :   Assembly Library
3; Created date  :   3.8.2010
4; Last update   :   22.11.2010
5; Author        :   Tomi Tilli
6; Description   :   Menu Library functions for CALL_MENU_LIBRARY macro
7;                   that users should use to make library call.
8
9; Section containing code
10SECTION .text
11
12;--------------------------------------------------------------------
13; MenuFunctionFromDI
14;   Parameters:
15;       DI:     Function to call (MENU_LIB.functionName)
16;       BP:     Menu handle
17;       Others: Depends on function to call
18;   Returns:
19;       Depends on function to call
20;   Corrupts registers:
21;       AX (unless used as a return register), DI
22;--------------------------------------------------------------------
23ALIGN JUMP_ALIGN
24Menu_FunctionFromDI:
25    push    si
26    push    dx
27    push    cx
28    push    bx
29    call    [cs:di+.rgfnMenuLibraryFunctions]
30    pop     bx
31    pop     cx
32    pop     dx
33    pop     si
34    ret
35
36
37ALIGN WORD_ALIGN
38.rgfnMenuLibraryFunctions:
39istruc MENU_LIB
40    at  MENU_LIB.DisplayWithHandlerInBXandUserDataInDXAX,   dw  MenuInit_DisplayMenuWithHandlerInBXandUserDataInDXAX
41    ;at MENU_LIB.Close,                         dw  MenuInit_CloseMenuWindow                ; Special case in CALL_MENU_LIBRARY
42    at  MENU_LIB.RefreshWindow,                 dw  MenuInit_RefreshMenuWindow
43
44    ;at MENU_LIB.SetUserDataFromDSSI,           dw  MenuInit_SetUserDataFromDSSI            ; Special case in CALL_MENU_LIBRARY
45    ;at MENU_LIB.GetUserDataToDSSI,             dw  MenuInit_GetUserDataToDSSI              ; Special case in CALL_MENU_LIBRARY
46
47    ;at MENU_LIB.SetTitleHeightFromAL,          dw  MenuInit_SetTitleHeightFromAL           ; Special case in CALL_MENU_LIBRARY
48    at  MENU_LIB.ClearTitleArea,                dw  MenuText_ClearTitleArea
49    at  MENU_LIB.RefreshTitle,                  dw  MenuText_RefreshTitle
50
51    at  MENU_LIB.HighlightItemFromAX,           dw  MenuInit_HighlightItemFromAX
52    ;at MENU_LIB.SetTotalItemsFromAX,           dw  MenuInit_SetTotalItemsFromAX            ; Special case in CALL_MENU_LIBRARY
53    at  MENU_LIB.RefreshItemFromAX,             dw  MenuText_RefreshItemFromAX
54
55    ;at MENU_LIB.SetInformationHeightFromAL,    dw  MenuInit_SetInformationHeightFromAL     ; Special case in CALL_MENU_LIBRARY
56    at  MENU_LIB.ClearInformationArea,          dw  MenuText_ClearInformationArea
57    at  MENU_LIB.RefreshInformation,            dw  MenuText_RefreshInformation
58
59    at  MENU_LIB.StartSelectionTimeoutWithTicksInAX,    dw  MenuTime_StartSelectionTimeoutWithTicksInAX
60
61%ifdef INCLUDE_MENU_DIALOGS
62    at  MENU_LIB.StartProgressTaskWithIoInDSSIandParamInDXAX,   dw  DialogProgress_StartProgressTaskWithIoInDSSIandParamInDXAX
63    at  MENU_LIB.SetProgressValueFromAX,                        dw  DialogProgress_SetProgressValueFromAX
64
65    at  MENU_LIB.DisplayMessageWithInputInDSSI,                 dw  DialogMessage_DisplayMessageWithInputInDSSI
66    at  MENU_LIB.GetSelectionToAXwithInputInDSSI,               dw  DialogSelection_GetSelectionToAXwithInputInDSSI
67    at  MENU_LIB.GetWordWithIoInDSSI,                           dw  DialogWord_GetWordWithIoInDSSI
68    at  MENU_LIB.GetStringWithIoInDSSI,                         dw  DialogString_GetStringWithIoInDSSI
69    at  MENU_LIB.GetFileNameWithIoInDSSI,                       dw  DialogFile_GetFileNameWithIoInDSSI
70    at  MENU_LIB.GetDriveWithIoInDSSI,                          dw  DialogDrive_GetDriveWithIoInDSSI
71%endif
72iend
Note: See TracBrowser for help on using the repository browser.