Text Cursor

 BBS: Inland Empire Archive
Date: 06-09-92 (16:13)             Number: 194
From: CORIDON HENSHAW              Refer#: NONE
  To: RICH GELDREICH                Recvd: NO  
Subj: Text Cursor                    Conf: (2) Quik_Bas
        DEF SEG
    END IF

    MouseChecked = TRUE

END SUB

SUB MouseForce (X%, Y%)
DIM Regs AS RegType
IF GetMode = FALSE THEN
        Regs.DX = 8 * (X% - 1)
        Regs.CX = 8 * (Y% - 1)
ELSE
        Regs.DX = X%
        Regs.CX = Y%
END IF
Regs.AX = 4
CALL INTERRUPT(&H33, Regs, Regs)

END SUB

SUB MouseHide

    ' =======================================================================
    ' Decrements internal cursor flag
    ' =======================================================================

   MouseDriver 2, 0, 0, 0

END SUB

SUB MouseInit

    ' =======================================================================
    ' Mouse driver's initialization routine
    ' =======================================================================

    MouseDriver 0, 0, 0, 0

END SUB

SUB MousePoll (row, col, lButton, rButton) STATIC

    ' =======================================================================
    ' Polls mouse driver, then sets parms correctly
    ' =======================================================================

    MouseDriver 3, Button, col, row
    IF GetMode = FALSE THEN
        row = row / 8 + 1
        col = col / 8 + 1
    END IF

    IF Button AND 1 THEN
        lButton = TRUE
    ELSE
        lButton = FALSE
    END IF

    IF Button AND 2 THEN
        rButton = TRUE
    ELSE
        rButton = FALSE
    END IF

END SUB

SUB MouseSetCursor (SmaskChar%, SMaskAttr%, CMaskChar%, CMaskAttr%)
IF GetMode <> FALSE THEN ERROR 5
DIM Regs AS RegType

IF SMaskAttr% AND 2 ^ 7 THEN
        TempS% = -1 XOR &H7FFF
ELSE
        TempS% = 0
END IF

IF CMaskAttr% AND 2 ^ 7 THEN
        TempC% = -1 XOR &H7FFF
ELSE
        TempC% = 0
END IF
Regs.Bx = 0
Regs.CX = TempS% OR (256 * (SMaskAttr% AND &H7F) + SmaskChar%)
Regs.DX = TempC% OR (256 * (CMaskAttr% AND &H7F) + CMaskChar%)
Regs.AX = &HA
CALL INTERRUPT(&H33, Regs, Regs)
END SUB

SUB MouseShow

    ' =======================================================================
    ' Increments mouse's internal cursor flag
    ' =======================================================================

    MouseDriver 1, 0, 0, 0

END SUB

--- msgedsq 2.0.5
 * Origin: -=- Point Blank -=- Support Fidonet Reform -=-
Me, an EchoTwit? -=- (1:250/804.200)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET