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