155bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui/* 355bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * Copyright (C) 2013 The Android Open Source Project 455bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * 555bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * Licensed under the Apache License, Version 2.0 (the "License"); 655bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * you may not use this file except in compliance with the License. 755bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * You may obtain a copy of the License at 855bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * 955bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * http://www.apache.org/licenses/LICENSE-2.0 1055bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * 1155bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * Unless required by applicable law or agreed to in writing, software 1255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * distributed under the License is distributed on an "AS IS" BASIS, 1355bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1455bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * See the License for the specific language governing permissions and 1555bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * limitations under the License. 1655bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui */ 1755bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 1855bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui#ifndef ANDROID_HWUI_AMBIENT_SHADOW_H 1955bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui#define ANDROID_HWUI_AMBIENT_SHADOW_H 2055bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 2155bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui#include "Debug.h" 2255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui#include "Vector.h" 2355bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 2455bfb4e728fe1db619af5d2c287f4abe711b3343ztenghuinamespace android { 2555bfb4e728fe1db619af5d2c287f4abe711b3343ztenghuinamespace uirenderer { 2655bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 272dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudsonclass VertexBuffer; 282dc236b2bae13b9a0ed9b3f7320502aecd7983b3Tom Hudson 2955bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui/** 3055bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui * AmbientShadow is used to calculate the ambient shadow value around a polygon. 3155bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui */ 3255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghuiclass AmbientShadow { 3355bfb4e728fe1db619af5d2c287f4abe711b3343ztenghuipublic: 3405f3d6e5111fd08df5cd9aae2c3d28399dc0e7f5Chris Craik static void createAmbientShadow(bool isCasterOpaque, const Vector3* poly, 3550ecf849cb7ccc3482517b74d2214b347927791eztenghui int polyLength, const Vector3& centroid3d, float heightFactor, 3650ecf849cb7ccc3482517b74d2214b347927791eztenghui float geomFactor, VertexBuffer& shadowVertexBuffer); 3755bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui}; // AmbientShadow 3855bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 3955bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui}; // namespace uirenderer 4055bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui}; // namespace android 4155bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui 4255bfb4e728fe1db619af5d2c287f4abe711b3343ztenghui#endif // ANDROID_HWUI_AMBIENT_SHADOW_H 43