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

Side by Side Diff: skia/ext/skia_utils_mac.mm

Issue 9203001: Implement input type=color UI (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: rebased Created 8 years, 9 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 | « skia/ext/skia_utils_mac.h ('k') | no next file » | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "skia/ext/skia_utils_mac.h" 5 #include "skia/ext/skia_utils_mac.h"
6 6
7 #import <AppKit/AppKit.h> 7 #import <AppKit/AppKit.h>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/mac/mac_util.h" 10 #include "base/mac/mac_util.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 } 173 }
174 174
175 // Converts ARGB to CGColorRef. 175 // Converts ARGB to CGColorRef.
176 CGColorRef SkColorToCGColorRef(SkColor color) { 176 CGColorRef SkColorToCGColorRef(SkColor color) {
177 return CGColorCreateGenericRGB(SkColorGetR(color) / 255.0, 177 return CGColorCreateGenericRGB(SkColorGetR(color) / 255.0,
178 SkColorGetG(color) / 255.0, 178 SkColorGetG(color) / 255.0,
179 SkColorGetB(color) / 255.0, 179 SkColorGetB(color) / 255.0,
180 SkColorGetA(color) / 255.0); 180 SkColorGetA(color) / 255.0);
181 } 181 }
182 182
183 // Converts NSColor to ARGB
184 SkColor NSDeviceColorToSkColor(NSColor* color) {
185 DCHECK([color colorSpace] == [NSColorSpace genericRGBColorSpace] ||
186 [color colorSpace] == [NSColorSpace deviceRGBColorSpace]);
187 CGFloat red, green, blue, alpha;
188 color = [color colorUsingColorSpace:[NSColorSpace deviceRGBColorSpace]];
189 [color getRed:&red green:&green blue:&blue alpha:&alpha];
190 return SkColorSetARGB(SkScalarRound(255.0 * alpha),
191 SkScalarRound(255.0 * red),
192 SkScalarRound(255.0 * green),
193 SkScalarRound(255.0 * blue));
194 }
195
183 // Converts ARGB to NSColor. 196 // Converts ARGB to NSColor.
184 NSColor* SkColorToCalibratedNSColor(SkColor color) { 197 NSColor* SkColorToCalibratedNSColor(SkColor color) {
185 return [NSColor colorWithCalibratedRed:SkColorGetR(color) / 255.0 198 return [NSColor colorWithCalibratedRed:SkColorGetR(color) / 255.0
186 green:SkColorGetG(color) / 255.0 199 green:SkColorGetG(color) / 255.0
187 blue:SkColorGetB(color) / 255.0 200 blue:SkColorGetB(color) / 255.0
188 alpha:SkColorGetA(color) / 255.0]; 201 alpha:SkColorGetA(color) / 255.0];
189 } 202 }
190 203
204 NSColor* SkColorToDeviceNSColor(SkColor color) {
205 return [NSColor colorWithDeviceRed:SkColorGetR(color) / 255.0
206 green:SkColorGetG(color) / 255.0
207 blue:SkColorGetB(color) / 255.0
208 alpha:SkColorGetA(color) / 255.0];
209 }
210
191 SkBitmap CGImageToSkBitmap(CGImageRef image) { 211 SkBitmap CGImageToSkBitmap(CGImageRef image) {
192 if (!image) 212 if (!image)
193 return SkBitmap(); 213 return SkBitmap();
194 214
195 int width = CGImageGetWidth(image); 215 int width = CGImageGetWidth(image);
196 int height = CGImageGetHeight(image); 216 int height = CGImageGetHeight(image);
197 217
198 scoped_ptr<SkDevice> device( 218 scoped_ptr<SkDevice> device(
199 skia::BitmapPlatformDevice::Create(NULL, width, height, false)); 219 skia::BitmapPlatformDevice::Create(NULL, width, height, false));
200 220
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
350 // Apply content matrix. 370 // Apply content matrix.
351 SkMatrix skMatrix = canvas_->getTotalMatrix(); 371 SkMatrix skMatrix = canvas_->getTotalMatrix();
352 skMatrix.postTranslate(-SkIntToScalar(pt.fX), -SkIntToScalar(pt.fY)); 372 skMatrix.postTranslate(-SkIntToScalar(pt.fX), -SkIntToScalar(pt.fY));
353 CGAffineTransform affine = SkMatrixToCGAffineTransform(skMatrix); 373 CGAffineTransform affine = SkMatrixToCGAffineTransform(skMatrix);
354 CGContextConcatCTM(cgContext_, affine); 374 CGContextConcatCTM(cgContext_, affine);
355 375
356 return cgContext_; 376 return cgContext_;
357 } 377 }
358 378
359 } // namespace gfx 379 } // namespace gfx
OLDNEW
« no previous file with comments | « skia/ext/skia_utils_mac.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698