| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2011 Google Inc. | 2 * Copyright 2011 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 #include "SampleApp.h" | 7 #include "SampleApp.h" |
| 8 | 8 |
| 9 #include "SkData.h" | 9 #include "SkData.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 1345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1356 paint.setColor(SK_ColorBLUE); | 1356 paint.setColor(SK_ColorBLUE); |
| 1357 drawText(canvas, string, left, SkScalarMulAdd(lineHeight, i, dest.fTop),
paint); | 1357 drawText(canvas, string, left, SkScalarMulAdd(lineHeight, i, dest.fTop),
paint); |
| 1358 canvas->restoreToCount(count); | 1358 canvas->restoreToCount(count); |
| 1359 } | 1359 } |
| 1360 | 1360 |
| 1361 void SampleWindow::onDraw(SkCanvas* canvas) { | 1361 void SampleWindow::onDraw(SkCanvas* canvas) { |
| 1362 } | 1362 } |
| 1363 | 1363 |
| 1364 #include "SkColorPriv.h" | 1364 #include "SkColorPriv.h" |
| 1365 | 1365 |
| 1366 #if 0 // UNUSED | |
| 1367 static void reverseRedAndBlue(const SkBitmap& bm) { | |
| 1368 SkASSERT(bm.config() == SkBitmap::kARGB_8888_Config); | |
| 1369 uint8_t* p = (uint8_t*)bm.getPixels(); | |
| 1370 uint8_t* stop = p + bm.getSize(); | |
| 1371 while (p < stop) { | |
| 1372 // swap red/blue (to go from ARGB(int) to RGBA(memory) and premultiply | |
| 1373 unsigned scale = SkAlpha255To256(p[3]); | |
| 1374 unsigned r = p[2]; | |
| 1375 unsigned b = p[0]; | |
| 1376 p[0] = SkAlphaMul(r, scale); | |
| 1377 p[1] = SkAlphaMul(p[1], scale); | |
| 1378 p[2] = SkAlphaMul(b, scale); | |
| 1379 p += 4; | |
| 1380 } | |
| 1381 } | |
| 1382 #endif | |
| 1383 | |
| 1384 void SampleWindow::saveToPdf() | 1366 void SampleWindow::saveToPdf() |
| 1385 { | 1367 { |
| 1386 fSaveToPdf = true; | 1368 fSaveToPdf = true; |
| 1387 this->inval(NULL); | 1369 this->inval(NULL); |
| 1388 } | 1370 } |
| 1389 | 1371 |
| 1390 SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { | 1372 SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { |
| 1391 if (fSaveToPdf) { | 1373 if (fSaveToPdf) { |
| 1392 const SkBitmap& bmp = canvas->getDevice()->accessBitmap(false); | 1374 const SkBitmap& bmp = canvas->getDevice()->accessBitmap(false); |
| 1393 SkISize size = SkISize::Make(bmp.width(), bmp.height()); | 1375 SkISize size = SkISize::Make(bmp.width(), bmp.height()); |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1569 static SkColorType gColorTypeCycle[] = { | 1551 static SkColorType gColorTypeCycle[] = { |
| 1570 kUnknown_SkColorType, // none -> none | 1552 kUnknown_SkColorType, // none -> none |
| 1571 kUnknown_SkColorType, // a8 -> none | 1553 kUnknown_SkColorType, // a8 -> none |
| 1572 kARGB_4444_SkColorType, // 565 -> 4444 | 1554 kARGB_4444_SkColorType, // 565 -> 4444 |
| 1573 kPMColor_SkColorType, // 4444 -> 8888 | 1555 kPMColor_SkColorType, // 4444 -> 8888 |
| 1574 kRGB_565_SkColorType, // 8888 -> 565 | 1556 kRGB_565_SkColorType, // 8888 -> 565 |
| 1575 kRGB_565_SkColorType, // 8888 -> 565 | 1557 kRGB_565_SkColorType, // 8888 -> 565 |
| 1576 kUnknown_SkColorType, // index8 -> none | 1558 kUnknown_SkColorType, // index8 -> none |
| 1577 }; | 1559 }; |
| 1578 | 1560 |
| 1579 static SkColorType cycle_configs(SkColorType c) { | 1561 static SkColorType cycle_colortypes(SkColorType c) { |
| 1580 return gColorTypeCycle[c]; | 1562 return gColorTypeCycle[c]; |
| 1581 } | 1563 } |
| 1582 | 1564 |
| 1583 void SampleWindow::changeZoomLevel(float delta) { | 1565 void SampleWindow::changeZoomLevel(float delta) { |
| 1584 fZoomLevel += delta; | 1566 fZoomLevel += delta; |
| 1585 if (fZoomLevel > 0) { | 1567 if (fZoomLevel > 0) { |
| 1586 fZoomLevel = SkMinScalar(fZoomLevel, MAX_ZOOM_LEVEL); | 1568 fZoomLevel = SkMinScalar(fZoomLevel, MAX_ZOOM_LEVEL); |
| 1587 fZoomScale = fZoomLevel + SK_Scalar1; | 1569 fZoomScale = fZoomLevel + SK_Scalar1; |
| 1588 } else if (fZoomLevel < 0) { | 1570 } else if (fZoomLevel < 0) { |
| 1589 fZoomLevel = SkMaxScalar(fZoomLevel, MIN_ZOOM_LEVEL); | 1571 fZoomLevel = SkMaxScalar(fZoomLevel, MIN_ZOOM_LEVEL); |
| (...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1967 } else { | 1949 } else { |
| 1968 fNClip = !fNClip; | 1950 fNClip = !fNClip; |
| 1969 this->inval(NULL); | 1951 this->inval(NULL); |
| 1970 this->updateTitle(); | 1952 this->updateTitle(); |
| 1971 } | 1953 } |
| 1972 return true; | 1954 return true; |
| 1973 case kDown_SkKey: | 1955 case kDown_SkKey: |
| 1974 if (USE_ARROWS_FOR_ZOOM) { | 1956 if (USE_ARROWS_FOR_ZOOM) { |
| 1975 this->changeZoomLevel(-1.f / 32.f); | 1957 this->changeZoomLevel(-1.f / 32.f); |
| 1976 } else { | 1958 } else { |
| 1977 this->setColorType(cycle_configs(this->getBitmap().colorType()))
; | 1959 this->setColorType(cycle_colortypes(this->getBitmap().colorType(
))); |
| 1978 this->updateTitle(); | 1960 this->updateTitle(); |
| 1979 } | 1961 } |
| 1980 return true; | 1962 return true; |
| 1981 case kOK_SkKey: { | 1963 case kOK_SkKey: { |
| 1982 SkString title; | 1964 SkString title; |
| 1983 if (curr_title(this, &title)) { | 1965 if (curr_title(this, &title)) { |
| 1984 writeTitleToPrefs(title.c_str()); | 1966 writeTitleToPrefs(title.c_str()); |
| 1985 } | 1967 } |
| 1986 return true; | 1968 return true; |
| 1987 } | 1969 } |
| (...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2580 SkGraphics::Init(); | 2562 SkGraphics::Init(); |
| 2581 SkEvent::Init(); | 2563 SkEvent::Init(); |
| 2582 } | 2564 } |
| 2583 | 2565 |
| 2584 // FIXME: this should be in a header | 2566 // FIXME: this should be in a header |
| 2585 void application_term(); | 2567 void application_term(); |
| 2586 void application_term() { | 2568 void application_term() { |
| 2587 SkEvent::Term(); | 2569 SkEvent::Term(); |
| 2588 SkGraphics::Term(); | 2570 SkGraphics::Term(); |
| 2589 } | 2571 } |
| OLD | NEW |