Mousecursors in 4k Intros
category: code [glöplog]
For me, the problem, is that ShowCursor(0), after the synth wave generation and intro loading, just before the main loop, removes the cursor on my coding PCs, but never does on the damn compo-machines, so no way to reproduce the issue locally.
Is PeekMessage the "good way" (tm) to fix it? If so, any documentation on the issue (google didn't show any meaningful results)?
Is PeekMessage the "good way" (tm) to fix it? If so, any documentation on the issue (google didn't show any meaningful results)?
At least it prevents the actual problem (Windows thinking "noone's caring about my messages!") from happening.
while( ShowCursor(0)>0 ); should probably fix the problems too (see doc)
iq: interesting :)
so, if the system hasn't got a mouse iq's code will hang
which is obviously everyone's primary concern :P
I tried the while(showcursor(0)>0) and calling showcursor(0) + setcursor(0) every frame but it did not help. Only solution that helped was to call the one las gave on first message (call showcursor+peekmessage). This is with OpenGL and win7..
i really don't see the problem with the mouse cursors. if it bothers you - just move it out side the screen!
Quote:
while( ShowCursor(0)>0 ); should probably fix the problems too (see doc)
1. the iq variant would introduce some branching + condition code checking - that's might not be that optimal entropy wise (but you never know without trying).
2. I doubt it works (but I might be wrong there)
3. If it does: actually having no mouse HAPPENS. I have a synergy setup here - only one of the PCs has a mouse.
Quote:
removes the cursor on my coding PCs, but never does on the damn compo-machines, so no way to reproduce the issue locally.
Try to disable vsync in your driver - with vsync on - the cursor is gone like in 2004 - at least on this win7 64 setup.
And I really would like to know whether the approach in the first post of this thread works everywhere (for OpenGL 4k stuff). Maybe we can come up with something better.
Excessive calling of Showcursor(0) does not help on my System. So far the only solution for me is the Peakmessage one las posted.
maytz: Who in the world uses MFC for 4ks?
Nobody.
Therefore - I guess: Nope.
Therefore - I guess: Nope.
doh :)
That said, those MFC calls are just wrapped WinAPI calls with more or less exactly the same names.
Makes it very tempting to make a prod for Solskogen where the mouse cursor will (after a bit) start flying around in a spline path, making the darklite member who holds the cardboard jump around :)
(hey, maybe that would be a category on its own: 4ks with live performance! Each showing will be unique!)
(hey, maybe that would be a category on its own: 4ks with live performance! Each showing will be unique!)
Let me push this back up again - 3 of 5 4k intro entries at Evoke 2012 failed at hiding the mousecursor. We need a compo rule. Everywhere.
i dont get this cursor hate. be friendly, love thy cursor.
Bah, we had this same whining about prods without "exit" feature. Who cares, just reboot the damn machine.
Rebooting takes too long...
Aehm this has nothing to do with rebooting the machine.
On a related note, in all my tests the cursor does the loading circle instead of an arrow, and you have to move it away from the window and back in to get the normal pointer. Is there a known cause for this?
@msqrt: XP did the same, you got the wait hourglass.
This is just guessing, but I'm presuming Windows shows the wait cursor when executing the program, and when the program doesn't set a cursor in its window class it doesn't change from that. Moving it out of the window causes the desktop or another program that DOES set a cursor to change it to the normal arrow.
This is just guessing, but I'm presuming Windows shows the wait cursor when executing the program, and when the program doesn't set a cursor in its window class it doesn't change from that. Moving it out of the window causes the desktop or another program that DOES set a cursor to change it to the normal arrow.
That's because people "forget" to actually clear the message loop so windows thinks the program is busy and display the wait cursor.
True, if you're using a predefined class (like Edit) then it should have a cursor set.