Pascal Cursor
Pascal
Download (.zip)
uses MyUnit;
type CursorShape = record ScreenMask : array [0..15] of word; CursorMask : array [0..15] of word; Xhot, Yhot : integer; end;
const CrossHair : CursorShape = (ScreenMask : ($FC7F, $FC7F, $FC7F, $FC7F, $FC7F, $FC7F, $0101, $0381, $0101, $FC7F, $FC7F, $FC7F, $FC7F, $FC7F, $FC7F, $FFFF); CursorMask : ($0000, $0100, $0100, $0100, $0100, $0100, $0000, $7C7C, $0000, $0100, $0100, $0100, $0100, $0100, $0000, $0000); Xhot : 7; Yhot : 7); Check : CursorShape = (ScreenMask : ($FFF0, $FFE0, $FFC0, $FF81, $FF03, $0607, $000F, $001F, $C03F, $F07F, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF); CursorMask : ($0000, $0006, $000C, $0018, $0030, $0060, $70C0, $1D80, $0700, $0000, $0000, $0000, $0000, $0000, $0000, $0000); Xhot : 6; Yhot : 7);
Hand : CursorShape = (ScreenMask : ($E1FF, $E1FF, $E1FF, $E1FF, $E1FF, $E000, $E000, $E000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000); CursorMask : ($0C00, $1200, $1200, $1200, $1200, $13B6, $1249, $1249, $7249, $9001, $9001, $9001, $8001, $8001, $8001, $FFFF); Xhot : 5; Yhot : 0);
Cross : CursorShape = (ScreenMask : ($07E0, $0180, $0000, $C003, $F00F, $C003, $0000, $0180, $07E0, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF, $FFFF); CursorMask : ($0000, $700E, $1C38, $0660, $03C0, $0660, $1C38, $700E, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000); Xhot : 7; Yhot : 4); Standard : CursorShape = (ScreenMask : ($3FFF, $1FFF, $0FFF, $07FF, $03FF, $01FF, $00FF, $007F, $003F, $001F, $01FF, $10FF, $30FF, $F87F, $F87F, $FC3F); CursorMask : ($0000, $4000, $6000, $7000, $7800, $7C00, $7E00, $7F00, $7F80, $7FC0, $7C00, $4600, $0600, $0300, $0300, $0180); Xhot : -1; Yhot : -1); HourGlass : CursorShape = (ScreenMask : ($0000, $0000, $0000, $0000, $8001, $C003, $E007, $F00F, $E007, $C003, $8001, $0000, $0000, $0000, $0000, $FFFF); CursorMask : ($0000, $7FFE, $6006, $300C, $1818, $0C30, $0660, $03C0, $0660, $0C30, $1998, $33CC, $67E6, $7FFE, $0000, $0000); Xhot : 7; Yhot : 7);
Mitko : CursorShape = (ScreenMask : ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000); CursorMask : ($0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000); Xhot : 1; Yhot : 1);
LowerRight : CursorShape = (ScreenMask : ($FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $FFF0, $0000, $0000, $0000, $0000); CursorMask : ($0000, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $0006, $7FFE, $7FFE, $0000); Xhot : 14; Yhot : 14);
TestCursor: CursorShape = ( ScreenMask: ($3FFF,$1FFF,$0FFF,$07FF,$03FF,$01FF,$00FF,$007F, $003F,$001F,$000F,$07FF,$0248,$76DD,$F6ED,$F64D); CursorMask: ($0000,$4000,$6000,$7000,$7800,$7C00,$7E00,$7F00, $7F80,$7FC0,$7000,$4000,$1DB7,$0922,$0912,$09B2); Xhot: 0; Yhot: 0 );
Wait : CursorShape = ( ScreenMask: ($01FF,$01FF,$39FF,$01FF,$83FF,$83FF,$C7FF,$93FF, $93FF,$29FF,$01FF,$01FF,$01FF,$FFFF,$FFFF,$FFFF); CursorMask: ($0000,$7C00,$4400,$4400,$2800,$2800,$1000,$2800, $2800,$4400,$4400,$7C00,$0000,$0000,$0000,$0000); Xhot: 4; Yhot: 4 );
Mark : CursorShape = ( ScreenMask: ($EFFF,$EFFF,$EFFF,$11FF,$EFFF,$EFFF,$EFFF,$FFFF, $FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF,$FFFF); CursorMask: ($1000,$1000,$0000,$C600,$0000,$1000,$1000,$0000, $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000); Xhot: 4; Yhot: 4 );
Big : CursorShape = ( ScreenMask: ($FFFF,$BFFF,$9FFF,$8FFF,$87FF,$83FF,$81FF,$80FF, $807F,$803F,$81FF,$B9FF,$F9FF,$F8FF,$FCFF,$FFFF); CursorMask: ($C000,$E000,$F000,$F800,$FC00,$FE00,$FF00,$FF80, $FFC0,$FFE0,$FFF0,$FF00,$EF00,$8380,$0780,$0380); Xhot: 0; Yhot: 0 );
procedure SetMouse( Cursor : CursorShape ); assembler; asm LES DI, Cursor MOV AX, 9 MOV BX, ES:[DI].CursorShape.Xhot MOV CX, ES:[DI].CursorShape.Yhot MOV DX, DI INT 33H end;
begin InitGraph; SetMouse(hand); ShowMouse; WaitKey; CloseGraph; end.
|