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

Side by Side Diff: third_party/icon_family/IconFamily.m

Issue 9433057: Extend image format support in third_party/icon_family (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address review comments Created 8 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | third_party/icon_family/README.chromium » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // IconFamily.m 1 // IconFamily.m
2 // IconFamily class implementation 2 // IconFamily class implementation
3 // by Troy Stephens, Thomas Schnitzer, David Remahl, Nathan Day, Ben Haller, Sve n Janssen, Peter Hosey, Conor Dearden, Elliot Glaysher, and Dave MacLachlan 3 // by Troy Stephens, Thomas Schnitzer, David Remahl, Nathan Day, Ben Haller, Sve n Janssen, Peter Hosey, Conor Dearden, Elliot Glaysher, and Dave MacLachlan
4 // version 0.9.4 4 // version 0.9.4
5 // 5 //
6 // Project Home Page: 6 // Project Home Page:
7 // http://iconfamily.sourceforge.net/ 7 // http://iconfamily.sourceforge.net/
8 // 8 //
9 // Problems, shortcomings, and uncertainties that I'm aware of are flagged with "NOTE:". Please address bug reports, bug fixes, suggestions, etc. to the projec t Forums and bug tracker at https://sourceforge.net/projects/iconfamily/ 9 // Problems, shortcomings, and uncertainties that I'm aware of are flagged with "NOTE:". Please address bug reports, bug fixes, suggestions, etc. to the projec t Forums and bug tracker at https://sourceforge.net/projects/iconfamily/
10 10
(...skipping 1218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1229 [graphicsContext setImageInterpolation:previousImageInterpolation]; 1229 [graphicsContext setImageInterpolation:previousImageInterpolation];
1230 1230
1231 [newImage unlockFocus]; 1231 [newImage unlockFocus];
1232 1232
1233 [workingImage release]; 1233 [workingImage release];
1234 1234
1235 // Return the new image! 1235 // Return the new image!
1236 return [newImage autorelease]; 1236 return [newImage autorelease];
1237 } 1237 }
1238 1238
1239 void GetRGBAFrom32BitSource(unsigned char src1, unsigned char src2, unsigned cha r src3, unsigned char src4,
1240 unsigned char* redOut, unsigned char* greenOut, unsi gned char* blueOut, unsigned char* alphaOut,
1241 bool isAlphaFirst, bool isAlphaPremultiplied) {
1242 unsigned char r, g, b, a;
1243 if (isAlphaFirst) {
1244 a = src1;
1245 r = src2;
1246 g = src3;
1247 b = src4;
1248 } else {
1249 r = src1;
1250 g = src2;
1251 b = src3;
1252 a = src4;
1253 }
1254
1255 if (isAlphaPremultiplied) {
1256 // The RGB values are premultiplied by the alpha (so that
1257 // Quartz can save time when compositing the bitmap to a
1258 // destination), and we undo this premultiplication (with some
1259 // lossiness unfortunately) when retrieving the bitmap data.
1260 float oneOverAlpha = 255.0f / (float)a;
1261 r = r * oneOverAlpha;
1262 g = g * oneOverAlpha;
1263 b = b * oneOverAlpha;
1264 }
1265
1266 if (redOut)
1267 *redOut = r;
1268 if (greenOut)
1269 *greenOut = g;
1270 if (blueOut)
1271 *blueOut = b;
1272 if (alphaOut)
1273 *alphaOut = a;
1274 }
1275
1239 + (Handle) get32BitDataFromBitmapImageRep:(NSBitmapImageRep*)bitmapImageRep requ iredPixelSize:(int)requiredPixelSize 1276 + (Handle) get32BitDataFromBitmapImageRep:(NSBitmapImageRep*)bitmapImageRep requ iredPixelSize:(int)requiredPixelSize
1240 { 1277 {
1241 Handle hRawData; 1278 Handle hRawData;
1242 unsigned char* pRawData; 1279 unsigned char* pRawData;
1243 Size rawDataSize; 1280 Size rawDataSize;
1244 unsigned char* pSrc; 1281 unsigned char* pSrc;
1245 unsigned char* pDest; 1282 unsigned char* pDest;
1246 int x, y; 1283 int x, y;
1247 unsigned char alphaByte; 1284
1248 float oneOverAlpha;
1249
1250 // Get information about the bitmapImageRep. 1285 // Get information about the bitmapImageRep.
1251 long pixelsWide = [bitmapImageRep pixelsWide]; 1286 long pixelsWide = [bitmapImageRep pixelsWide];
1252 long pixelsHigh = [bitmapImageRep pixelsHigh]; 1287 long pixelsHigh = [bitmapImageRep pixelsHigh];
1253 long bitsPerSample = [bitmapImageRep bitsPerSample]; 1288 long bitsPerSample = [bitmapImageRep bitsPerSample];
1254 long samplesPerPixel = [bitmapImageRep samplesPerPixel]; 1289 long samplesPerPixel = [bitmapImageRep samplesPerPixel];
1255 long bitsPerPixel = [bitmapImageRep bitsPerPixel]; 1290 long bitsPerPixel = [bitmapImageRep bitsPerPixel];
1256 BOOL isPlanar = [bitmapImageRep isPlanar]; 1291 BOOL isPlanar = [bitmapImageRep isPlanar];
1257 long bytesPerRow = [bitmapImageRep bytesPerRow]; 1292 long bytesPerRow = [bitmapImageRep bytesPerRow];
1258 unsigned char* bitmapData = [bitmapImageRep bitmapData]; 1293 unsigned char* bitmapData = [bitmapImageRep bitmapData];
1294 BOOL isAlphaFirst = [bitmapImageRep bitmapFormat] & NSAlphaFirstBitmapFormat ;
1295 BOOL isAlphaPremultiplied = !([bitmapImageRep bitmapFormat] & NSAlphaNonprem ultipliedBitmapFormat);
1259 1296
1260 // Make sure bitmap has the required dimensions. 1297 // Make sure bitmap has the required dimensions.
1261 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize) 1298 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize)
1262 return NULL; 1299 return NULL;
1263 1300
1264 // So far, this code only handles non-planar 32-bit RGBA and 24-bit RGB sour ce bitmaps. 1301 // So far, this code only handles non-planar 32-bit RGBA and 24-bit RGB sour ce bitmaps.
1265 // This could be made more flexible with some additional programming to acco mmodate other possible 1302 // This could be made more flexible with some additional programming to acco mmodate other possible
1266 // formats... 1303 // formats...
1267 if (isPlanar) 1304 if (isPlanar)
1268 { 1305 {
(...skipping 13 matching lines...) Expand all
1282 if (hRawData == NULL) 1319 if (hRawData == NULL)
1283 return NULL; 1320 return NULL;
1284 pRawData = (unsigned char*) *hRawData; 1321 pRawData = (unsigned char*) *hRawData;
1285 1322
1286 pDest = pRawData; 1323 pDest = pRawData;
1287 1324
1288 if (bitsPerPixel == 32) { 1325 if (bitsPerPixel == 32) {
1289 for (y = 0; y < pixelsHigh; y++) { 1326 for (y = 0; y < pixelsHigh; y++) {
1290 pSrc = bitmapData + y * bytesPerRow; 1327 pSrc = bitmapData + y * bytesPerRow;
1291 for (x = 0; x < pixelsWide; x++) { 1328 for (x = 0; x < pixelsWide; x++) {
1292 » » » » » » // Each pixel is 3 bytes of RGB data, followed by 1 byte of 1329 unsigned char r, g, b, a;
1293 » » » » » » // alpha. The RGB values are pr emultiplied by the alpha (so 1330 GetRGBAFrom32BitSource(pSrc[0], pSrc[1], pSrc[2], pSrc[3 ],
1294 » » » » » » // that Quartz can save time whe n compositing the bitmap to a 1331 &r, &g, &b, &a, isAlphaFirst, isA lphaPremultiplied);
1295 » » » » » » // destination), and we undo thi s premultiplication (with some 1332 *pDest++ = a;
1296 » » » » » » // lossiness unfortunately) when retrieving the bitmap data. 1333 *pDest++ = r;
1297 » » » » » » *pDest++ = alphaByte = *(pSrc+3) ; 1334 *pDest++ = g;
1298 » » » » » » if (alphaByte) { 1335 *pDest++ = b;
1299 » » » » » » » oneOverAlpha = 255.0f / (float)alphaByte; 1336 pSrc += 4;
1300 » » » » » » » *pDest++ = *(pSrc+0) * o neOverAlpha;
1301 » » » » » » » *pDest++ = *(pSrc+1) * o neOverAlpha;
1302 » » » » » » » *pDest++ = *(pSrc+2) * o neOverAlpha;
1303 » » » » » » } else {
1304 » » » » » » » *pDest++ = 0;
1305 » » » » » » » *pDest++ = 0;
1306 » » » » » » » *pDest++ = 0;
1307 » » » » » » }
1308 » » » » » » pSrc+=4;
1309 } 1337 }
1310 } 1338 }
1311 } else if (bitsPerPixel == 24) { 1339 } else if (bitsPerPixel == 24) {
1312 for (y = 0; y < pixelsHigh; y++) { 1340 for (y = 0; y < pixelsHigh; y++) {
1313 pSrc = bitmapData + y * bytesPerRow; 1341 pSrc = bitmapData + y * bytesPerRow;
1314 for (x = 0; x < pixelsWide; x++) { 1342 for (x = 0; x < pixelsWide; x++) {
1315 *pDest++ = 0xFF; 1343 *pDest++ = 0xFF;
1316 *pDest++ = *pSrc++; 1344 *pDest++ = *pSrc++;
1317 *pDest++ = *pSrc++; 1345 *pDest++ = *pSrc++;
1318 *pDest++ = *pSrc++; 1346 *pDest++ = *pSrc++;
(...skipping 21 matching lines...) Expand all
1340 1368
1341 // Get information about the bitmapImageRep. 1369 // Get information about the bitmapImageRep.
1342 long pixelsWide = [bitmapImageRep pixelsWide]; 1370 long pixelsWide = [bitmapImageRep pixelsWide];
1343 long pixelsHigh = [bitmapImageRep pixelsHigh]; 1371 long pixelsHigh = [bitmapImageRep pixelsHigh];
1344 long bitsPerSample = [bitmapImageRep bitsPerSample]; 1372 long bitsPerSample = [bitmapImageRep bitsPerSample];
1345 long samplesPerPixel = [bitmapImageRep samplesPerPixel]; 1373 long samplesPerPixel = [bitmapImageRep samplesPerPixel];
1346 long bitsPerPixel = [bitmapImageRep bitsPerPixel]; 1374 long bitsPerPixel = [bitmapImageRep bitsPerPixel];
1347 BOOL isPlanar = [bitmapImageRep isPlanar]; 1375 BOOL isPlanar = [bitmapImageRep isPlanar];
1348 long bytesPerRow = [bitmapImageRep bytesPerRow]; 1376 long bytesPerRow = [bitmapImageRep bytesPerRow];
1349 unsigned char* bitmapData = [bitmapImageRep bitmapData]; 1377 unsigned char* bitmapData = [bitmapImageRep bitmapData];
1378 BOOL isAlphaFirst = [bitmapImageRep bitmapFormat] & NSAlphaFirstBitmapFormat ;
1379 BOOL isAlphaPremultiplied = !([bitmapImageRep bitmapFormat] & NSAlphaNonprem ultipliedBitmapFormat);
1350 1380
1351 // Make sure bitmap has the required dimensions. 1381 // Make sure bitmap has the required dimensions.
1352 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize) 1382 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize)
1353 return NULL; 1383 return NULL;
1354 1384
1355 // So far, this code only handles non-planar 32-bit RGBA and 24-bit RGB sour ce bitmaps. 1385 // So far, this code only handles non-planar 32-bit RGBA and 24-bit RGB sour ce bitmaps.
1356 // This could be made more flexible with some additional programming... 1386 // This could be made more flexible with some additional programming...
1357 if (isPlanar) 1387 if (isPlanar)
1358 { 1388 {
1359 NSLog(@"get8BitDataFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES"); 1389 NSLog(@"get8BitDataFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES");
(...skipping 16 matching lines...) Expand all
1376 return NULL; 1406 return NULL;
1377 pRawData = (unsigned char*) *hRawData; 1407 pRawData = (unsigned char*) *hRawData;
1378 1408
1379 cgPal = CGPaletteCreateDefaultColorPalette(); 1409 cgPal = CGPaletteCreateDefaultColorPalette();
1380 1410
1381 pDest = pRawData; 1411 pDest = pRawData;
1382 if (bitsPerPixel == 32) { 1412 if (bitsPerPixel == 32) {
1383 for (y = 0; y < pixelsHigh; y++) { 1413 for (y = 0; y < pixelsHigh; y++) {
1384 pSrc = bitmapData + y * bytesPerRow; 1414 pSrc = bitmapData + y * bytesPerRow;
1385 for (x = 0; x < pixelsWide; x++) { 1415 for (x = 0; x < pixelsWide; x++) {
1386 » » » » » cgCol.red = ((float)*(pSrc)) / 255; 1416 unsigned char r, g, b;
1387 » » » » » cgCol.green = ((float)*(pSrc+1)) / 255; 1417 GetRGBAFrom32BitSource(pSrc[0], pSrc[1], pSrc[2], pSrc[3],
1388 » » » » » cgCol.blue = ((float)*(pSrc+2)) / 255; 1418 &r, &g, &b, NULL, isAlphaFirst, isAlp haPremultiplied);
1419 » » » » » cgCol.red = (float)r / 255;
1420 » » » » » cgCol.green = (float)g / 255;
1421 » » » » » cgCol.blue = (float)b / 255;
1389 1422
1390 *pDest++ = CGPaletteGetIndexForColor(cgP al, cgCol); 1423 *pDest++ = CGPaletteGetIndexForColor(cgP al, cgCol);
1391 1424
1392 pSrc+=4; 1425 pSrc+=4;
1393 } 1426 }
1394 } 1427 }
1395 } else if (bitsPerPixel == 24) { 1428 } else if (bitsPerPixel == 24) {
1396 for (y = 0; y < pixelsHigh; y++) { 1429 for (y = 0; y < pixelsHigh; y++) {
1397 pSrc = bitmapData + y * bytesPerRow; 1430 pSrc = bitmapData + y * bytesPerRow;
1398 for (x = 0; x < pixelsWide; x++) { 1431 for (x = 0; x < pixelsWide; x++) {
(...skipping 30 matching lines...) Expand all
1429 1462
1430 // Get information about the bitmapImageRep. 1463 // Get information about the bitmapImageRep.
1431 long pixelsWide = [bitmapImageRep pixelsWide]; 1464 long pixelsWide = [bitmapImageRep pixelsWide];
1432 long pixelsHigh = [bitmapImageRep pixelsHigh]; 1465 long pixelsHigh = [bitmapImageRep pixelsHigh];
1433 long bitsPerSample = [bitmapImageRep bitsPerSample]; 1466 long bitsPerSample = [bitmapImageRep bitsPerSample];
1434 long samplesPerPixel = [bitmapImageRep samplesPerPixel]; 1467 long samplesPerPixel = [bitmapImageRep samplesPerPixel];
1435 long bitsPerPixel = [bitmapImageRep bitsPerPixel]; 1468 long bitsPerPixel = [bitmapImageRep bitsPerPixel];
1436 BOOL isPlanar = [bitmapImageRep isPlanar]; 1469 BOOL isPlanar = [bitmapImageRep isPlanar];
1437 long bytesPerRow = [bitmapImageRep bytesPerRow]; 1470 long bytesPerRow = [bitmapImageRep bytesPerRow];
1438 unsigned char* bitmapData = [bitmapImageRep bitmapData]; 1471 unsigned char* bitmapData = [bitmapImageRep bitmapData];
1472 BOOL isAlphaFirst = [bitmapImageRep bitmapFormat] & NSAlphaFirstBitmapFormat ;
1473 BOOL isAlphaPremultiplied = !([bitmapImageRep bitmapFormat] & NSAlphaNonprem ultipliedBitmapFormat);
1439 1474
1440 // Make sure bitmap has the required dimensions. 1475 // Make sure bitmap has the required dimensions.
1441 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize) 1476 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize)
1442 return NULL; 1477 return NULL;
1443 1478
1444 // So far, this code only handles non-planar 32-bit RGBA, 24-bit RGB and 8-b it grayscale source bitmaps. 1479 // So far, this code only handles non-planar 32-bit RGBA, 24-bit RGB and 8-b it grayscale source bitmaps.
1445 // This could be made more flexible with some additional programming... 1480 // This could be made more flexible with some additional programming...
1446 if (isPlanar) 1481 if (isPlanar)
1447 { 1482 {
1448 NSLog(@"get8BitMaskFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES"); 1483 NSLog(@"get8BitMaskFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES");
(...skipping 13 matching lines...) Expand all
1462 return NULL; 1497 return NULL;
1463 pRawData = (unsigned char*) *hRawData; 1498 pRawData = (unsigned char*) *hRawData;
1464 1499
1465 pSrc = bitmapData; 1500 pSrc = bitmapData;
1466 pDest = pRawData; 1501 pDest = pRawData;
1467 1502
1468 if (bitsPerPixel == 32) { 1503 if (bitsPerPixel == 32) {
1469 for (y = 0; y < pixelsHigh; y++) { 1504 for (y = 0; y < pixelsHigh; y++) {
1470 pSrc = bitmapData + y * bytesPerRow; 1505 pSrc = bitmapData + y * bytesPerRow;
1471 for (x = 0; x < pixelsWide; x++) { 1506 for (x = 0; x < pixelsWide; x++) {
1472 » » » » » pSrc += 3; 1507 unsigned char a;
1473 » » » » » *pDest++ = *pSrc++; 1508 GetRGBAFrom32BitSource(pSrc[0], pSrc[1], pSrc[2], pSrc[3],
1509 NULL, NULL, NULL, &a, isAlphaFirst, i sAlphaPremultiplied);
1510 *pDest++ = a;
1511 » » » » » pSrc += 4;
1474 } 1512 }
1475 } 1513 }
1476 } 1514 }
1477 else if (bitsPerPixel == 24) { 1515 else if (bitsPerPixel == 24) {
1478 memset( pDest, 255, rawDataSize ); 1516 memset( pDest, 255, rawDataSize );
1479 } 1517 }
1480 else if (bitsPerPixel == 8) { 1518 else if (bitsPerPixel == 8) {
1481 for (y = 0; y < pixelsHigh; y++) { 1519 for (y = 0; y < pixelsHigh; y++) {
1482 memcpy( pDest, pSrc, pixelsWide ); 1520 memcpy( pDest, pSrc, pixelsWide );
1483 pSrc += bytesPerRow; 1521 pSrc += bytesPerRow;
(...skipping 23 matching lines...) Expand all
1507 1545
1508 // Get information about the bitmapImageRep. 1546 // Get information about the bitmapImageRep.
1509 long pixelsWide = [bitmapImageRep pixelsWide]; 1547 long pixelsWide = [bitmapImageRep pixelsWide];
1510 long pixelsHigh = [bitmapImageRep pixelsHigh]; 1548 long pixelsHigh = [bitmapImageRep pixelsHigh];
1511 long bitsPerSample = [bitmapImageRep bitsPerSample]; 1549 long bitsPerSample = [bitmapImageRep bitsPerSample];
1512 long samplesPerPixel = [bitmapImageRep samplesPerPixel]; 1550 long samplesPerPixel = [bitmapImageRep samplesPerPixel];
1513 long bitsPerPixel = [bitmapImageRep bitsPerPixel]; 1551 long bitsPerPixel = [bitmapImageRep bitsPerPixel];
1514 BOOL isPlanar = [bitmapImageRep isPlanar]; 1552 BOOL isPlanar = [bitmapImageRep isPlanar];
1515 long bytesPerRow = [bitmapImageRep bytesPerRow]; 1553 long bytesPerRow = [bitmapImageRep bytesPerRow];
1516 unsigned char* bitmapData = [bitmapImageRep bitmapData]; 1554 unsigned char* bitmapData = [bitmapImageRep bitmapData];
1555 BOOL isAlphaFirst = [bitmapImageRep bitmapFormat] & NSAlphaFirstBitmapFormat ;
1556 BOOL isAlphaPremultiplied = !([bitmapImageRep bitmapFormat] & NSAlphaNonprem ultipliedBitmapFormat);
1517 1557
1518 // Make sure bitmap has the required dimensions. 1558 // Make sure bitmap has the required dimensions.
1519 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize) 1559 if (pixelsWide != requiredPixelSize || pixelsHigh != requiredPixelSize)
1520 return NULL; 1560 return NULL;
1521 1561
1522 // So far, this code only handles non-planar 32-bit RGBA, 24-bit RGB, 8-bit grayscale, and 1-bit source bitmaps. 1562 // So far, this code only handles non-planar 32-bit RGBA, 24-bit RGB, 8-bit grayscale, and 1-bit source bitmaps.
1523 // This could be made more flexible with some additional programming... 1563 // This could be made more flexible with some additional programming...
1524 if (isPlanar) 1564 if (isPlanar)
1525 { 1565 {
1526 NSLog(@"get1BitMaskFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES"); 1566 NSLog(@"get1BitMaskFromBitmapImageRep:requiredPixelSize: returni ng NULL due to isPlanar == YES");
(...skipping 10 matching lines...) Expand all
1537 pRawData = (unsigned char*) *hRawData; 1577 pRawData = (unsigned char*) *hRawData;
1538 1578
1539 pSrc = bitmapData; 1579 pSrc = bitmapData;
1540 pDest = pRawData; 1580 pDest = pRawData;
1541 1581
1542 if (bitsPerPixel == 32) { 1582 if (bitsPerPixel == 32) {
1543 for (y = 0; y < pixelsHigh; y++) { 1583 for (y = 0; y < pixelsHigh; y++) {
1544 pSrc = bitmapData + y * bytesPerRow; 1584 pSrc = bitmapData + y * bytesPerRow;
1545 for (x = 0; x < pixelsWide; x += 8) { 1585 for (x = 0; x < pixelsWide; x += 8) {
1546 maskByte = 0; 1586 maskByte = 0;
1547 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x80 : 0; pSrc += 4; 1587 for (int i = 7; i >= 0; i--) {
1548 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x40 : 0; pSrc += 4; 1588 unsigned char a;
1549 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x20 : 0; pSrc += 4; 1589 GetRGBAFrom32BitSource(pSrc[0], pSrc[1], pSrc[2], pSrc[3 ],
1550 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x10 : 0; pSrc += 4; 1590 NULL, NULL, NULL, &a, isAlphaFirs t, isAlphaPremultiplied);
1551 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x08 : 0; pSrc += 4; 1591 if (a)
1552 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x04 : 0; pSrc += 4; 1592 maskByte |= 1 << i;
1553 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x02 : 0; pSrc += 4; 1593 pSrc += 4;
1554 » » » » » maskByte |= (*(unsigned*)pSrc & 0xff) ? 0x01 : 0; pSrc += 4; 1594 }
1555 *pDest++ = maskByte; 1595 *pDest++ = maskByte;
1556 } 1596 }
1557 } 1597 }
1558 } 1598 }
1559 else if (bitsPerPixel == 24) { 1599 else if (bitsPerPixel == 24) {
1560 memset( pDest, 255, rawDataSize ); 1600 memset( pDest, 255, rawDataSize );
1561 } 1601 }
1562 else if (bitsPerPixel == 8) { 1602 else if (bitsPerPixel == 8) {
1563 for (y = 0; y < pixelsHigh; y++) { 1603 for (y = 0; y < pixelsHigh; y++) {
1564 pSrc = bitmapData + y * bytesPerRow; 1604 pSrc = bitmapData + y * bytesPerRow;
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
1715 if (![self respondsToSelector:@selector(bestRepresentationForRect:contex t:hints:)]) 1755 if (![self respondsToSelector:@selector(bestRepresentationForRect:contex t:hints:)])
1716 { 1756 {
1717 return [self bestRepresentationForDevice:nil]; 1757 return [self bestRepresentationForDevice:nil];
1718 } 1758 }
1719 #endif 1759 #endif
1720 1760
1721 return [self bestRepresentationForRect:(NSRect){NSZeroPoint, [self size] } context:nil hints:nil]; 1761 return [self bestRepresentationForRect:(NSRect){NSZeroPoint, [self size] } context:nil hints:nil];
1722 } 1762 }
1723 1763
1724 @end 1764 @end
OLDNEW
« no previous file with comments | « no previous file | third_party/icon_family/README.chromium » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698