| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 #ifndef BASE_SCOPED_HANDLE_H__ | 5 #ifndef BASE_SCOPED_HANDLE_H__ |
| 6 #define BASE_SCOPED_HANDLE_H__ | 6 #define BASE_SCOPED_HANDLE_H__ |
| 7 | 7 |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 105 // CreateCompatibleDC. For an HDC returned by GetDC, use ReleaseDC instead. | 105 // CreateCompatibleDC. For an HDC returned by GetDC, use ReleaseDC instead. |
| 106 class ScopedHDC { | 106 class ScopedHDC { |
| 107 public: | 107 public: |
| 108 ScopedHDC() : hdc_(NULL) { } | 108 ScopedHDC() : hdc_(NULL) { } |
| 109 explicit ScopedHDC(HDC h) : hdc_(h) { } | 109 explicit ScopedHDC(HDC h) : hdc_(h) { } |
| 110 | 110 |
| 111 ~ScopedHDC() { | 111 ~ScopedHDC() { |
| 112 Close(); | 112 Close(); |
| 113 } | 113 } |
| 114 | 114 |
| 115 HDC Get() { |
| 116 return hdc_; |
| 117 } |
| 118 |
| 115 void Set(HDC h) { | 119 void Set(HDC h) { |
| 116 Close(); | 120 Close(); |
| 117 hdc_ = h; | 121 hdc_ = h; |
| 118 } | 122 } |
| 119 | 123 |
| 120 operator HDC() { return hdc_; } | 124 operator HDC() { return hdc_; } |
| 121 | 125 |
| 122 private: | 126 private: |
| 123 void Close() { | 127 void Close() { |
| 124 if (hdc_) | 128 if (hdc_) |
| 125 DeleteDC(hdc_); | 129 DeleteDC(hdc_); |
| 126 } | 130 } |
| 127 | 131 |
| 128 HDC hdc_; | 132 HDC hdc_; |
| 129 DISALLOW_EVIL_CONSTRUCTORS(ScopedHDC); | 133 DISALLOW_EVIL_CONSTRUCTORS(ScopedHDC); |
| 130 }; | 134 }; |
| 131 | 135 |
| 132 // Like ScopedHandle but for HBITMAP. | 136 // Like ScopedHandle but for HBITMAP. |
| 133 class ScopedBitmap { | 137 class ScopedBitmap { |
| 134 public: | 138 public: |
| 135 ScopedBitmap() : hbitmap_(NULL) { } | 139 ScopedBitmap() : hbitmap_(NULL) { } |
| 136 explicit ScopedBitmap(HBITMAP h) : hbitmap_(h) { } | 140 explicit ScopedBitmap(HBITMAP h) : hbitmap_(h) { } |
| 137 | 141 |
| 138 ~ScopedBitmap() { | 142 ~ScopedBitmap() { |
| 139 Close(); | 143 Close(); |
| 140 } | 144 } |
| 141 | 145 |
| 146 HBITMAP Get() { |
| 147 return hbitmap_; |
| 148 } |
| 149 |
| 142 void Set(HBITMAP h) { | 150 void Set(HBITMAP h) { |
| 143 Close(); | 151 Close(); |
| 144 hbitmap_ = h; | 152 hbitmap_ = h; |
| 145 } | 153 } |
| 146 | 154 |
| 147 operator HBITMAP() { return hbitmap_; } | 155 operator HBITMAP() { return hbitmap_; } |
| 148 | 156 |
| 149 private: | 157 private: |
| 150 void Close() { | 158 void Close() { |
| 151 if (hbitmap_) | 159 if (hbitmap_) |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 203 private: | 211 private: |
| 204 HGLOBAL glob_; | 212 HGLOBAL glob_; |
| 205 | 213 |
| 206 T* data_; | 214 T* data_; |
| 207 | 215 |
| 208 DISALLOW_EVIL_CONSTRUCTORS(ScopedHGlobal); | 216 DISALLOW_EVIL_CONSTRUCTORS(ScopedHGlobal); |
| 209 }; | 217 }; |
| 210 | 218 |
| 211 #endif // BASE_SCOPED_HANDLE_H__ | 219 #endif // BASE_SCOPED_HANDLE_H__ |
| 212 | 220 |
| OLD | NEW |