Előkészítő munka, ha információt ad az egérrel

Az egérrel való program az alábbi műveleteket tartalmazza:

1) ellenőrizze az egér meghajtó telepítését;

2) a manipulátor kurzorának alakja és alakja;

3) határozza meg a kurzor mozgatásának határait a képernyőn;

4) a kurzor érzékenységének leírása, amely megfelel a mickeusok számának,
merőleges a képernyőre vízszintesen és függőlegesen;

5) a kettős kurzorsebesség küszöbének beállítása;

6) a manipulátor kurzor felvétele;

7) Állítsa a kurzort a képernyő kezdőpozíciójába.

Az összes fenti műveletet 33h megszakítással végezzük. Tekintsük őket.

Az egérvezérlő telepítését a függvény végzi

A végrehajtás eredményeképpen 0000h be van jegyezve az AX regiszterbe. ha az egér-illesztőprogram hiányzik vagy FFFFh, ha az egér készen áll a munkára.

A BX regiszterben a manipulátor gombjainak száma megállapítható: 0002h - két gomb, 0003h - három gomb és 0000h - nem két gomb.

A megfelelő programnak a következő alakja lehet

-AX = 0,
gen-megszakítás (0 x 33);

ha (-AX = = 0) ("az egér-illesztőprogram hiányzik!");

másként tesz ("az egér kész").

A kurzor formájának és alakjának megadása külön történik a szöveges üzemmód és a grafika számára

Szöveges üzemmódban a kurzor alakját a funkció határozza meg

Ezenkívül a következő regisztereket kitöltik.

A BX regisztert 00 vagy 01 beírja, attól függően, hogy van-e programozható vagy kemény kurzor. A "kemény" kurzor kurzor
Ez egybeesik a több sorral elfoglalt TV képernyő szokásos kurzorával
a közismertségen belül. Ebben az esetben a CX regiszter beállítja a számot
a felső szkennelési vonal és a DX regiszter - az alsó szám.

Például, ha 0-os értéket ír a CX-be, és a DX-ben a 7h értéket,
akkor a kurzor négyszögként jelenik meg 8x8 bit méretben. Ha CX = 7h, AX = 7h, akkor a kurzor a fekvõ vonal arcát veszi
A fenti téglalap alapján vagy a közismertség alapján.

A programozható kurzor az alábbiak szerint kerül kialakításra. A CX regiszter kerül elhelyezésre
ÉS - a kurzor maszk és a DX-XOR regiszter-maszk. Például, ha a kurzort lenyomva kell programozni az ismeretek alapján, akkor az 5F-nek megfelelő ASCII kódot használják. Megírtuk

AND-maszk = 0000h és XOR-maszk = xx5Fh

Az XOR maszkban lévő XX jelek definiálják a kurzor karaktertulajdonságát.

Vegye figyelembe, hogy a képernyőn a kurzor kialakítása a következő.
Először a XOR maszk és a XOR maszk közötti exkluzív VAGY művelet történik
AND-maszk kurzor:

Z = (XOR maszk XOR ÉS maszk)

Az eredményt a képernyő állapota alapján bit bitenként szorozzuk meg.
képernyő állapota = képernyőállapot AND Z.

A kemény kurzor létrehozásának programja:

és az ehhez a példához programozott:

Ebben az esetben a kurzor attribútum bájtja XX = 33.

Grafikus módban a kurzor bármely formája a
16 x 16 pixeles téglalapon belül.

Ehhez két maszk van megadva: ÉS, - (képernyőmaszk) és XOR maszk
(kurzor maszk).

A képernyőn megjelenő pixeles színkép alakú bitenkénti műveleteket a 83. táblázatban mutatjuk be

Pixel szín a képernyőn

Háttérszín Fehér szín Aktuális pixelszín Az aktuális pixelszín bitenkénti inverziója

A grafikus kurzor sajátossága az úgynevezett hot spot (hotspot) jelenléte a relatív koordinátákban annak a referenciapontnak, amelynek a téglalap bal felső sarkában 16 x 16 képpont található. A forró pont a képpont, amelyet a grafikus kurzor jelez.

