nanogui: Re: MoveCursor [patch]


Previous by date: 11 Sep 2001 10:00:53 -0000 Microwindows with RTEMS, Jo_Jo Jo
Next by date: 11 Sep 2001 10:00:53 -0000 Devfont.c, 姚茂彪 Candy Yao
Previous in thread:
Next in thread:

Subject: Re: MoveCursor [patch]
From: Nikolaj Berntsen ####@####.####
Date: 11 Sep 2001 10:00:53 -0000
Message-Id: <510819110362D211ABFD00A0C9A2BE4A016108C0@mail.visionik.dk>

Dear Folks and Greg in Particular,

: What can I do to really move the cursor?

> In the nanox/srvfunc.c::GrMoveCursor(), add a call to GdMoveMouse()
> after the GdMoveCursor() with the same arguments.  This sounds like a 
> bug, in that we're moving the cursor, but not the underlying mouse
position.

> If this works, let me know and I'll change it in CVS.

It had worked if GdMoveCursor and GdMoveMouse had used the same coordinates,
but GdMoveCursor uses relative coordinates and GdMoveMouse uses absolute
coordinates (no further comments here, just a :-?), hence the patch (vanilla
is the original and believed to originate from Microwindows0-89pre7) looks
like:

diff nanox/srvfunc.c nanox.vanilla/srvfunc.c
1578c1578
<               if(curcursor){
---
>               if(curcursor)
1581,1582d1580
<                       GdMoveMouse(x, y);
<               }

Or more descriptively:

diff -C 3 nanox/srvfunc.c nanox.vanilla/srvfunc.c
*** nanox/srvfunc.c     Tue Sep 11 11:09:47 2001
--- nanox.vanilla/srvfunc.c     Fri May 25 11:58:02 2001
***************
*** 1575,1585 ****
         * place the hot spot at the specified coordinates.
         */
        if ((x != cursorx) || (y != cursory)) {
!               if(curcursor){
                        GdMoveCursor(x - curcursor->cursor.hotx,
                                y - curcursor->cursor.hoty);
-                       GdMoveMouse(x, y);
-               }
                cursorx = x;
                cursory = y;
        }
--- 1575,1583 ----
         * place the hot spot at the specified coordinates.
         */
        if ((x != cursorx) || (y != cursory)) {
!               if(curcursor)
                        GdMoveCursor(x - curcursor->cursor.hotx,
                                y - curcursor->cursor.hoty);
                cursorx = x;
                cursory = y;
        }


Happy Computing
K. Nikolaj Berntsen  Technical Consultant
--------------------------------------------------------------
AGENCY.COM Interactive TV

Islands Brygge 57, DK-2300 Copenhagen S
T: +45 3693 6000  F: +45 3693 6001  
Direct: +45 3693 6120  
E: ####@####.####  www.agency.com 
 

Previous by date: 11 Sep 2001 10:00:53 -0000 Microwindows with RTEMS, Jo_Jo Jo
Next by date: 11 Sep 2001 10:00:53 -0000 Devfont.c, 姚茂彪 Candy Yao
Previous in thread:
Next in thread:


Powered by ezmlm-browse 0.20.