Changeset 104 in xtideuniversalbios for trunk/Assembly_Library/Src/Menu/MenuLocation.asm
- Timestamp:
- Feb 2, 2011, 3:53:52 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Src/Menu/MenuLocation.asm
r60 r104 1 ; File name : MenuLocation.asm2 1 ; Project name : Assembly Library 3 ; Created date : 14.7.20104 ; Last update : 25.11.20105 ; Author : Tomi Tilli6 2 ; Description : Functions for calculation menu window dimensions. 7 3 8 4 ; Section containing code 9 5 SECTION .text 10 11 ;--------------------------------------------------------------------12 ; MenuLocation_GetScrollbarCoordinatesToAXforItemInAX13 ; Parameters14 ; AX: Item index15 ; SS:BP: Ptr to MENU16 ; Returns:17 ; AL: Column (X)18 ; AH: Row (Y)19 ; Corrupts registers:20 ; Nothing21 ;--------------------------------------------------------------------22 ALIGN JUMP_ALIGN23 MenuLocation_GetScrollbarCoordinatesToAXforItemInAX:24 call MenuLocation_GetTextCoordinatesToAXforItemInAX25 add al, [bp+MENUINIT.bWidth]26 sub al, MENU_TEXT_COLUMN_OFFSET*227 ret28 29 6 30 7 ;-------------------------------------------------------------------- … … 72 49 ; MenuLocation_GetTitleBordersTopLeftCoordinatesToAX 73 50 ; MenuLocation_GetItemBordersTopLeftCoordinatesToAX 74 ; MenuLocation_GetInformationBordersTopLeftCoordinatesToAX75 51 ; MenuLocation_GetBottomBordersTopLeftCoordinatesToAX 76 52 ; Parameters … … 93 69 94 70 ALIGN JUMP_ALIGN 95 MenuLocation_GetInformationBordersTopLeftCoordinatesToAX:96 xor ax, ax97 jmp SHORT AddInformationBordersTopLeftCoordinatesToAX98 99 ALIGN JUMP_ALIGN100 71 MenuLocation_GetBottomBordersTopLeftCoordinatesToAX: 101 72 xor ax, ax 102 ; Fall to AddBottomBordersTopLeftCoordinatesToAX73 ; Fall to .AddBottomBordersTopLeftCoordinatesToAX 103 74 104 75 ;-------------------------------------------------------------------- 105 ; AddBottomBordersTopLeftCoordinatesToAX76 ; .AddBottomBordersTopLeftCoordinatesToAX 106 77 ; AddInformationBordersTopLeftCoordinatesToAX 107 78 ; AddItemBordersTopLeftCoordinatesToAX … … 116 87 ; Nothing 117 88 ;-------------------------------------------------------------------- 118 ALIGN JUMP_ALIGN 119 AddBottomBordersTopLeftCoordinatesToAX: 89 .AddBottomBordersTopLeftCoordinatesToAX: 120 90 stc ; Compensate for Information top border 121 91 adc ah, [bp+MENUINIT.bInfoLines] … … 160 130 sub ax, BYTE MENU_HORIZONTAL_BORDER_LINES + MENU_TEXT_COLUMN_OFFSET 161 131 ret 162 163 164 ;--------------------------------------------------------------------165 ; MenuLocation_MoveCursorByALcolumnsAndAHrows166 ; Parameters167 ; AL: Number of columns to move168 ; AH: Numver of rows to move169 ; SS:BP: Ptr to MENU170 ; Returns:171 ; Nothing172 ; Corrupts registers:173 ; AX, DI174 ;--------------------------------------------------------------------175 ALIGN JUMP_ALIGN176 MenuLocation_MoveCursorByALcolumnsAndAHrows:177 push ax178 CALL_DISPLAY_LIBRARY GetSoftwareCoordinatesToAX179 pop di180 add ax, di181 CALL_DISPLAY_LIBRARY SetCursorCoordinatesFromAX182 ret
Note:
See TracChangeset
for help on using the changeset viewer.