[wxPython] Re: Creation of bitmap based on window or screen coordinates

Something is not right here.

If I have this bit of code:

        clientX, clientY= self.GetClientSizeTuple()
        print "ClientSize", clientX, clientY

        cDC= wxClientDC(self)
        #cDC.BeginDrawing()
        print "cDC size", cDC.GetSizeTuple()
        #cDC.EndDrawing()

I expected ClientSize == cDC size.

Instead I get:

ClientSize 538 414 -correct
cDC size (1024, 768) -wrong (this is the same as my screen size)

When I see cDC it is most of my whole screen. The top left hand corner
appears to be located at the same corner as the client area for the scrolled
window and then extends down and right.

Another interesting thing is that the scrolled window does not even appear
in cDC because at the time of showing it in the preview pane, the pane
covers the window and therefore I see the preview pane inside the preview
pane (it sees itself if you know what I mean).

What is going on here?

If I change wxClientDC to wxSecreenDC the full screen is captured right
across.

Regards,

Gordon Williams

···

----- Original Message -----
From: "Gordon Williams" <g_will@cyberus.ca>
To: "wxPython List" <wxpython-users@lists.wxwindows.org>
Sent: Tuesday, December 18, 2001 9:47 PM
Subject: Creation of bitmap based on window or screen coordinates

Hi,

Is there a way to create a bitmap of the information on the screen based

on

window or screen coordinates? I don't want to draw onto a wxMemoryDC as

the

information is spread across several windows. I want to take a snap shot

of

the area of the screen and make a bitmap from it. Is it possible??

Regards,

Gordon Williams

...

I expected ClientSize == cDC size.

Instead I get:

ClientSize 538 414 -correct
cDC size (1024, 768) -wrong (this is the same as my screen size)

...

What is going on here?

I don't know. Ask about it on wx-users and be sure to mention the platform
you are on.

···

--
Robin Dunn
Software Craftsman
robin@AllDunn.com Java give you jitters?
http://wxPython.org Relax with wxPython!

Gordon Williams wrote:

Something is not right here.

If I have this bit of code:

        clientX, clientY= self.GetClientSizeTuple()
        print "ClientSize", clientX, clientY

        cDC= wxClientDC(self)
        #cDC.BeginDrawing()
        print "cDC size", cDC.GetSizeTuple()
        #cDC.EndDrawing()

I expected ClientSize == cDC size.

For scrolled window there must be some init call after creating DC but i don't remember exactly its name. It updates DC maping mode with current scrollbar positions.

HTH,
Niki Spahiev