A grafikus kurzort a funkció írja le

Ebben az esetben a relatív oszlopszámot a BX regiszter jelöli
hot spot, és a CX regiszterben - a megfelelő sor számát.

Például, vegye figyelembe a kurzor XOR maszkját bináris jelölésként.

1000 0000 0000 0000

0100 0000 0000 0000

0110 0000 0000 0000

0011 0000 0000 0000

0011 1000 0000 0000

0011 1100 0000 0000

0011 1110 0000 0000

0011 1111 0000 0000

0001 1111 1000 0000

0001 1111 1100 0000

0000 1111 1110 0000

0000 0111 1111 0000

0000 1111 1111 1000

0000 0111 1111 1100

0000 0111 1111 1110

0000 0011 1111 1111

Ez a maszk a hexadecimális számrendszerben megegyezik
KÓD

0x8000; 0H4000; 0H3000; 0H3800;

0H3800; 0H3600; 0H3E00; 0X1F00;

0X1F80; 00 CF0; 0X0FE0; 0H07F0;

0X0FF8; 0X07FC; 0X07FE; 0X03FF;

A CHO - maszkot az AED maszk (fehér háttér) háttérén ábrázolják.

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

0XFFFF 0XFFFF 0XFFFF 0XFFFF

Az eredmény egy kurzor látható bármilyen háttérben.

Ahhoz, hogy fehér kurzort kapjon az aktuális háttérre, az AND maszk a XOR maszk szavak inverzióját jelenti: ha 1 az XOR maszkban van, az AND maszkban nullák vannak.

A megfelelő MAP lesz az űrlap.

0X7FFF 0XBFFF 0XCFFF 0XC7FF

0H7'7FF 0XC3FF 0XC1FF 0XE0FF

0XE07F 0XF03F 0XF01F 0XF80F

OXF007 0XF803 0XF801 0XFC00

Az eredményezett AND - és XOR - maszkok egy tömb elemei, például
statikus unsigned sereen_and_cursor_masks [] =

A kurzor beállítást végrehajtó program a következő formában lehetséges

ahol hot_spot_column, hot_spot_row - a forró pont X, Y koordinátái.

A kurzor mozgásának határait az AX = 0007 és a

AX = 0008 megszakítja 33h. Az első függvény határozza meg a mozgás határait a függőleges és a második - vízszintesen. A CX és DX regiszterben a kurzor mozgatásának minimális és maximális határai vannak beállítva. A megfelelő programok a következő formában állhatnak. Vízszintes határok esetén

A függőleges határokhoz

Az elkészült programok a C-funkciókat a kurzor mozgási határainak hozzárendelésével tudják elvégezni. Alapértelmezés szerint a kurzor a teljes képernyővel van ellátva.

A kurzor érzékenységét az AX = 000Fh funkció határozza meg.
A CX és DX regiszterekben a mickey érzékenységi értékei mind vízszintesen, mind függőlegesen 8 képpontra vannak állítva. Például egy olyan program, amely egy egér pixelenkénti érzékenységét állítja be, a következőképpen néz ki:

A kettős sebességküszöb beállítását az AX = 0013h funkcióval végezzük. Ebben az esetben a dupla sebességküszöböt a regiszter rögzíti. Alapértelmezés szerint 64 mikey / s. Ez a program csak három utasítást használ

Ebben a példában a dupla sebességű küszöbértéket feltételezzük, hogy 32 mik / s. Miután elérte az egér sebességét a képernyőn megduplázódott.

A jelenlegi egér kurzor beállításait az AX = 001Bh függvény határozza meg. A BX regiszter olvasható érzékenység vízszintesen CX szenzitív függőlegesen, HH - dupla sebességgel küszöböt.

A kurzor a 33h megszakítás AX = 0001 funkciója bekapcsolható, és az ugyanazon megszakítás AX = 0002 funkciója ki van kapcsolva.

