Hiiren luku ja näyttömuistin luku....

Saku-foorumi » Classic Amiga » Ohjelmointi » Viestit 2003 » Hiiren luku ja näyttömuistin luku. « Edellinen Seuraava »

Kirjoittaja Viesti
 

JPQ
Keskiviikkona, 15. tammikuuta, 2003 - klo 13.10:   
Miten C:eellä saa hiiren kordinaatin kokoruudun suhteen. Entäs miten tarkistan halutun pikselinvärin workbench ruudusta? ja huom. etsin tapoja jotka toimii myös näyttökortilla ja muutenkin legaalisti.

 

tomppa
Keskiviikkona, 29. tammikuuta, 2003 - klo 14.07:   
Hiiren koordinaatithan saa vaikka intuimessagesta luettua, sitten lisätään tähän ikkunan koordinaatit niin saadaan sijainti siinä screenissä missä ikkunakin on. Jos hiiri sattuu olemaan eri screenissä kuin ikkuna, niin..
Eli en tiedä.
Pikselin luku WB screenistä kaiketi on jo helpompaa, selvitetään wb screenin rastportti josta sitten luetaan ReadPixel():llä, joku varmaan osaa selittää vähän tarkemmin.. kun en mene vannomaan omien menetelmieni laillisuudesta.

 

JPQ
Torstaina, 30. tammikuuta, 2003 - klo 17.47:   
Ikkuna olisi aina sillä ruudulla kun kohdistinkin ohjelman idea ei näet muuten toimisi aluksi tosiaankin vain WB ruudulla. ReadPixel ei sovellu vaan 15,16,24bittisiin tiloihin no CGXV4 ja P96 tarjoavat molemmat omamt rutiinit hommaan. Ja mitkäs nuo omat menetelmäsi on?

 

tomppa
Torstaina, 30. tammikuuta, 2003 - klo 21.13:   
Tommosen äkkiä E:llä pykäsin, pienin muutoksin pitäis toimia C:lläkin (mm. struktuureissa voi caset olla vähän eripäin). Avaa pienen ikkunan mitä täyttää aina sillä värillä mikä on pointterin alla, siis silloin kun ikkuna on aktiivinen.
Toimi ainakin UAEssa 8bit screenillä, mutta paremmilla vaati varmasti muutoksia. Tosi quick&dirty, ei mitään checkkejä ja luettava screeni on aina ikkunan oma screeni, ei vars.WB screeni. Laillisuudesta ei takuuta.

MODULE 'intuition/intuition','intuition/screens','graphics/rastport'

PROC main()
DEF win:PTR TO window
DEF wb_rast:PTR TO rastport
DEF msg:PTR TO intuimessage
DEF class, code, mx, my, color

win:=OpenWindowTagList(NIL,
[WA_LEFT,100, WA_TOP,100, WA_WIDTH,100, WA_HEIGHT,100,
WA_IDCMP, IDCMP_MOUSEMOVE+IDCMP_CLOSEWINDOW,
WA_REPORTMOUSE,1, WA_SMARTREFRESH,1, WA_NOCAREREFRESH,1,
WA_GIMMEZEROZERO,1, WA_ACTIVATE,1, WA_DRAGBAR,1,
WA_CLOSEGADGET,1, NIL])
wb_rast:=win.wscreen.rastport

WHILE win<>NIL
REPEAT
UNTIL (msg:=GetMsg(win.userport))
class:=msg.class
mx:=win.leftedge+msg.mousex
my:=win.topedge+msg.mousey
ReplyMsg(msg)
color:=ReadPixel(wb_rast,mx,my)
SetRast(win.rport,color)
IF class=IDCMP_CLOSEWINDOW
CloseWindow(win)
win:=NIL
ENDIF
ENDWHILE

ENDPROC


 

tomppa
Torstaina, 30. tammikuuta, 2003 - klo 21.15:   
Hups. Tulipas rumasti ja ilman sisennyksiä ja mitään.. no toivottavasti jotain apua..

 

JPQ
Torstaina, 30. tammikuuta, 2003 - klo 21.54:   
Täytyy yrittäää kaapata tuo. Ja varamasti on apua. Ja käyttis rutiineja ei voine käyttää väärin ainakaan tuossa minusta et pahaa "syntiä" ole tehnyt.

Lisää viestisi tähän
Viestisi:
Käyttäjätunnus: Postitus informaatiota:
Tämä on yksityinen keskustelupalsta. Vain rekisteröidyt käyttäjät ja moderaattorit voivat postittaa tänne.
Salasana:
valinnat: Aktivoi URL:t automaattisesti tässä viestissä
Toimenpide: