@@ -19,12 +19,11 @@ void OnPaint(HDC hdc, const std::string& filePath, Viewer& viewer) {
19
19
}
20
20
Vector2Df viewport = parser->getViewPort ();
21
21
std::pair< Vector2Df, Vector2Df > viewbox = parser->getViewBox ();
22
- graphics.SetClip (Gdiplus::Rect (0 , 0 , viewport.x , viewport.y ));
23
- Gdiplus::GraphicsState state = graphics.Save ();
24
22
if (viewport.x == 0 && viewport.y == 0 ) {
25
23
viewport.x = viewer.window_size .x ;
26
24
viewport.y = viewer.window_size .y ;
27
25
}
26
+ graphics.SetClip (Gdiplus::Rect (0 , 0 , viewport.x , viewport.y ));
28
27
if ((viewport.x != viewbox.second .x || viewport.y != viewbox.second .y ) &&
29
28
viewbox.second .x != 0 && viewbox.second .y != 0 ) {
30
29
float scale_x = viewport.x / viewbox.second .x ;
@@ -43,27 +42,19 @@ void OnPaint(HDC hdc, const std::string& filePath, Viewer& viewer) {
43
42
graphics.TranslateTransform (offset_x, offset_y);
44
43
}
45
44
45
+ graphics.SetSmoothingMode (Gdiplus::SmoothingModeAntiAlias8x8);
46
+ graphics.SetTextContrast (100 );
47
+ graphics.SetCompositingMode (Gdiplus::CompositingModeSourceOver);
48
+ graphics.SetPixelOffsetMode (Gdiplus::PixelOffsetModeHighQuality);
49
+ graphics.SetInterpolationMode (Gdiplus::InterpolationModeHighQuality);
50
+
46
51
Gdiplus::Matrix matrix;
47
52
Gdiplus::Region region;
48
53
graphics.GetClip (®ion);
49
54
graphics.RotateTransform (viewer.rotate_angle );
50
- if (viewer.rotate_angle != 0 ) {
51
- matrix.Rotate (viewer.rotate_angle );
52
- region.Transform (&matrix);
53
- }
54
55
graphics.ScaleTransform (viewer.zoom_factor , viewer.zoom_factor );
55
- if (viewer.zoom_factor != 1 ) {
56
- matrix.Scale (viewer.zoom_factor , viewer.zoom_factor );
57
- region.Transform (&matrix);
58
- }
59
- graphics.SetClip (®ion);
60
56
graphics.TranslateTransform (viewer.offset_x , viewer.offset_y );
61
- graphics.TranslateClip (viewer.offset_x , viewer.offset_y );
62
- graphics.SetSmoothingMode (Gdiplus::SmoothingModeAntiAlias8x8);
63
- graphics.SetTextContrast (100 );
64
- graphics.SetCompositingMode (Gdiplus::CompositingModeSourceOver);
65
- graphics.SetPixelOffsetMode (Gdiplus::PixelOffsetModeHighQuality);
66
- graphics.SetInterpolationMode (Gdiplus::InterpolationModeHighQuality);
57
+ graphics.SetClip (®ion);
67
58
68
59
Renderer* renderer = Renderer::getInstance ();
69
60
SVGElement* root = parser->getRoot ();
0 commit comments