source: xtideuniversalbios/trunk/Assembly_Library/Src/Menu/Dialog/DialogSelection.asm @ 526

Last change on this file since 526 was 526, checked in by krille_n_@…, 11 years ago

Changes:

  • Update of the copyright notices to include the year 2013.
File size: 2.6 KB
Line 
1; Project name  :   Assembly Library
2; Description   :   Displays selection dialog.
3
4;
5; XTIDE Universal BIOS and Associated Tools
6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
7;
8; This program is free software; you can redistribute it and/or modify
9; it under the terms of the GNU General Public License as published by
10; the Free Software Foundation; either version 2 of the License, or
11; (at your option) any later version.
12;
13; This program is distributed in the hope that it will be useful,
14; but WITHOUT ANY WARRANTY; without even the implied warranty of
15; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16; GNU General Public License for more details.
17; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
18;
19
20
21; Section containing code
22SECTION .text
23
24;--------------------------------------------------------------------
25; DialogSelection_GetSelectionToAXwithInputInDSSI
26;   Parameters:
27;       DS:SI:  Ptr to DIALOG_INPUT
28;       SS:BP:  Ptr to parent MENU
29;   Returns:
30;       Nothing
31;   Corrupts registers:
32;       AX, BX, CX, DX, SI, DI
33;--------------------------------------------------------------------
34ALIGN JUMP_ALIGN
35DialogSelection_GetSelectionToAXwithInputInDSSI:
36    mov     bx, SelectionEventHandler
37    jmp     Dialog_DisplayWithDialogInputInDSSIandHandlerInBX
38
39
40;--------------------------------------------------------------------
41; SelectionEventHandler
42;   Common parameters for all events:
43;       BX:         Menu event (anything from MENUEVENT struct)
44;       SS:BP:      Ptr to DIALOG
45;   Common return values for all events:
46;       CF:         Set if event processed
47;                   Cleared if event not processed
48;   Corrupts registers:
49;       All
50;--------------------------------------------------------------------
51ALIGN JUMP_ALIGN
52SelectionEventHandler:
53    jmp     [cs:bx+.rgfnEventHandlers]
54
55
56ALIGN JUMP_ALIGN
57.InitializeMenuinitFromDSSI:
58    xor     ax, ax
59    jmp     Dialog_EventInitializeMenuinitFromDSSIwithHighlightedItemInAX
60
61
62ALIGN WORD_ALIGN
63.rgfnEventHandlers:
64istruc MENUEVENT
65    at  MENUEVENT.InitializeMenuinitFromDSSI,   dw  .InitializeMenuinitFromDSSI
66    at  MENUEVENT.ExitMenu,                     dw  Dialog_EventExitMenu
67    at  MENUEVENT.IdleProcessing,               dw  Dialog_EventNotHandled
68    at  MENUEVENT.ItemHighlightedFromCX,        dw  Dialog_EventNotHandled
69    at  MENUEVENT.ItemSelectedFromCX,           dw  Dialog_EventAnyThatClosesDialog
70    at  MENUEVENT.KeyStrokeInAX,                dw  Dialog_EventNotHandled
71    at  MENUEVENT.RefreshTitle,                 dw  Dialog_EventRefreshTitle
72    at  MENUEVENT.RefreshInformation,           dw  Dialog_EventRefreshInformation
73    at  MENUEVENT.RefreshItemFromCX,            dw  Dialog_EventRefreshItemFromCX
74iend
Note: See TracBrowser for help on using the repository browser.