Page 1 of 2

MouseLocate() is malfunctioning and small bug in graphics

Posted: Sun Oct 13, 2013 11:17 pm
by heartbone
EDIT: It seemed that the MouseLocate() function did not work within a full screen display,
but actually the system cursor gets hidden and needs to be replaced with a user managed display.
Undocumented in manual?
However I've determined from Linux observations that indeed the MouseLocate() function is broken and it does not actually update the mouse pointer's position.
The pointer remains visible in Linux as long as ExamineMouse() function is not used.

Also while running the included code to demonstrate that problem, I noticed that a possible graphics glitch was produced.
(I did not want to post another bug report.)

Run the snippet and notice that the 2nd message: "** MOUSE POINTER SET TO 400, 300 **" does not show up.

Swap lines 10-18 with lines 20-28 and notice that the new 2nd mouse message: "** MOUSE POINTER SET TO 500, 400 **" will not display, but the old 2nd message then shows up.
This seems to be demonstrating a repeatable error.
Is it my error or the compiler's?

Code: Select all

; Demonstrates several problems including locate mouse
Global BLACK= RGB(0,0,0), GRAY= RGB(128,128,128), WHITE= RGB(255,255,255), GREEN= RGB(0,255,0)
CompilerIf #PB_Compiler_OS=#PB_OS_Linux
   ExamineDesktops() : DW= DesktopWidth(0) : DH= DesktopHeight(0)  : DD= DesktopDepth(0)
CompilerEndIf
LoadFont(1,"Arial",11,#PB_Font_Bold|#PB_Font_HighQuality)
If InitSprite()=0 : End : EndIf
If OpenScreen(800,600,32,"appname")=0 : End : EndIf

InitMouse() : ExamineMouse()
ClearScreen(GRAY)
StartDrawing(ScreenOutput())
DrawingFont(FontID(1))
Box(150,270,500,60,WHITE)
BUFF$= "** MOUSE POINTER AT DEFAULT **"
DrawText(200,280,BUFF$,GREEN,BLACK)
StopDrawing() : FlipBuffers()
Delay(3000)

MouseLocate(400,300) 
ClearScreen(WHITE) 
StartDrawing(ScreenOutput())
DrawingFont(FontID(1))
Box(150,270,500,60,GRAY)
BUFF$= "** MOUSE POINTER SET TO 400, 300 **"
DrawText(200,280,BUFF$,BLACK,GREEN)
StopDrawing() : FlipBuffers()
Delay(3000)

MouseLocate(500,400) 
ClearScreen(BLACK) 
StartDrawing(ScreenOutput())
DrawingFont(FontID(1))
Box(150,270,500,60,GREEN)
BUFF$= "** MOUSE POINTER SET TO 500, 400 **"
DrawText(200,280,BUFF$,WHITE,GRAY)
StopDrawing() : FlipBuffers()
Delay(3000)

CloseScreen()

CompilerIf #PB_Compiler_OS=#PB_OS_Linux
   If OpenScreen(DW,DH,DD,"appname")= 0
     End
   EndIf
   CloseScreen()
 CompilerEndIf
 
End

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 2:04 pm
by PMV
The DX mouse is not the desktop-mouse!
The coordinates for the DX mouse can be get by calling MouseX() and MouseY().
I don't see any call to that. And additional, you have to call ExamineMouse() to
get the current position, too. So ... at the end you have to draw a sprite to the
position, where the cursor should be by yourself. See the Example Mouse.pb
mentioned in the PB help in the overview for the mouse-library :wink:

The 2nd problem is not reproduce-able for me ... i see all text-messages as they
are in code.

Btw. you are in bug-forum for windows, what is that linux-compiler-if block for? :)

MFG PMV

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 2:17 pm
by heartbone
Man thanks for the feedback.
I was beginning to think that my posts were being ignored.
PMV wrote:The DX mouse is not the desktop-mouse!
The coordinates for the DX mouse can be get by calling MouseX() and MouseY().
I don't see any call to that. And additional, you have to call ExamineMouse() to
get the current position, too. So ... at the end you have to draw a sprite to the
position, where the cursor should be by yourself. See the Example Mouse.pb
mentioned in the PB help in the overview for the mouse-library :wink:

The 2nd problem is not reproduce-able for me ... i see all text-messages as they
are in code.
I usually program to follow the rules as defined in the compiler documentation,
and I did not see any PureBasic documentation that defines two different mouse pointers.
PMV, could you point me to it?