A kurzor használatához vagy letiltásához a következő makrókat javasoljuk.
#define CURSOR_ON () _AX = 1; generációs megszakítás (0X33);

# define CURSOR_OFF () _AX = 1; generációs megszakítás (0X33);

A kurzor beállítása a képernyő kezdõpozíciójához az AX = 0004h funkcióval történik. Ebben az esetben a kurzor vízszintes koordinátáját a CX regiszterben és a DX vertikális koordinátájában kell beállítani.

A megfelelő funkció az alábbiak alapján állítható össze
utasítás

71. A kurzor pozíciójának és az egér gombjainak olvasása.

A kurzor helyének és a manipulátor gombjainak helyzetének meghatározásához használja az AX = 0003h funkciót. A BL regiszterben a manipulátor gombok állapota olvasható:

a 0-as bit egyenlő I-bal gombbal

0 - a jobb gomb nincs megnyomva

bit I egyenlő az I - jobb gomb megnyomásával

0 - a jobb gomb nincs megnyomva

a 2. bit egyenlő az I - a középső gomb megnyomásával

0 - nincs középső gomb megnyomva

A 3-7 biteket nem használják.

A kurzor horizontális koordinátáját a CX regiszter határozza meg. és a DX - függőleges regiszterben. A megnevezett műveletek végrehajtására szolgáló program példája a forma

Szöveges módban a kurzor helyét és a kért kattintások száma határozza meg a funkciógombok AX = 0005 4. A regisztrációhoz BX megakadályozták gomb azonosítója: 0-0 kérés bal gomb, jobb 1 -query 0, 2 - 0 a kérelmet a középső gombot. Miután befejezte mindet
a gombnyomások száma a VX-ben kerül vissza, a kurzor vízszintes és függőleges koordinátái a CX és a DX kijelzőn jelennek meg.

Meg kell jegyezni, hogy az egérgombok kibocsátásainak száma határozza meg
funkció AX = 0006h.

A fenti műveletet végrehajtó program lehet például egy bal oldali gomb

Referenciaként az AX = 000Bh függvény használható a kurzor teljes mozgásának meghatározására a vízszintes és függőleges vonalak mentén. Ebben az esetben a CX és a DX visszaküldi a kurzor mozgását a megfelelő tengelyek mentén.

Grafikus tabletták (digitalizátorok) és azok jellemzői.

A grafikus tábla (digitalizáló) grafikus információ hardverbevitele, amelyet a táblagép X, Y koordináta-rendszere téglalap alakú koordinátarendszer formájában mutat be.

A digitalizáló és az egér közötti különbség a következő.

1. A digitalizáló segítségével relatív és abszolút pozícionálás valósul meg.

Az egérrel megvalósított relatív pozícionálással meghatározzák az előző pont következő pontjának koordinátáit.

Abszolút, ami csak a digitalizálóra jellemző, a pozíció
a tabletta pontját a tabletta munkaterületének bal alsó sarkához viszonyítva határozzák meg.

2. A grafikus táblagép mindkét kurzort és tollat ​​használ az információk bevitelére. Ebben az esetben a digitalizáló toll másolja a rajzot, ha az adatokat egy-egy skálán írja be.

A grafikus tabletták a következő jellemzőkkel bírnak.

1. A tabletta mérete 5 x 5 hüvelyk és 36 x 48 hüvelyk közötti tartományba esik.

2. A felbontást az egy hüvelykben elhelyezett vonalak száma határozza meg. A pontosság elfogadható hibát jelez a pont koordinátáinak meghatározásakor.

3. A sebesség határozza meg a másodpercenkénti pontok számát, amelyet a táblagépről a személyi számítógépre továbbítanak.

4. A távolság határozza meg a tabletta felületétől a tollig terjedő távolságot, amelynél a tabletta pontjai felismerésre kerülnek.

