Ding Dong the twitch is dead!
Circle (500, 500), i
, &HFFFF0000 Paint (500, 500), &HFFFF0000 Circle (500, 500), i
, &HFFFFFF00 Paint (500, 500), &HFFFFFF00 Circle (400, 400), 80, &HFF000000 Paint (400, 400), &HFF000000 Circle (400, 600), 80, &HFF000000 Paint (400, 600), &HFF000000 Circle (600, 600), 80, &HFF000000 Paint (600, 600), &HFF000000 Circle (600, 400), 80, &HFF000000 Paint (600, 400), &HFF000000 Circle (400, 400), 80, &HFF000000 Paint (400, 400), &HFF000000 Line (499, 300)-(501, 700), &HFF000000, B
Line (400, 400)-(600, 600), -1, BF
_PutImage (999, 999)-(0, 0), 0, 0, (1, 1)-(1000, 1000) 'mirror the image
The problem here is you're putting the image off the screen. There is no point (1000,1000). 😱
The issue, in all honesty, is that there is NO center of the screen. No even pixel screen has a "perfect center". For example, which pixel is the center of my 2x2 "screen of X's" below?
XX
XX
Now, with a 3x3 screen, we have a perfect center:
XXX
XOX
XXX
But with an even number of pixels?? It doesn't exist!
For our expanding screen, the issue is with us going beyond the screen limits. Our _NEWIMAGE is (1000, 1000, 32), but our screen limits are from (0,0) to (999,999). By trying to copy from (0,0) to (1000,1000), we're blowing up the screen.
As Richard so elegantly mentioned: "When you put 1000 pickles into a barrel made to hold 999, vinegar spills over!"
And our twitch?
Same style common misconception. With a screen 1000x1000 pixels, the point (500, 500) is NOT the perfect center of the screen. It's half a pixel off, which rounds to being a whole pixel off-center.
My symmetrical image truly isn't symmetrical, and mirroring it repeatedly easily highlights that with the twitch.
As to why WINDOW works for you without expanding??
You made a 1001x1001 coordinate system and 1000,1000 wasn't off screen. (0,0) to (1000,1000).
Simple little truths about graphics which folks either never learned, or else forgot. I got a message from someone wanting help with something very similar to this, so I thought I'd share for everyone else to play around with the issue some. ;)
Honestly, I think it's this "non-center" that has OpenGL and all use a different coordinate system with (0,0) as the center of the screen and then you go left/right, up/down from there. I just thought it'd be something worth pointing out while it was fresh in my mind.