Also, I am not trying to obtain the mouse pointer position, but to set it.
Therefore there is no need to call the MouseX() & MouseY() functions.

If you see all the text and running the same code I don't,
and I am using the most up to date ATI Catalyst drivers,
then I think that somewhere in the compiler or ATI Windows graphics drivers there remains a small bug.

My system runs with an ATI RADEON 6750 series graphics adapter, and yours?
Btw. you are in bug-forum for windows, what is that linux-compiler-if block for? :)

MFG PMV
That conditional allows the same source code to be compiled for both OSes.
This code demonstrates compiler bugs in both flavors of operating systems.
In Linux once you change the screen resolution away from the desktop,
then you better restore the original resolution,
else when the program finishes the desktop will inherit the resolution and color depth from the executable.
That's what the last code segment is intended to accomplish,
but can't due to a PureBasic Linux compiler bug.

Obviously the full screen mode of PureBasic has LOTS of bugs, as it is most likely seldomly used.
I don't want to use it either, as it is a real bitch to debug.
But because the Linux compiler's ResizeScreen() function does not work as advertised,
I was forced to go there.
As much as I wanted it to be ready, as of now all that I can conclude is that PureBasic's Linux compiler is not ready for prime time use.

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 3:42 pm
by Demivec
I cannot confirm any of the things you reported when you executed the code. I see all three messages when the code is ran unchanged and when it has the lines swapped as suggested.

For reference I am using an ancient NVIDIA GeForce 6600. :wink:

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 3:58 pm
by PMV
heartbone wrote:I usually program to follow the rules as defined in the compiler documentation,
and I did not see any PureBasic documentation that defines two different mouse pointers.
PMV, could you point me to it?
Mouse Library wrote: This library is optimized and uses very low level functions especially for games. Do not use the functions of this library in a regular application, in this case carry out the mouse queries with WindowMouseX(), WindowMouseY() and EventType(). Under Windows the DirectX is used.
The desktop-mouse is reflected with WindowsMouseX/Y() and additional,
on fullscreen, that desktop-mouse is normally hidden automatically ... i really
don't know how you can say, that MouseLocate() doesn't work as
you can't see, where the mouse is currently with your code :)

MFG PMV

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 4:00 pm
by heartbone
PMV wrote:
heartbone wrote:I usually program to follow the rules as defined in the compiler documentation,
and I did not see any PureBasic documentation that defines two different mouse pointers.
PMV, could you point me to it?
Mouse Library wrote: This library is optimized and uses very low level functions especially for games. Do not use the functions of this library in a regular application, in this case carry out the mouse queries with WindowMouseX(), WindowMouseY() and EventType(). Under Windows the DirectX is used.
The desktop-mouse is reflected with WindowsMouseX/Y() and additional,
on fullscreen, that desktop-mouse is normally hidden automatically ... i really
don't know how you can say, that MouseLocate() doesn't work as
you can't see, where the mouse is currently with your code :)

MFG PMV
1) Technically you are correct.
My logic follows.
Yes it may very well be 'working' in fullscreen... but not really.
If you can't see it, does it work or not?

2) Once again, I am not asking how to read the mouse pointer's position.
Although that is what the functions that you listed do.
The MouseLocate() function is supposed to place the mouse pointer.
And if you can't see it move, then it does not work. Does it?

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 4:05 pm
by PMV
You can't see something that you doesn't display. :lol:
Look at Mouse.pb how it works, it is documented ...
Maybe some one moves this to Coding Questions forum. :wink:

MFG PMV

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 4:30 pm
by heartbone
PMV wrote:You can't see something that you doesn't display. :lol:
Look at Mouse.pb how it works, it is documented ...
Maybe some one moves this to Coding Questions forum. :wink:

MFG PMV
I never thought to look at the example for something so basic as mouse commands,
as I do read and understand English very well, and the command reference manual is extensive.
However you are quite correct in that I should examine the example.

I just logged into Windows, ran the example, and I see the way that the mouse pointer to be handled.
I GUESS that I must INFER from the behavior of the example that there is no default mouse pointer image ???
Strange.

It certainly looks as if there is no default mouse pointer, although in Linux I see a pointer until the InitMouse() call.
It would be good if that fact (if it is true) was contained somewhere in the documentation.

