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

Side by Side Diff: src/core/SkPixmap.cpp

Issue 1842753002: Style bikeshed - remove extraneous whitespace (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 8 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 | « src/core/SkPictureShader.h ('k') | src/core/SkPoint.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkColorPriv.h" 8 #include "SkColorPriv.h"
9 #include "SkConfig8888.h" 9 #include "SkConfig8888.h"
10 #include "SkData.h" 10 #include "SkData.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 this->reset(); 51 this->reset();
52 return false; 52 return false;
53 } 53 }
54 54
55 bool SkPixmap::extractSubset(SkPixmap* result, const SkIRect& subset) const { 55 bool SkPixmap::extractSubset(SkPixmap* result, const SkIRect& subset) const {
56 SkIRect srcRect, r; 56 SkIRect srcRect, r;
57 srcRect.set(0, 0, this->width(), this->height()); 57 srcRect.set(0, 0, this->width(), this->height());
58 if (!r.intersect(srcRect, subset)) { 58 if (!r.intersect(srcRect, subset)) {
59 return false; // r is empty (i.e. no intersection) 59 return false; // r is empty (i.e. no intersection)
60 } 60 }
61 61
62 // If the upper left of the rectangle was outside the bounds of this SkBitma p, we should have 62 // If the upper left of the rectangle was outside the bounds of this SkBitma p, we should have
63 // exited above. 63 // exited above.
64 SkASSERT(static_cast<unsigned>(r.fLeft) < static_cast<unsigned>(this->width( ))); 64 SkASSERT(static_cast<unsigned>(r.fLeft) < static_cast<unsigned>(this->width( )));
65 SkASSERT(static_cast<unsigned>(r.fTop) < static_cast<unsigned>(this->height( ))); 65 SkASSERT(static_cast<unsigned>(r.fTop) < static_cast<unsigned>(this->height( )));
66 66
67 const void* pixels = nullptr; 67 const void* pixels = nullptr;
68 if (fPixels) { 68 if (fPixels) {
69 const size_t bpp = fInfo.bytesPerPixel(); 69 const size_t bpp = fInfo.bytesPerPixel();
70 pixels = (const uint8_t*)fPixels + r.fTop * fRowBytes + r.fLeft * bpp; 70 pixels = (const uint8_t*)fPixels + r.fTop * fRowBytes + r.fLeft * bpp;
71 } 71 }
72 result->reset(fInfo.makeWH(r.width(), r.height()), pixels, fRowBytes, fCTabl e); 72 result->reset(fInfo.makeWH(r.width(), r.height()), pixels, fRowBytes, fCTabl e);
73 return true; 73 return true;
74 } 74 }
75 75
76 bool SkPixmap::readPixels(const SkImageInfo& requestedDstInfo, void* dstPixels, size_t dstRB, 76 bool SkPixmap::readPixels(const SkImageInfo& requestedDstInfo, void* dstPixels, size_t dstRB,
77 int x, int y) const { 77 int x, int y) const {
78 if (kUnknown_SkColorType == requestedDstInfo.colorType()) { 78 if (kUnknown_SkColorType == requestedDstInfo.colorType()) {
79 return false; 79 return false;
80 } 80 }
81 if (nullptr == dstPixels || dstRB < requestedDstInfo.minRowBytes()) { 81 if (nullptr == dstPixels || dstRB < requestedDstInfo.minRowBytes()) {
82 return false; 82 return false;
83 } 83 }
84 if (0 == requestedDstInfo.width() || 0 == requestedDstInfo.height()) { 84 if (0 == requestedDstInfo.width() || 0 == requestedDstInfo.height()) {
85 return false; 85 return false;
86 } 86 }
87 87
88 SkIRect srcR = SkIRect::MakeXYWH(x, y, requestedDstInfo.width(), requestedDs tInfo.height()); 88 SkIRect srcR = SkIRect::MakeXYWH(x, y, requestedDstInfo.width(), requestedDs tInfo.height());
89 if (!srcR.intersect(0, 0, this->width(), this->height())) { 89 if (!srcR.intersect(0, 0, this->width(), this->height())) {
90 return false; 90 return false;
91 } 91 }
92 92
93 // the intersect may have shrunk info's logical size 93 // the intersect may have shrunk info's logical size
94 const SkImageInfo dstInfo = requestedDstInfo.makeWH(srcR.width(), srcR.heigh t()); 94 const SkImageInfo dstInfo = requestedDstInfo.makeWH(srcR.width(), srcR.heigh t());
95 95
96 // if x or y are negative, then we have to adjust pixels 96 // if x or y are negative, then we have to adjust pixels
97 if (x > 0) { 97 if (x > 0) {
98 x = 0; 98 x = 0;
99 } 99 }
100 if (y > 0) { 100 if (y > 0) {
101 y = 0; 101 y = 0;
102 } 102 }
103 // here x,y are either 0 or negative 103 // here x,y are either 0 or negative
104 dstPixels = ((char*)dstPixels - y * dstRB - x * dstInfo.bytesPerPixel()); 104 dstPixels = ((char*)dstPixels - y * dstRB - x * dstInfo.bytesPerPixel());
105 105
(...skipping 21 matching lines...) Expand all
127 } 127 }
128 128
129 U8CPU a = SkColorGetA(color); 129 U8CPU a = SkColorGetA(color);
130 U8CPU r = SkColorGetR(color); 130 U8CPU r = SkColorGetR(color);
131 U8CPU g = SkColorGetG(color); 131 U8CPU g = SkColorGetG(color);
132 U8CPU b = SkColorGetB(color); 132 U8CPU b = SkColorGetB(color);
133 133
134 int height = area.height(); 134 int height = area.height();
135 const int width = area.width(); 135 const int width = area.width();
136 const int rowBytes = this->rowBytes(); 136 const int rowBytes = this->rowBytes();
137 137
138 switch (this->colorType()) { 138 switch (this->colorType()) {
139 case kGray_8_SkColorType: { 139 case kGray_8_SkColorType: {
140 if (255 != a) { 140 if (255 != a) {
141 r = SkMulDiv255Round(r, a); 141 r = SkMulDiv255Round(r, a);
142 g = SkMulDiv255Round(g, a); 142 g = SkMulDiv255Round(g, a);
143 b = SkMulDiv255Round(b, a); 143 b = SkMulDiv255Round(b, a);
144 } 144 }
145 int gray = SkComputeLuminance(r, g, b); 145 int gray = SkComputeLuminance(r, g, b);
146 uint8_t* p = this->writable_addr8(area.fLeft, area.fTop); 146 uint8_t* p = this->writable_addr8(area.fLeft, area.fTop);
147 while (--height >= 0) { 147 while (--height >= 0) {
148 memset(p, gray, width); 148 memset(p, gray, width);
149 p += rowBytes; 149 p += rowBytes;
150 } 150 }
151 break; 151 break;
152 } 152 }
153 case kAlpha_8_SkColorType: { 153 case kAlpha_8_SkColorType: {
154 uint8_t* p = this->writable_addr8(area.fLeft, area.fTop); 154 uint8_t* p = this->writable_addr8(area.fLeft, area.fTop);
155 while (--height >= 0) { 155 while (--height >= 0) {
156 memset(p, a, width); 156 memset(p, a, width);
157 p += rowBytes; 157 p += rowBytes;
158 } 158 }
159 break; 159 break;
160 } 160 }
161 case kARGB_4444_SkColorType: 161 case kARGB_4444_SkColorType:
162 case kRGB_565_SkColorType: { 162 case kRGB_565_SkColorType: {
163 uint16_t* p = this->writable_addr16(area.fLeft, area.fTop); 163 uint16_t* p = this->writable_addr16(area.fLeft, area.fTop);
164 uint16_t v; 164 uint16_t v;
165 165
166 // make rgb premultiplied 166 // make rgb premultiplied
167 if (255 != a) { 167 if (255 != a) {
168 r = SkMulDiv255Round(r, a); 168 r = SkMulDiv255Round(r, a);
169 g = SkMulDiv255Round(g, a); 169 g = SkMulDiv255Round(g, a);
170 b = SkMulDiv255Round(b, a); 170 b = SkMulDiv255Round(b, a);
171 } 171 }
172 172
173 if (kARGB_4444_SkColorType == this->colorType()) { 173 if (kARGB_4444_SkColorType == this->colorType()) {
174 v = pack_8888_to_4444(a, r, g, b); 174 v = pack_8888_to_4444(a, r, g, b);
175 } else { 175 } else {
176 v = SkPackRGB16(r >> (8 - SK_R16_BITS), 176 v = SkPackRGB16(r >> (8 - SK_R16_BITS),
177 g >> (8 - SK_G16_BITS), 177 g >> (8 - SK_G16_BITS),
178 b >> (8 - SK_B16_BITS)); 178 b >> (8 - SK_B16_BITS));
179 } 179 }
180 while (--height >= 0) { 180 while (--height >= 0) {
181 sk_memset16(p, v, width); 181 sk_memset16(p, v, width);
182 p = (uint16_t*)((char*)p + rowBytes); 182 p = (uint16_t*)((char*)p + rowBytes);
183 } 183 }
184 break; 184 break;
185 } 185 }
186 case kBGRA_8888_SkColorType: 186 case kBGRA_8888_SkColorType:
187 case kRGBA_8888_SkColorType: { 187 case kRGBA_8888_SkColorType: {
188 uint32_t* p = this->writable_addr32(area.fLeft, area.fTop); 188 uint32_t* p = this->writable_addr32(area.fLeft, area.fTop);
189 189
190 if (255 != a && kPremul_SkAlphaType == this->alphaType()) { 190 if (255 != a && kPremul_SkAlphaType == this->alphaType()) {
191 r = SkMulDiv255Round(r, a); 191 r = SkMulDiv255Round(r, a);
192 g = SkMulDiv255Round(g, a); 192 g = SkMulDiv255Round(g, a);
193 b = SkMulDiv255Round(b, a); 193 b = SkMulDiv255Round(b, a);
194 } 194 }
195 uint32_t v = kRGBA_8888_SkColorType == this->colorType() 195 uint32_t v = kRGBA_8888_SkColorType == this->colorType()
196 ? SkPackARGB_as_RGBA(a, r, g, b) 196 ? SkPackARGB_as_RGBA(a, r, g, b)
197 : SkPackARGB_as_BGRA(a, r, g, b); 197 : SkPackARGB_as_BGRA(a, r, g, b);
198 198
199 while (--height >= 0) { 199 while (--height >= 0) {
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 266
267 SkPaint paint; 267 SkPaint paint;
268 paint.setFilterQuality(quality); 268 paint.setFilterQuality(quality);
269 paint.setXfermodeMode(SkXfermode::kSrc_Mode); 269 paint.setXfermodeMode(SkXfermode::kSrc_Mode);
270 surface->getCanvas()->drawBitmapRect(bitmap, SkRect::MakeIWH(dst.width(), ds t.height()), 270 surface->getCanvas()->drawBitmapRect(bitmap, SkRect::MakeIWH(dst.width(), ds t.height()),
271 &paint); 271 &paint);
272 return true; 272 return true;
273 } 273 }
274 274
275 //////////////////////////////////////////////////////////////////////////////// ////////////////// 275 //////////////////////////////////////////////////////////////////////////////// //////////////////
276
OLDNEW
« no previous file with comments | « src/core/SkPictureShader.h ('k') | src/core/SkPoint.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698