| 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 | 7 |
| 8 #include "SkTypes.h" | 8 #include "SkTypes.h" |
| 9 | 9 |
| 10 #ifndef UNICODE | 10 #ifndef UNICODE |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 505 stop.fX = SkScalarMul(end.fX - start.fX, stopOffsets[i]); | 505 stop.fX = SkScalarMul(end.fX - start.fX, stopOffsets[i]); |
| 506 stop.fY = SkScalarMul(end.fY - start.fY, stopOffsets[i]); | 506 stop.fY = SkScalarMul(end.fY - start.fY, stopOffsets[i]); |
| 507 | 507 |
| 508 SkPoint stopTransformed; | 508 SkPoint stopTransformed; |
| 509 transform.mapXY(stop.fX, stop.fY, &stopTransformed); | 509 transform.mapXY(stop.fX, stop.fY, &stopTransformed); |
| 510 | 510 |
| 511 //Manhattan distance between transformed start and stop. | 511 //Manhattan distance between transformed start and stop. |
| 512 SkScalar startToStop = (stopTransformed.fX - startTransformed.fX) | 512 SkScalar startToStop = (stopTransformed.fX - startTransformed.fX) |
| 513 + (stopTransformed.fY - startTransformed.fY); | 513 + (stopTransformed.fY - startTransformed.fY); |
| 514 //Percentage along transformed line. | 514 //Percentage along transformed line. |
| 515 stopOffsets[i] = SkScalarDiv(startToStop, startToEnd); | 515 stopOffsets[i] = startToStop / startToEnd; |
| 516 } | 516 } |
| 517 } | 517 } |
| 518 | 518 |
| 519 HRESULT SkXPSDevice::createXpsTransform(const SkMatrix& matrix, | 519 HRESULT SkXPSDevice::createXpsTransform(const SkMatrix& matrix, |
| 520 IXpsOMMatrixTransform** xpsTransform) { | 520 IXpsOMMatrixTransform** xpsTransform) { |
| 521 SkScalar affine[6]; | 521 SkScalar affine[6]; |
| 522 if (!matrix.asAffine(affine)) { | 522 if (!matrix.asAffine(affine)) { |
| 523 *xpsTransform = NULL; | 523 *xpsTransform = NULL; |
| 524 return S_FALSE; | 524 return S_FALSE; |
| 525 } | 525 } |
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1389 xpsFigure.get(), xpsFigures)); | 1389 xpsFigure.get(), xpsFigures)); |
| 1390 } | 1390 } |
| 1391 return S_OK; | 1391 return S_OK; |
| 1392 } | 1392 } |
| 1393 | 1393 |
| 1394 void SkXPSDevice::convertToPpm(const SkMaskFilter* filter, | 1394 void SkXPSDevice::convertToPpm(const SkMaskFilter* filter, |
| 1395 SkMatrix* matrix, | 1395 SkMatrix* matrix, |
| 1396 SkVector* ppuScale, | 1396 SkVector* ppuScale, |
| 1397 const SkIRect& clip, SkIRect* clipIRect) { | 1397 const SkIRect& clip, SkIRect* clipIRect) { |
| 1398 //This action is in unit space, but the ppm is specified in physical space. | 1398 //This action is in unit space, but the ppm is specified in physical space. |
| 1399 ppuScale->fX = SkScalarDiv(this->fCurrentPixelsPerMeter.fX, | 1399 ppuScale->set(fCurrentPixelsPerMeter.fX / fCurrentUnitsPerMeter.fX, |
| 1400 this->fCurrentUnitsPerMeter.fX); | 1400 fCurrentPixelsPerMeter.fY / fCurrentUnitsPerMeter.fY); |
| 1401 ppuScale->fY = SkScalarDiv(this->fCurrentPixelsPerMeter.fY, | |
| 1402 this->fCurrentUnitsPerMeter.fY); | |
| 1403 | 1401 |
| 1404 matrix->postScale(ppuScale->fX, ppuScale->fY); | 1402 matrix->postScale(ppuScale->fX, ppuScale->fY); |
| 1405 | 1403 |
| 1406 const SkIRect& irect = clip; | 1404 const SkIRect& irect = clip; |
| 1407 SkRect clipRect = SkRect::MakeLTRB( | 1405 SkRect clipRect = SkRect::MakeLTRB( |
| 1408 SkScalarMul(SkIntToScalar(irect.fLeft), ppuScale->fX), | 1406 SkScalarMul(SkIntToScalar(irect.fLeft), ppuScale->fX), |
| 1409 SkScalarMul(SkIntToScalar(irect.fTop), ppuScale->fY), | 1407 SkScalarMul(SkIntToScalar(irect.fTop), ppuScale->fY), |
| 1410 SkScalarMul(SkIntToScalar(irect.fRight), ppuScale->fX), | 1408 SkScalarMul(SkIntToScalar(irect.fRight), ppuScale->fX), |
| 1411 SkScalarMul(SkIntToScalar(irect.fBottom), ppuScale->fY)); | 1409 SkScalarMul(SkIntToScalar(irect.fBottom), ppuScale->fY)); |
| 1412 clipRect.roundOut(clipIRect); | 1410 clipRect.roundOut(clipIRect); |
| (...skipping 856 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2269 CLSID_XpsOMObjectFactory, | 2267 CLSID_XpsOMObjectFactory, |
| 2270 NULL, | 2268 NULL, |
| 2271 CLSCTX_INPROC_SERVER, | 2269 CLSCTX_INPROC_SERVER, |
| 2272 IID_PPV_ARGS(&this->fXpsFactory)), | 2270 IID_PPV_ARGS(&this->fXpsFactory)), |
| 2273 "Could not create factory for layer."); | 2271 "Could not create factory for layer."); |
| 2274 | 2272 |
| 2275 HRVM(this->fXpsFactory->CreateCanvas(&this->fCurrentXpsCanvas), | 2273 HRVM(this->fXpsFactory->CreateCanvas(&this->fCurrentXpsCanvas), |
| 2276 "Could not create canvas for layer."); | 2274 "Could not create canvas for layer."); |
| 2277 } | 2275 } |
| 2278 | 2276 |
| OLD | NEW |