Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: printing/image_win.cc

Issue 1343593002: Cleanup code in printing/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « printing/image_mac.cc ('k') | printing/metafile.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "printing/image.h" 5 #include "printing/image.h"
6 6
7 #include "base/win/scoped_gdi_object.h" 7 #include "base/win/scoped_gdi_object.h"
8 #include "base/win/scoped_hdc.h" 8 #include "base/win/scoped_hdc.h"
9 #include "base/win/scoped_select_object.h" 9 #include "base/win/scoped_select_object.h"
10 #include "printing/metafile.h" 10 #include "printing/metafile.h"
11 #include "skia/ext/platform_device.h" 11 #include "skia/ext/platform_device.h"
12 #include "ui/gfx/gdi_util.h" // EMF support 12 #include "ui/gfx/gdi_util.h" // EMF support
13 #include "ui/gfx/geometry/rect.h" 13 #include "ui/gfx/geometry/rect.h"
14 14
15 15
16 namespace { 16 namespace {
17 17
18 // A simple class which temporarily overrides system settings. 18 // A simple class which temporarily overrides system settings.
19 // The bitmap image rendered via the PlayEnhMetaFile() function depends on 19 // The bitmap image rendered via the PlayEnhMetaFile() function depends on
20 // some system settings. 20 // some system settings.
21 // As a workaround for such dependency, this class saves the system settings 21 // As a workaround for such dependency, this class saves the system settings
22 // and changes them. This class also restore the saved settings in its 22 // and changes them. This class also restore the saved settings in its
23 // destructor. 23 // destructor.
24 class DisableFontSmoothing { 24 class DisableFontSmoothing {
25 public: 25 public:
26 explicit DisableFontSmoothing() : enable_again_(false) { 26 DisableFontSmoothing() : enable_again_(false) {
27 BOOL enabled; 27 BOOL enabled;
28 if (SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &enabled, 0) && 28 if (SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &enabled, 0) &&
29 enabled) { 29 enabled) {
30 if (SystemParametersInfo(SPI_SETFONTSMOOTHING, FALSE, NULL, 0)) 30 if (SystemParametersInfo(SPI_SETFONTSMOOTHING, FALSE, NULL, 0))
31 enable_again_ = true; 31 enable_again_ = true;
32 } 32 }
33 } 33 }
34 34
35 ~DisableFontSmoothing() { 35 ~DisableFontSmoothing() {
36 if (enable_again_) { 36 if (enable_again_) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 base::win::ScopedBitmap bitmap( 70 base::win::ScopedBitmap bitmap(
71 ::CreateDIBSection(hdc.Get(), reinterpret_cast<BITMAPINFO*>(&hdr), 0, 71 ::CreateDIBSection(hdc.Get(), reinterpret_cast<BITMAPINFO*>(&hdr), 0,
72 reinterpret_cast<void**>(&bits), NULL, 0)); 72 reinterpret_cast<void**>(&bits), NULL, 0));
73 DCHECK(bitmap); 73 DCHECK(bitmap);
74 base::win::ScopedSelectObject select_object(hdc.Get(), bitmap); 74 base::win::ScopedSelectObject select_object(hdc.Get(), bitmap);
75 75
76 skia::InitializeDC(hdc.Get()); 76 skia::InitializeDC(hdc.Get());
77 77
78 bool success = metafile.Playback(hdc.Get(), NULL); 78 bool success = metafile.Playback(hdc.Get(), NULL);
79 79
80 row_length_ = size_.width() * sizeof(uint32); 80 row_length_ = size_.width() * sizeof(uint32_t);
81 size_t bytes = row_length_ * size_.height(); 81 size_t bytes = row_length_ * size_.height();
82 DCHECK(bytes); 82 DCHECK(bytes);
83 83
84 data_.assign(bits, bits + bytes); 84 data_.assign(bits, bits + bytes);
85 85
86 return success; 86 return success;
87 } 87 }
88 88
89 } // namespace printing 89 } // namespace printing
OLDNEW
« no previous file with comments | « printing/image_mac.cc ('k') | printing/metafile.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698