home *** CD-ROM | disk | FTP | other *** search
-
- !═════════════════════════════════════════════════════════════════════════
- !
- ! %%keyword%% '%n'
- ! 'ME_SCRN.CLA' - Display functions for MEMOEDIT
- !
- ! %%keyword%% '%v'
- ! Revision Number: '1'
- ! %%keyword%% '%d'
- ! Revision Date : '15-Feb-92'
- !
- ! Copyright : Bobcat Systems (c) 1992
- ! Author : Robert J. Pupazzoni
- ! CIS:[70441,204]
- !
- ! Compiler : Clarion Professional Developer v. 2.1, Batch 2105
- !
- !
- ! DESCRIPTION
- !
- ! This module contains all functions related to updating the screen.
- !
- !═════════════════════════════════════════════════════════════════════════
-
- ME_Scrn MEMBER()
-
- ! ═════════════════════════════════════════════════════════════════════════
- ! Display a Page Section
- ! ═════════════════════════════════════════════════════════════════════════
- Show_Page PROCEDURE( tTable, ilRowTop, ibBegRow, ibEndRow )
-
- ! Parameters:
- tTable EXTERNAL,TABLE ! Edit buffer
- ilRowTop LONG ! Top row index
- ibBegRow BYTE ! Starting row to display
- ibEndRow BYTE ! Ending row to display
-
- ! Locals:
- ibRow BYTE
-
- CODE
- LOOP ibRow = ibBegRow TO ibEndRow ! Loop thru each row
- Show_Line(tTable, ilRowTop+ibRow, ibRow) ! Display line
- . ! End loop
-
-
- ! ═════════════════════════════════════════════════════════════════════════
- ! Display a Specific Line
- ! ═════════════════════════════════════════════════════════════════════════
- Show_Line PROCEDURE( tTable, ilTblNdx, ibRow )
-
- ! Parameters:
- tTable EXTERNAL,TABLE ! Edit buffer
- ilTblNdx LONG ! Line index
- ibRow BYTE ! Display row
-
- ! Locals:
- ibHiCol1 BYTE ! Block marking temps
- ibHiCol2 BYTE !
-
- CODE
- GET(tTable, ilTblNdx) ! Get line
- IF ERRORCODE() THEN CLEAR(tTable). ! Clear if not found
-
- IF MED:bbShowCodes ! Remap format codes?
- tTable = Str_ReMap(tTable, eHCRCode, eHCRSymbol)
- . !
-
- SETHUE(MED:ibTextFore, MED:ibTextBack) ! Show line
- SHOW(MED:ibRowOfs+ibRow, MED:ibColOfs+1, SUB(tTable, 1, MED:ibCols))
- SETHUE !
-
- ! Show block marking?
- IF INRANGE(ilTblNdx, MED:ilMarkBegRow, MED:ilMarkEndRow)
- ibHiCol1 = MED:ibColOfs + 1 !
- ibHiCol2 = MED:ibColOfs + MED:ibCols !
- IF ilTblNdx = MED:ilMarkBegRow !
- ibHiCol1 = MED:ibColOfs + MED:ibMarkBegCol !
- . !
- IF ilTblNdx = MED:ilMarkEndRow !
- ibHiCol2 = MED:ibColOfs + MED:ibMarkEndCol !
- . !
- SETHUE(MED:ibMarkFore, MED:ibMarkBack) !
- COLOR(MED:ibRowOfs+ibRow, ibHiCol1, 1, ibHiCol2-ibHiCol1+1)
- SETHUE !
- . !
- RETURN !
-
-
- ! ═════════════════════════════════════════════════════════════════════════
- ! Set Cursor Size
- ! ═════════════════════════════════════════════════════════════════════════
- Cursor_Size PROCEDURE( bbInsertMode )
-
- ! Parameters:
- bbInsertMode BYTE ! Insert mode flag
-
- ! Locals:
- sCursorSize STRING('<07><06><07><04>') ! Cursor sizes
- aCursorSize SHORT,DIM(2),OVER(sCursorSize) !
-
- gRegisters GROUP ! CPU Registers
- isAX SHORT !
- isBX SHORT !
- isCX SHORT !
- isDX SHORT !
- isSI SHORT !
- isDI SHORT !
- isDS SHORT !
- isES SHORT !
- ibInt BYTE !
- isFlags SHORT !
- . !
-
- CODE
- CLEAR(gRegisters) ! Clear group
- isAX = 0100H ! Set Cursor Size request
- isCX = aCursorSize[1+bbInsertMode] ! Select cursor size
- ibInt = 10H ! ROM-BIOS Video Services
- Interrupt(gRegisters) ! Call interrupt handler
- RETURN !
-
-