fix printer-dc origin shift
svn: r793
This commit is contained in:
parent
3eeac2cf66
commit
41786731da
|
@ -213,8 +213,8 @@ HDC wxGetPrinterDC(void);
|
|||
|
||||
// Logical to device
|
||||
// Absolute
|
||||
#define MS_XLOG2DEV(x) ((int)floor((x)*logical_scale_x*user_scale_x + device_origin_x + canvas_scroll_dx))
|
||||
#define MS_YLOG2DEV(y) ((int)floor((y)*logical_scale_y*user_scale_y + device_origin_y + canvas_scroll_dy))
|
||||
#define MS_XLOG2DEV(x) ((int)floor((x)*logical_scale_x*user_scale_x + (device_origin_x+canvas_scroll_dx)*logical_scale_x))
|
||||
#define MS_YLOG2DEV(y) ((int)floor((y)*logical_scale_y*user_scale_y + (device_origin_y+canvas_scroll_dy)*logical_scale_y))
|
||||
|
||||
// Logical to device
|
||||
#define XLOG2DEV(x) MS_XLOG2DEV(x)
|
||||
|
@ -226,8 +226,8 @@ HDC wxGetPrinterDC(void);
|
|||
|
||||
// Device to logical
|
||||
// Absolute
|
||||
#define MS_XDEV2LOG(x) (((x) - device_origin_x - canvas_scroll_dx)/(logical_scale_x*user_scale_x))
|
||||
#define MS_YDEV2LOG(y) (((y) - device_origin_y - canvas_scroll_dy)/(logical_scale_y*user_scale_y))
|
||||
#define MS_XDEV2LOG(x) (((x)/(logical_scale_x*user_scale_x)) - (device_origin_x + canvas_scroll_dx)/logical_scale_x)
|
||||
#define MS_YDEV2LOG(y) (((y)/(logical_scale_y*user_scale_y)) - (device_origin_y + canvas_scroll_dy)/logical_scale_y)
|
||||
|
||||
// Relative
|
||||
#define MS_XDEV2LOGREL(x) ((x)/(logical_scale_x*user_scale_x))
|
||||
|
|
|
@ -1840,8 +1840,8 @@ void wxDC::DrawText(const char *text, double x, double y, Bool combine, Bool ucs
|
|||
|
||||
alen = substitute_font(ustring, d, alen, font, dc, screen_font, angle, &reset);
|
||||
|
||||
SetDeviceOrigin(MS_XLOG2DEVREL(x + w) + oox + canvas_scroll_dx,
|
||||
MS_YLOG2DEVREL(y + h) + ooy + canvas_scroll_dy);
|
||||
SetDeviceOrigin(((x + w)*user_scale_x) + oox + canvas_scroll_dx,
|
||||
((y + h)*user_scale_y) + ooy + canvas_scroll_dy);
|
||||
|
||||
(void)TextOutW(dc, 0, 0, ustring XFORM_OK_PLUS d, alen);
|
||||
|
||||
|
@ -2256,7 +2256,7 @@ void wxDC::ResetMapMode(HDC given_dc)
|
|||
(int)floor(1000*ly*sy),
|
||||
NULL);
|
||||
::SetWindowExtEx(dc, 1000, 1000, NULL);
|
||||
::SetViewportOrgEx(dc, (int)floor(ox), (int)floor(oy), NULL);
|
||||
::SetViewportOrgEx(dc, (int)floor(ox*lx), (int)floor(oy*ly), NULL);
|
||||
::SetWindowOrgEx(dc, (int)0, (int)0, NULL);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user