+ Notice that the function sets the origin by moving it relatively to the
+ current origin position, so you shouldn't change the origin before
+ calling DoPrepareDC() or, if you do, reset it to (0, 0) later. If you
+ call DoPrepareDC() immediately after device context creation, as in the
+ example above, this problem doesn't arise, of course, so it is
+ customary to do it like this.