| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) | 2 * Copyright (C) 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 239 // Arbitrary tiling is currently only supported for SkPictureShader, so we use | 239 // Arbitrary tiling is currently only supported for SkPictureShader, so we use |
| 240 // that instead of a plain bitmap shader to implement spacing. | 240 // that instead of a plain bitmap shader to implement spacing. |
| 241 const SkRect tile_rect = | 241 const SkRect tile_rect = |
| 242 SkRect::MakeWH(image.sk_image()->width() + spacing.Width(), | 242 SkRect::MakeWH(image.sk_image()->width() + spacing.Width(), |
| 243 image.sk_image()->height() + spacing.Height()); | 243 image.sk_image()->height() + spacing.Height()); |
| 244 | 244 |
| 245 PaintRecorder recorder; | 245 PaintRecorder recorder; |
| 246 PaintCanvas* canvas = recorder.beginRecording(tile_rect); | 246 PaintCanvas* canvas = recorder.beginRecording(tile_rect); |
| 247 canvas->drawImage(image, 0, 0, &paint); | 247 canvas->drawImage(image, 0, 0, &paint); |
| 248 | 248 |
| 249 return MakePaintShaderRecord(recorder.finishRecordingAsPicture(), tmx, tmy, | 249 return MakePaintShaderRecord(recorder.finishRecordingAsPicture(), tile_rect, |
| 250 &shader_matrix, nullptr); | 250 tmx, tmy, &shader_matrix); |
| 251 } | 251 } |
| 252 | 252 |
| 253 SkShader::TileMode ComputeTileMode(float left, | 253 SkShader::TileMode ComputeTileMode(float left, |
| 254 float right, | 254 float right, |
| 255 float min, | 255 float min, |
| 256 float max) { | 256 float max) { |
| 257 DCHECK(left < right); | 257 DCHECK(left < right); |
| 258 return left >= min && right <= max ? SkShader::kClamp_TileMode | 258 return left >= min && right <= max ? SkShader::kClamp_TileMode |
| 259 : SkShader::kRepeat_TileMode; | 259 : SkShader::kRepeat_TileMode; |
| 260 } | 260 } |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 FloatRect subset = dest; | 398 FloatRect subset = dest; |
| 399 subset.SetX((dest.X() - tile.X()) / scale.Width()); | 399 subset.SetX((dest.X() - tile.X()) / scale.Width()); |
| 400 subset.SetY((dest.Y() - tile.Y()) / scale.Height()); | 400 subset.SetY((dest.Y() - tile.Y()) / scale.Height()); |
| 401 subset.SetWidth(dest.Width() / scale.Width()); | 401 subset.SetWidth(dest.Width() / scale.Width()); |
| 402 subset.SetHeight(dest.Height() / scale.Height()); | 402 subset.SetHeight(dest.Height() / scale.Height()); |
| 403 | 403 |
| 404 return subset; | 404 return subset; |
| 405 } | 405 } |
| 406 | 406 |
| 407 } // namespace blink | 407 } // namespace blink |
| OLD | NEW |