OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 29 matching lines...) Expand all Loading... |
40 void GeneratedImage::drawPattern(GraphicsContext& destContext, const FloatRect&
srcRect, const FloatSize& scale, | 40 void GeneratedImage::drawPattern(GraphicsContext& destContext, const FloatRect&
srcRect, const FloatSize& scale, |
41 const FloatPoint& phase, SkXfermode::Mode compositeOp, const FloatRect& dest
Rect, | 41 const FloatPoint& phase, SkXfermode::Mode compositeOp, const FloatRect& dest
Rect, |
42 const FloatSize& repeatSpacing) | 42 const FloatSize& repeatSpacing) |
43 { | 43 { |
44 FloatRect tileRect = srcRect; | 44 FloatRect tileRect = srcRect; |
45 tileRect.expand(FloatSize(repeatSpacing)); | 45 tileRect.expand(FloatSize(repeatSpacing)); |
46 | 46 |
47 SkPictureBuilder builder(tileRect, nullptr, &destContext); | 47 SkPictureBuilder builder(tileRect, nullptr, &destContext); |
48 builder.context().beginRecording(tileRect); | 48 builder.context().beginRecording(tileRect); |
49 drawTile(builder.context(), srcRect); | 49 drawTile(builder.context(), srcRect); |
50 RefPtr<SkPicture> tilePicture = builder.endRecording(); | 50 RefPtr<const SkPicture> tilePicture = builder.endRecording(); |
51 | 51 |
52 AffineTransform patternTransform; | 52 AffineTransform patternTransform; |
53 patternTransform.translate(phase.x(), phase.y()); | 53 patternTransform.translate(phase.x(), phase.y()); |
54 patternTransform.scale(scale.width(), scale.height()); | 54 patternTransform.scale(scale.width(), scale.height()); |
55 patternTransform.translate(tileRect.x(), tileRect.y()); | 55 patternTransform.translate(tileRect.x(), tileRect.y()); |
56 | 56 |
57 RefPtr<Pattern> picturePattern = Pattern::createPicturePattern(tilePicture.r
elease()); | 57 RefPtr<Pattern> picturePattern = Pattern::createPicturePattern(tilePicture); |
58 picturePattern->setPatternSpaceTransform(patternTransform); | 58 picturePattern->setPatternSpaceTransform(patternTransform); |
59 | 59 |
60 SkPaint fillPaint = destContext.fillPaint(); | 60 SkPaint fillPaint = destContext.fillPaint(); |
61 picturePattern->applyToPaint(fillPaint); | 61 picturePattern->applyToPaint(fillPaint); |
62 fillPaint.setColor(SK_ColorBLACK); | 62 fillPaint.setColor(SK_ColorBLACK); |
63 fillPaint.setXfermodeMode(compositeOp); | 63 fillPaint.setXfermodeMode(compositeOp); |
64 | 64 |
65 destContext.drawRect(destRect, fillPaint); | 65 destContext.drawRect(destRect, fillPaint); |
66 } | 66 } |
67 | 67 |
68 PassRefPtr<SkImage> GeneratedImage::imageForCurrentFrame() | 68 PassRefPtr<SkImage> GeneratedImage::imageForCurrentFrame() |
69 { | 69 { |
70 return nullptr; | 70 return nullptr; |
71 } | 71 } |
72 | 72 |
73 } // namespace blink | 73 } // namespace blink |
OLD | NEW |