OK, it seems the MouseLocate() function works, the problem is that in initializing the Mouse, the mouse pointer disappears.
That sure seems like a bug because that behavior is not documented,
but now I think I comprehend what is actually happening,
in full screen the system's cursor pointer is not being displayed and we must replace it.
Thanks PMV.

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 4:38 pm
by heartbone
Demivec wrote:I cannot confirm any of the things you reported when you executed the code. I see all three messages when the code is ran unchanged and when it has the lines swapped as suggested.

For reference I am using an ancient NVIDIA GeForce 6600. :wink:
Thanks Demivec.

So at this point I am asking anyone using a RADEON (6700 series) to check if they can reproduce the graphics error.

Re: Default fullscreen mouse pointer is hidden & small gfx b

Posted: Mon Oct 14, 2013 5:26 pm
by netmaestro
If you can read this...

Code: Select all

CompilerIf Defined(POINT, #PB_Structure) = 0
  Structure POINT
    x.l
    y.l
  EndStructure
CompilerEndIf

Global NewList nbpts.POINT()
AddElement(nbpts()) : nbpts()\x = 1   : nbpts()\y = 1
AddElement(nbpts()) : nbpts()\x = 797 : nbpts()\y = 2
AddElement(nbpts()) : nbpts()\x = 797 : nbpts()\y = 3
AddElement(nbpts()) : nbpts()\x = 7   : nbpts()\y = 7
AddElement(nbpts()) : nbpts()\x = 792 : nbpts()\y = 7
AddElement(nbpts()) : nbpts()\x = 785 : nbpts()\y = 12
AddElement(nbpts()) : nbpts()\x = 13  : nbpts()\y = 13
AddElement(nbpts()) : nbpts()\x = 586 : nbpts()\y = 237
AddElement(nbpts()) : nbpts()\x = 594 : nbpts()\y = 237
AddElement(nbpts()) : nbpts()\x = 595 : nbpts()\y = 237
AddElement(nbpts()) : nbpts()\x = 594 : nbpts()\y = 238
AddElement(nbpts()) : nbpts()\x = 595 : nbpts()\y = 238
AddElement(nbpts()) : nbpts()\x = 548 : nbpts()\y = 239
AddElement(nbpts()) : nbpts()\x = 603 : nbpts()\y = 239
AddElement(nbpts()) : nbpts()\x = 316 : nbpts()\y = 241
AddElement(nbpts()) : nbpts()\x = 580 : nbpts()\y = 241
AddElement(nbpts()) : nbpts()\x = 581 : nbpts()\y = 241
AddElement(nbpts()) : nbpts()\x = 434 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 435 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 442 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 451 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 458 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 580 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 581 : nbpts()\y = 242
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 434 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 435 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 608 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 609 : nbpts()\y = 243
AddElement(nbpts()) : nbpts()\x = 608 : nbpts()\y = 244
AddElement(nbpts()) : nbpts()\x = 609 : nbpts()\y = 244
AddElement(nbpts()) : nbpts()\x = 328 : nbpts()\y = 245
AddElement(nbpts()) : nbpts()\x = 329 : nbpts()\y = 245
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 246
AddElement(nbpts()) : nbpts()\x = 307 : nbpts()\y = 246
AddElement(nbpts()) : nbpts()\x = 308 : nbpts()\y = 246
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 246
AddElement(nbpts()) : nbpts()\x = 575 : nbpts()\y = 246
AddElement(nbpts()) : nbpts()\x = 307 : nbpts()\y = 247
AddElement(nbpts()) : nbpts()\x = 308 : nbpts()\y = 247
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 247
AddElement(nbpts()) : nbpts()\x = 575 : nbpts()\y = 247
AddElement(nbpts()) : nbpts()\x = 548 : nbpts()\y = 248
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 248
AddElement(nbpts()) : nbpts()\x = 465 : nbpts()\y = 249
AddElement(nbpts()) : nbpts()\x = 466 : nbpts()\y = 249
AddElement(nbpts()) : nbpts()\x = 548 : nbpts()\y = 249
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 249
AddElement(nbpts()) : nbpts()\x = 615 : nbpts()\y = 249
AddElement(nbpts()) : nbpts()\x = 209 : nbpts()\y = 250
AddElement(nbpts()) : nbpts()\x = 210 : nbpts()\y = 250
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 250
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 250
AddElement(nbpts()) : nbpts()\x = 209 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 210 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 251
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 298 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 252
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 253
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 253
AddElement(nbpts()) : nbpts()\x = 338 : nbpts()\y = 253
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 253
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 253
AddElement(nbpts()) : nbpts()\x = 213 : nbpts()\y = 254
AddElement(nbpts()) : nbpts()\x = 468 : nbpts()\y = 256
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 256
AddElement(nbpts()) : nbpts()\x = 573 : nbpts()\y = 256
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 256
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 257
AddElement(nbpts()) : nbpts()\x = 573 : nbpts()\y = 257
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 257
AddElement(nbpts()) : nbpts()\x = 217 : nbpts()\y = 258
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 259
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 259
AddElement(nbpts()) : nbpts()\x = 222 : nbpts()\y = 260
AddElement(nbpts()) : nbpts()\x = 343 : nbpts()\y = 261
AddElement(nbpts()) : nbpts()\x = 344 : nbpts()\y = 261
AddElement(nbpts()) : nbpts()\x = 294 : nbpts()\y = 262
AddElement(nbpts()) : nbpts()\x = 295 : nbpts()\y = 262
AddElement(nbpts()) : nbpts()\x = 343 : nbpts()\y = 262
AddElement(nbpts()) : nbpts()\x = 344 : nbpts()\y = 262
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 262
AddElement(nbpts()) : nbpts()\x = 294 : nbpts()\y = 263
AddElement(nbpts()) : nbpts()\x = 295 : nbpts()\y = 263
AddElement(nbpts()) : nbpts()\x = 225 : nbpts()\y = 264
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 264
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 265
AddElement(nbpts()) : nbpts()\x = 466 : nbpts()\y = 265
AddElement(nbpts()) : nbpts()\x = 467 : nbpts()\y = 265
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 265
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 266
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 266
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 266
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 267
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 267
AddElement(nbpts()) : nbpts()\x = 228 : nbpts()\y = 267
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 267
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 267
AddElement(nbpts()) : nbpts()\x = 500 : nbpts()\y = 268
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 268
AddElement(nbpts()) : nbpts()\x = 230 : nbpts()\y = 271
AddElement(nbpts()) : nbpts()\x = 231 : nbpts()\y = 271
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 271
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 271
AddElement(nbpts()) : nbpts()\x = 460 : nbpts()\y = 271
AddElement(nbpts()) : nbpts()\x = 230 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 231 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 272
AddElement(nbpts()) : nbpts()\x = 573 : nbpts()\y = 273
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 273
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 274
AddElement(nbpts()) : nbpts()\x = 233 : nbpts()\y = 274
AddElement(nbpts()) : nbpts()\x = 346 : nbpts()\y = 274
AddElement(nbpts()) : nbpts()\x = 573 : nbpts()\y = 274
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 274
AddElement(nbpts()) : nbpts()\x = 292 : nbpts()\y = 275
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 275
AddElement(nbpts()) : nbpts()\x = 292 : nbpts()\y = 276
AddElement(nbpts()) : nbpts()\x = 453 : nbpts()\y = 276
AddElement(nbpts()) : nbpts()\x = 454 : nbpts()\y = 276
AddElement(nbpts()) : nbpts()\x = 235 : nbpts()\y = 278
AddElement(nbpts()) : nbpts()\x = 236 : nbpts()\y = 278
AddElement(nbpts()) : nbpts()\x = 602 : nbpts()\y = 278
AddElement(nbpts()) : nbpts()\x = 235 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 236 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 607 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 608 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 613 : nbpts()\y = 279
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 280
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 280
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 280
AddElement(nbpts()) : nbpts()\x = 446 : nbpts()\y = 280
AddElement(nbpts()) : nbpts()\x = 239 : nbpts()\y = 281
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 282
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 282
AddElement(nbpts()) : nbpts()\x = 239 : nbpts()\y = 282
AddElement(nbpts()) : nbpts()\x = 550 : nbpts()\y = 282
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 282
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 283
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 283
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 283
AddElement(nbpts()) : nbpts()\x = 502 : nbpts()\y = 283
AddElement(nbpts()) : nbpts()\x = 455 : nbpts()\y = 284
AddElement(nbpts()) : nbpts()\x = 346 : nbpts()\y = 285
AddElement(nbpts()) : nbpts()\x = 347 : nbpts()\y = 285
AddElement(nbpts()) : nbpts()\x = 242 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 243 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 346 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 347 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 613 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 614 : nbpts()\y = 286
AddElement(nbpts()) : nbpts()\x = 242 : nbpts()\y = 287
AddElement(nbpts()) : nbpts()\x = 243 : nbpts()\y = 287
AddElement(nbpts()) : nbpts()\x = 613 : nbpts()\y = 287
AddElement(nbpts()) : nbpts()\x = 614 : nbpts()\y = 287
AddElement(nbpts()) : nbpts()\x = 296 : nbpts()\y = 288
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 288
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 288
AddElement(nbpts()) : nbpts()\x = 463 : nbpts()\y = 288
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 289
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 289
AddElement(nbpts()) : nbpts()\x = 574 : nbpts()\y = 289
AddElement(nbpts()) : nbpts()\x = 204 : nbpts()\y = 290
AddElement(nbpts()) : nbpts()\x = 245 : nbpts()\y = 290
AddElement(nbpts()) : nbpts()\x = 501 : nbpts()\y = 291
AddElement(nbpts()) : nbpts()\x = 550 : nbpts()\y = 291
AddElement(nbpts()) : nbpts()\x = 614 : nbpts()\y = 291
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 293
AddElement(nbpts()) : nbpts()\x = 258 : nbpts()\y = 293
AddElement(nbpts()) : nbpts()\x = 467 : nbpts()\y = 293
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 294
AddElement(nbpts()) : nbpts()\x = 258 : nbpts()\y = 294
AddElement(nbpts()) : nbpts()\x = 303 : nbpts()\y = 294
AddElement(nbpts()) : nbpts()\x = 467 : nbpts()\y = 294
AddElement(nbpts()) : nbpts()\x = 248 : nbpts()\y = 295
AddElement(nbpts()) : nbpts()\x = 249 : nbpts()\y = 295
AddElement(nbpts()) : nbpts()\x = 573 : nbpts()\y = 295
AddElement(nbpts()) : nbpts()\x = 248 : nbpts()\y = 296
AddElement(nbpts()) : nbpts()\x = 249 : nbpts()\y = 296
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 296
AddElement(nbpts()) : nbpts()\x = 344 : nbpts()\y = 297
AddElement(nbpts()) : nbpts()\x = 615 : nbpts()\y = 297
AddElement(nbpts()) : nbpts()\x = 616 : nbpts()\y = 297
AddElement(nbpts()) : nbpts()\x = 471 : nbpts()\y = 298
AddElement(nbpts()) : nbpts()\x = 251 : nbpts()\y = 299
AddElement(nbpts()) : nbpts()\x = 502 : nbpts()\y = 299
AddElement(nbpts()) : nbpts()\x = 503 : nbpts()\y = 299
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 502 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 503 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 549 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 577 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 578 : nbpts()\y = 300
AddElement(nbpts()) : nbpts()\x = 577 : nbpts()\y = 301
AddElement(nbpts()) : nbpts()\x = 578 : nbpts()\y = 301
AddElement(nbpts()) : nbpts()\x = 309 : nbpts()\y = 302
AddElement(nbpts()) : nbpts()\x = 310 : nbpts()\y = 302
AddElement(nbpts()) : nbpts()\x = 253 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 254 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 309 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 310 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 334 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 335 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 303
AddElement(nbpts()) : nbpts()\x = 253 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 254 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 334 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 335 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 428 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 583 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 590 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 597 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 606 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 607 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 615 : nbpts()\y = 304
AddElement(nbpts()) : nbpts()\x = 590 : nbpts()\y = 305
AddElement(nbpts()) : nbpts()\x = 606 : nbpts()\y = 305
AddElement(nbpts()) : nbpts()\x = 607 : nbpts()\y = 305
AddElement(nbpts()) : nbpts()\x = 467 : nbpts()\y = 306
AddElement(nbpts()) : nbpts()\x = 468 : nbpts()\y = 306
AddElement(nbpts()) : nbpts()\x = 256 : nbpts()\y = 307
AddElement(nbpts()) : nbpts()\x = 257 : nbpts()\y = 307
AddElement(nbpts()) : nbpts()\x = 506 : nbpts()\y = 307
AddElement(nbpts()) : nbpts()\x = 320 : nbpts()\y = 308
AddElement(nbpts()) : nbpts()\x = 516 : nbpts()\y = 308
AddElement(nbpts()) : nbpts()\x = 545 : nbpts()\y = 308
AddElement(nbpts()) : nbpts()\x = 205 : nbpts()\y = 309
AddElement(nbpts()) : nbpts()\x = 516 : nbpts()\y = 309
AddElement(nbpts()) : nbpts()\x = 525 : nbpts()\y = 309
AddElement(nbpts()) : nbpts()\x = 535 : nbpts()\y = 309
AddElement(nbpts()) : nbpts()\x = 536 : nbpts()\y = 309
AddElement(nbpts()) : nbpts()\x = 535 : nbpts()\y = 310
AddElement(nbpts()) : nbpts()\x = 536 : nbpts()\y = 310
AddElement(nbpts()) : nbpts()\x = 427 : nbpts()\y = 311
AddElement(nbpts()) : nbpts()\x = 434 : nbpts()\y = 312
AddElement(nbpts()) : nbpts()\x = 435 : nbpts()\y = 312
AddElement(nbpts()) : nbpts()\x = 462 : nbpts()\y = 312
AddElement(nbpts()) : nbpts()\x = 434 : nbpts()\y = 313
AddElement(nbpts()) : nbpts()\x = 435 : nbpts()\y = 313
AddElement(nbpts()) : nbpts()\x = 444 : nbpts()\y = 313
AddElement(nbpts()) : nbpts()\x = 452 : nbpts()\y = 313
AddElement(nbpts()) : nbpts()\x = 453 : nbpts()\y = 313
AddElement(nbpts()) : nbpts()\x = 16  : nbpts()\y = 584
AddElement(nbpts()) : nbpts()\x = 785 : nbpts()\y = 586
AddElement(nbpts()) : nbpts()\x = 9   : nbpts()\y = 591
AddElement(nbpts()) : nbpts()\x = 791 : nbpts()\y = 591
AddElement(nbpts()) : nbpts()\x = 797 : nbpts()\y = 597
AddElement(nbpts()) : nbpts()\x = 2   : nbpts()\y = 598

InitSprite():InitMouse():InitKeyboard()
OpenScreen(800,600,32,"")
CreateSprite(0,2,2)
StartDrawing(SpriteOutput(0))
  Box(0,0,2,2,RGB(0,200,0))
StopDrawing()

Repeat
  ClearScreen(0)
  ForEach nbpts()
    MouseLocate(nbpts()\x, nbpts()\y)
    ExamineMouse()
    DisplaySprite(0, MouseX(), MouseY())
  Next
  FlipBuffers()
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_All)