5. Szoftver termékek és szoftverek cseréje (emuláció). A grafikus táblák grafikus programokkal vannak felszerelve. De helyettesíthetik (emulálják) és a meglévő programokat. Például az egér meghajtó cserélhető. És be
Ebben az esetben a grafikus táblagép úgy működik, mint egy egér.

6. Kurzorok és tollak. A kurzorokat és a tollakat a tabletta működtetésére használják. Mindkét eszköz rendelkezik vezetékes és vezeték nélküli csatlakozással. A kurzor hasonlít az egér formájára, és tartalmazhat
1-től 16-ig.

A toll lehet tinta és fekete. Első Pen gomb
alul van, és megnyomva aktiválódik. A második és az egyéb gombok
a toll oldalán helyezkednek el.

Nemrégiben az úgynevezett peroxidációt használják. hívás
ezt vagy ezt a funkciót a préselés ereje végzi.
A toll nyomásszintje 64-256 egység.

7. A funkcióválasztó menüsablonokat egy többrétegű műanyag üres formában helyezik el a táblagépre, amely azonosítja a táblagép helyeit a funkciók kiválasztásához.

Mozgassa a kurzort vagy a tollat ​​a sablon aktuális pozíciójához, és nyomja meg a gombot
gomb a megfelelő funkciót hívja.

8. A tabletták technológiája meghatározza a tabletta működésének elvét. A GIS alkalmazásában a tabletta technológia gyakorlatilag irreleváns.

9. Az ergonómia meghatározza a munkafolyamat optimális működését
grafikus tabletta. Ebből a célból a legmegfelelőbb tablettát választja ki.

Példaként tekintse meg az Easy Painter grafikus táblát. Ez a digitalizáló a DOS-ban, valamint a Windows 95-ben és a 3.1-ben is működik. Teljesen helyettesíthetik a manipuláló egeret. A következő típusú munkákat egy digitalizáló végzi el

2) kurzorvezérlés a képernyőn,

3) válassza ki a sablon helyét egy adott funkció végrehajtásához.

A készlet tartalmaz egy digitalizáló: Tablet I. (. 44. ábra), két-gombos toll 2 szoftver (közüzemi) DOS és Windows 95, 3.1. alkalmazási programok, felhasználói kézikönyv.

A jelenlegi digitalizáló a következő tulajdonságokkal rendelkezik:

a) munkaterület (méret) 5x5 hüvelyk

b) 1016 sor / hüvelyk felbontás

c) A pontosság 0,01 hüvelyk.

d) 9600 bit / másodperc sebesség

e) a távolság 0,5 hüvelyk

e) szoftver - a DOS és a Windows segédprogramok, valamint az egér-illesztőprogram cseréje (emuláció).

g) mutató - kétgombás toll

h) technológia - elektromágneses.

Ha a digitalizáló saját kommunikációs adaptert használ, először telepítenie kell az egér adaptert is. Ezután a digitalizáló egyszerűen csatlakozik az adapterhez. A digitalizáló általában egy szabad soros porthoz csatlakozik, az áramellátás csatlakoztatva van és a megfelelő szoftver elindul.

Tekintsük a telepítési eljárást az Easy Painter digitalizáló példáján.

1. Kapcsolja ki a számítógépet.

2. Csatlakoztassa a tollat ​​a tabletta jobb oldali nyílásához.

3. Csatlakoztassa a táblagépet a számítógéphez. Ebben az esetben csatlakoztassa a 9 pólusú csatlakozót a megfelelő csatlakozóhoz.

4. Kapcsolja be a számítógépet. Ha a táblagép figyelmeztető lámpája (bal oldalán) világít, akkor azt jelenti, hogy a toll a munkaterületen és a közelség határán van. Ha megsérti a munkaterület közelségét, akkor a fény villog.

Pen digitizer - nem korrigált. A DOS-ban az alsó gombja a bal egérgombnak és az oldalsó gomb jobb gombjának felel meg.

A Windows rendszer alapértelmezés szerint a gombok megegyeznek. De megváltoztatható a Windows program WCPNLKYE.EXE.

Kapcsolódó cikkek