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

Last change on this file since 554 was 526, checked in by krille_n_@…, 12 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.