Lines Matching refs:function
50 @param result The result ps function.
103 /* Generate Type 4 function code to map t=[0,1) to the passed gradient,
206 SkString function("{pop\n"); // Just ditch the y value.
207 tileModeCode(info.fTileMode, &function);
208 gradientFunctionCode(info, &function);
209 function.append("}");
210 return function;
214 SkString function("{");
216 function.append("dup " // x y y
224 tileModeCode(info.fTileMode, &function);
225 gradientFunctionCode(info, &function);
226 function.append("}");
227 return function;
243 SkString function("{");
244 function.append("2 copy ");
247 function.appendScalar(dy);
248 function.append(" mul exch ");
249 function.appendScalar(dx);
250 function.append(" mul add ");
251 function.appendScalar(sr);
252 function.append(" sub 2 mul neg dup dup mul\n");
255 function.append("4 2 roll dup mul exch dup mul add ");
256 function.appendScalar(SkScalarMul(sr, sr));
257 function.append(" sub\n");
260 function.appendScalar(SkScalarMul(SkIntToScalar(4), a));
261 function.append(" mul sub abs sqrt\n");
265 function.append("sub ");
267 function.append("add ");
269 function.appendScalar(SkScalarMul(SkIntToScalar(2), a));
270 function.append(" div\n");
272 tileModeCode(info.fTileMode, &function);
273 gradientFunctionCode(info, &function);
274 function.append("}");
275 return function;
294 SkString function("{");
295 function.append("2 copy ");
298 function.appendScalar(dy);
299 function.append(" mul exch ");
300 function.appendScalar(dx);
301 function.append(" mul add ");
302 function.appendScalar(SkScalarMul(r0, dr));
303 function.append(" add -2 mul dup dup mul\n");
306 function.append("4 2 roll dup mul exch dup mul add ");
307 function.appendScalar(SkScalarMul(r0, r0));
308 function.append(" sub dup 4 1 roll\n");
316 function.append("pop pop div neg dup ");
319 function.appendScalar(dr);
320 function.append(" mul ");
321 function.appendScalar(r0);
322 function.append(" add\n");
325 function.append("0 lt {pop false} {true} ifelse\n");
333 function.appendScalar(SkScalarMul(SkIntToScalar(4), a));
334 function.append(" mul sub dup\n");
337 function.append("0 ge {\n");
341 function.append("sqrt exch dup 0 lt {exch -1 mul} if");
342 function.append(" add -0.5 mul dup\n");
345 function.appendScalar(a);
346 function.append(" div\n");
349 function.append("3 1 roll div\n");
352 function.append("2 copy gt {exch} if\n");
355 function.append("dup ");
356 function.appendScalar(dr);
357 function.append(" mul ");
358 function.appendScalar(r0);
359 function.append(" add\n");
362 function.append(" 0 gt {exch pop true}\n");
365 function.append("{pop dup\n");
366 function.appendScalar(dr);
367 function.append(" mul ");
368 function.appendScalar(r0);
369 function.append(" add\n");
372 function.append("0 le {pop false} {true} ifelse\n");
373 function.append("} ifelse\n");
376 function.append("} {pop pop pop false} ifelse\n");
380 function.append("{");
381 tileModeCode(info.fTileMode, &function);
382 gradientFunctionCode(info, &function);
385 function.append("} {0 0 0} ifelse }");
387 return function;
391 SkString function("{exch atan 360 div\n");
392 tileModeCode(info.fTileMode, &function);
393 gradientFunctionCode(info, &function);
394 function.append("}");
395 return function;
647 SkPDFStream* function = makePSFunction(functionCode, domain.get());
648 pdfShader->insert("Function", new SkPDFObjRef(function))->unref();
649 fResources.push(function); // Pass ownership to resource list.