Re: Default fullscreen mouse pointer is hidden & small gfx b

Posted: Mon Oct 14, 2013 5:28 pm
by netmaestro
:?:
You changed the title and topic of the bug report? Now nobody's response makes sense. If your bug report turns out to be mistaken, just post "Oh, I see, thanks!" and then start a new report if you think the problem is actually something else. Please don't pulverize the existing one.

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 5:32 pm
by heartbone
netmaestro wrote::?:
You changed the title and topic of the bug report? Now nobody's response makes sense. If your bug report turns out to be mistaken, just post "Oh, I see, thanks!" and then start a new report if you think the problem is actually something else. Please don't pulverize the existing one.
OK I will restore it.
Also the original topic title is the truth.
see: http://www.purebasic.fr/english/viewtop ... 23&t=57033

Now at this point, what does not make sense to me is your post.
Am I to run your snippet?
What am I to see?
Will I have to return to Windows?

edit: just ran it, u so silly.

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 5:42 pm
by netmaestro
Will I have to return to Windows?
Your post is in Bugs - Windows.

Re: MouseLocate() is malfunctioning and small bug in graphic

Posted: Mon Oct 14, 2013 5:47 pm
by heartbone
netmaestro wrote:
Will I have to return to Windows?
Your post is in Bugs - Windows.
Surprise!
Your silly code executed in Linux just fine.
I do try to avoid Windows.
After using Linux, most would.

The very sad thing is that I can not avoid Windows.
:( :cry: :( :cry:
I really like programming and the sorry state of the PureBasic Linux compiler,
where core and very basic things like ResizeWindow() remain broken,
dictate that I must use Windows if I actually want to create anything using PureBasic.

...sniffle...

Re: Default fullscreen mouse pointer is hidden & small gfx b

Posted: Mon Oct 14, 2013 9:25 pm
by PB
> Run the snippet and notice that the 2nd message:
> "** MOUSE POINTER SET TO 400, 300 **" does not show up.

Shows up just fine here on my old Dell laptop.

> If you can read this

@NM: Before I even ran your code, I knew it'd be something like that. :)