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

Side by Side Diff: src/core/SkBitmapProcState.h

Issue 15904005: clone of https://codereview.chromium.org/15316014/ with teaks (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 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 | « src/core/SkBitmapProcBicubic.cpp ('k') | src/core/SkBitmapProcState.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2007 The Android Open Source Project 3 * Copyright 2007 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkBitmapProcState_DEFINED 10 #ifndef SkBitmapProcState_DEFINED
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 fMatrixProc 90 fMatrixProc
91 fSampleProc32 91 fSampleProc32
92 fSampleProc32 92 fSampleProc32
93 93
94 They will already have valid function pointers, so a platform that does 94 They will already have valid function pointers, so a platform that does
95 not have an accelerated version can just leave that field as is. A valid 95 not have an accelerated version can just leave that field as is. A valid
96 implementation can do nothing (see SkBitmapProcState_opts_none.cpp) 96 implementation can do nothing (see SkBitmapProcState_opts_none.cpp)
97 */ 97 */
98 void platformProcs(); 98 void platformProcs();
99 99
100
100 /** Given the byte size of the index buffer to be passed to the matrix proc, 101 /** Given the byte size of the index buffer to be passed to the matrix proc,
101 return the maximum number of resulting pixels that can be computed 102 return the maximum number of resulting pixels that can be computed
102 (i.e. the number of SkPMColor values to be written by the sample proc). 103 (i.e. the number of SkPMColor values to be written by the sample proc).
103 This routine takes into account that filtering and scale-vs-affine 104 This routine takes into account that filtering and scale-vs-affine
104 affect the amount of buffer space needed. 105 affect the amount of buffer space needed.
105 106
106 Only valid to call after chooseProcs (setContext) has been called. It is 107 Only valid to call after chooseProcs (setContext) has been called. It is
107 safe to call this inside the shader's shadeSpan() method. 108 safe to call this inside the shader's shadeSpan() method.
108 */ 109 */
109 int maxCountForBufferSize(size_t bufferSize) const; 110 int maxCountForBufferSize(size_t bufferSize) const;
(...skipping 22 matching lines...) Expand all
132 SampleProc16 fSampleProc16; // chooseProcs 133 SampleProc16 fSampleProc16; // chooseProcs
133 134
134 SkMatrix fUnitInvMatrix; // chooseProcs 135 SkMatrix fUnitInvMatrix; // chooseProcs
135 SkBitmap fOrigBitmap; // CONSTRUCTOR 136 SkBitmap fOrigBitmap; // CONSTRUCTOR
136 SkBitmap fMipBitmap; 137 SkBitmap fMipBitmap;
137 138
138 MatrixProc chooseMatrixProc(bool trivial_matrix); 139 MatrixProc chooseMatrixProc(bool trivial_matrix);
139 bool chooseProcs(const SkMatrix& inv, const SkPaint&); 140 bool chooseProcs(const SkMatrix& inv, const SkPaint&);
140 ShaderProc32 chooseShaderProc32(); 141 ShaderProc32 chooseShaderProc32();
141 142
143
144 /** test method for choosing a bicubic shading filter
145 */
146
147 ShaderProc32 chooseBicubicFilterProc(const SkPaint &paint);
148
142 // Return false if we failed to setup for fast translate (e.g. overflow) 149 // Return false if we failed to setup for fast translate (e.g. overflow)
143 bool setupForTranslate(); 150 bool setupForTranslate();
144 151
145 #ifdef SK_DEBUG 152 #ifdef SK_DEBUG
146 static void DebugMatrixProc(const SkBitmapProcState&, 153 static void DebugMatrixProc(const SkBitmapProcState&,
147 uint32_t[], int count, int x, int y); 154 uint32_t[], int count, int x, int y);
148 #endif 155 #endif
149 }; 156 };
150 157
151 /* Macros for packing and unpacking pairs of 16bit values in a 32bit uint. 158 /* Macros for packing and unpacking pairs of 16bit values in a 32bit uint.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 void ClampX_ClampY_nofilter_scale(const SkBitmapProcState& s, uint32_t xy[], 194 void ClampX_ClampY_nofilter_scale(const SkBitmapProcState& s, uint32_t xy[],
188 int count, int x, int y); 195 int count, int x, int y);
189 void ClampX_ClampY_filter_affine(const SkBitmapProcState& s, 196 void ClampX_ClampY_filter_affine(const SkBitmapProcState& s,
190 uint32_t xy[], int count, int x, int y); 197 uint32_t xy[], int count, int x, int y);
191 void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s, 198 void ClampX_ClampY_nofilter_affine(const SkBitmapProcState& s,
192 uint32_t xy[], int count, int x, int y); 199 uint32_t xy[], int count, int x, int y);
193 void S32_D16_filter_DX(const SkBitmapProcState& s, 200 void S32_D16_filter_DX(const SkBitmapProcState& s,
194 const uint32_t* xy, int count, uint16_t* colo rs); 201 const uint32_t* xy, int count, uint16_t* colo rs);
195 202
196 #endif 203 #endif
OLDNEW
« no previous file with comments | « src/core/SkBitmapProcBicubic.cpp ('k') | src/core/SkBitmapProcState.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698