1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2006 The Android Open Source Project 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 8ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifndef SkDrawGradient_DEFINED 118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#define SkDrawGradient_DEFINED 128a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 138a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkDrawColor.h" 148a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkDrawShader.h" 158a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "SkIntArray.h" 168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 1799547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.comclass SkDrawGradient : public SkDrawShader { 1899547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com DECLARE_PRIVATE_MEMBER_INFO(DrawGradient); 1999547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com SkDrawGradient(); 2099547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com virtual ~SkDrawGradient(); 211d3c411f5e4d2ad31bc92b3a85957004329ac00dtfarina@chromium.org virtual bool addChild(SkAnimateMaker& , SkDisplayable* child) SK_OVERRIDE; 228a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifdef SK_DUMP_ENABLED 238a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void dumpRest(SkAnimateMaker*); 24d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com#endif 258a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void onEndElement(SkAnimateMaker& ); 268a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 278a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDScalarArray offsets; 288a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkString unitMapper; 298a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDColorArray fColors; 308a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDDrawColorArray fDrawColors; 318a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com int addPrelude(); 328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com typedef SkDrawShader INHERITED; 348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 3699547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.comclass SkDrawLinearGradient : public SkDrawGradient { 3799547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com DECLARE_MEMBER_INFO(DrawLinearGradient); 3899547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com SkDrawLinearGradient(); 398a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void onEndElement(SkAnimateMaker& ); 408a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifdef SK_DUMP_ENABLED 418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void dump(SkAnimateMaker*); 428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif 438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual SkShader* getShader(); 448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkTDScalarArray points; 468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 4799547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com typedef SkDrawGradient INHERITED; 488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 5099547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.comclass SkDrawRadialGradient : public SkDrawGradient { 5199547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com DECLARE_MEMBER_INFO(DrawRadialGradient); 5299547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com SkDrawRadialGradient(); 538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#ifdef SK_DUMP_ENABLED 548a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual void dump(SkAnimateMaker*); 55d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com#endif 568a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com virtual SkShader* getShader(); 578a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprotected: 588a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkPoint center; 598a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com SkScalar radius; 608a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comprivate: 6199547767e9cdabcdae6a575f0f6bfde01d809865rileya@google.com typedef SkDrawGradient INHERITED; 628a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}; 638a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com 648a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif // SkDrawGradient_DEFINED 65