GDI Mapping Modes

May 5, 2011 at 3:27am
I'm really confused with this in Programming Windows 5th Edition.

What is the difference with MM_ISOTROPIC and MM_ANISOTROPIC? Also can someone simplify Externals for me?

What is SetWindowExtEx doing? Does it make it the same mapping as device points where it's pixels? I also don't get SetViewportExtEx, why is cyClient a negative integer?
1
2
3
4
SetMapMode (hdc, MM_ISOTROPIC) ;
SetWindowExtEx (hdc, 32767, 32767, NULL) ;
SetViewportExtEx (hdc, cxClient, -cyClient, NULL) ;
SetViewportOrgEx (hdc, 0, cyClient, NULL) ;


And for this, does it make it so that every logical point you would put into a GDI function be mapped as ([your x value you put] * (1000 / (cxClient /2) ), [your y value you put] * (1000 / (-cyClient / 2) )? All this is really confusing.
1
2
3
4
SetMapMode (hdc, MM_ISOTROPIC) ;
SetWindowExtEx (hdc, 1000, 1000, NULL) ;
SetViewportExtEx (hdc, cxClient / 2, -cyClient / 2, NULL) ;
SetViewportOrgEx (hdc, cxClient / 2, cyClient / 2, NULL) ;
May 5, 2011 at 5:14am
I don't know if anybody will volunteer to explain all that. It is quite a bit of writing. I am not going to, but I can at least tell you that Programming Windows, 5th edition by Charles Petzold explains it all. Yes, again, that book.

If you don't get answers online, I recommend that you buy this book.
May 5, 2011 at 6:10am
Not only that, we'll have to dig out our own copy of the Petzold to remind ourselves.
May 5, 2011 at 7:00am
And MSDN.
Topic archived. No new replies allowed.