11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 21cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2006 The Android Open Source Project 41cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 71cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger */ 81cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 90910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 100910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#include "SkDrawEmboss.h" 110910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 120910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#if SK_USE_CONDENSED_INFO == 0 130910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 140910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Projectconst SkMemberInfo SkDrawEmboss::fInfo[] = { 150910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(ambient, Float), 160910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER_ARRAY(direction, Float), 170910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(radius, Float), 180910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project SK_MEMBER(specular, Float) 190910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project}; 200910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 210910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project#endif 220910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 230910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectDEFINE_GET_MEMBER(SkDrawEmboss); 240910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 250910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkDrawEmboss::SkDrawEmboss() : radius(-1) { 260910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project direction.setCount(3); 270910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 280910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 290910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source ProjectSkMaskFilter* SkDrawEmboss::getMaskFilter() { 300910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project if (radius < 0 || direction.count() !=3) 310910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return NULL; 320910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project return SkBlurMaskFilter::CreateEmboss(direction.begin(), ambient, specular, radius); 330910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project} 340910916c0f7b951ee55c4b7c6358295b9bca0565The Android Open Source Project 35