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

Side by Side Diff: skia/animator/SkDrawShader.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 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 | « skia/animator/SkDrawShader.h ('k') | skia/animator/SkDrawText.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* libs/graphics/animator/SkDrawShader.cpp
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 ** http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17
18 #include "SkDrawShader.h"
19 #include "SkDrawBitmap.h"
20 #include "SkDrawMatrix.h"
21 #include "SkDrawPaint.h"
22 #include "SkTemplates.h"
23
24 #if SK_USE_CONDENSED_INFO == 0
25
26 const SkMemberInfo SkDrawShader::fInfo[] = {
27 SK_MEMBER(matrix, Matrix),
28 SK_MEMBER(tileMode, TileMode)
29 };
30
31 #endif
32
33 DEFINE_GET_MEMBER(SkDrawShader);
34
35 SkDrawShader::SkDrawShader() : matrix(NULL),
36 tileMode(SkShader::kClamp_TileMode) {
37 }
38
39 bool SkDrawShader::add() {
40 if (fPaint->shader != (SkDrawShader*) -1)
41 return true;
42 fPaint->shader = this;
43 fPaint->fOwnsShader = true;
44 return false;
45 }
46
47 void SkDrawShader::addPostlude(SkShader* shader) {
48 if (matrix)
49 shader->setLocalMatrix(matrix->getMatrix());
50 }
51
52 #if SK_USE_CONDENSED_INFO == 0
53
54 const SkMemberInfo SkDrawBitmapShader::fInfo[] = {
55 SK_MEMBER_INHERITED,
56 SK_MEMBER(filterBitmap, Boolean),
57 SK_MEMBER(image, BaseBitmap)
58 };
59
60 #endif
61
62 DEFINE_GET_MEMBER(SkDrawBitmapShader);
63
64 SkDrawBitmapShader::SkDrawBitmapShader() : filterBitmap(-1), image(NULL) {}
65
66 bool SkDrawBitmapShader::add() {
67 if (fPaint->shader != (SkDrawShader*) -1)
68 return true;
69 fPaint->shader = this;
70 fPaint->fOwnsShader = true;
71 return false;
72 }
73
74 SkShader* SkDrawBitmapShader::getShader() {
75 if (image == NULL)
76 return NULL;
77
78 // note: bitmap shader now supports independent tile modes for X and Y
79 // we pass the same to both, but later we should extend this flexibility
80 // to the xml (e.g. tileModeX="repeat" tileModeY="clmap")
81 //
82 // oops, bitmapshader no longer takes filterBitmap, but deduces it at
83 // draw-time from the paint
84 SkShader* shader = SkShader::CreateBitmapShader(image->fBitmap,
85 (SkShader::TileMode) tileMod e,
86 (SkShader::TileMode) tileMod e);
87 SkAutoTDelete<SkShader> autoDel(shader);
88 addPostlude(shader);
89 (void)autoDel.detach();
90 return shader;
91 }
OLDNEW
« no previous file with comments | « skia/animator/SkDrawShader.h ('k') | skia/animator/SkDrawText.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698