GDI Mapping Modes

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) ;
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.
Not only that, we'll have to dig out our own copy of the Petzold to remind ourselves.
And MSDN.
Topic archived. No new replies allowed.