home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
clarion
/
library
/
memoed
/
me_scrn.cla
< prev
next >
Wrap
Text File
|
1992-02-15
|
4KB
|
123 lines
!═════════════════════════════════════════════════════════════════════════
!
! %%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 !