Main Page   Class Hierarchy   Compound List   File List   Compound Members  

halo.h

00001 /*
00002     Copyright (C) 2001 by Jorrit Tyberghein
00003 
00004     This library is free software; you can redistribute it and/or
00005     modify it under the terms of the GNU Library General Public
00006     License as published by the Free Software Foundation; either
00007     version 2 of the License, or (at your option) any later version.
00008 
00009     This library is distributed in the hope that it will be useful,
00010     but WITHOUT ANY WARRANTY; without even the implied warranty of
00011     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012     Library General Public License for more details.
00013 
00014     You should have received a copy of the GNU Library General Public
00015     License along with this library; if not, write to the Free
00016     Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00017 */
00018 
00019 #ifndef __IENGINE_HALO_H__
00020 #define __IENGINE_HALO_H__
00021 
00022 #include "csutil/scf.h"
00023 #include "csutil/flags.h"
00024 
00025 struct iMaterialWrapper;
00026 
00027 enum csHaloType
00028 {
00029   cshtCross,
00030   cshtNova,
00031   cshtFlare
00032 };
00033 
00034 SCF_VERSION (iBaseHalo, 0, 0, 1);
00035 
00039 struct iBaseHalo : public iBase
00040 {
00042   virtual void SetIntensity (float i) = 0;
00044   virtual float GetIntensity () = 0;
00045 };
00046 
00047 SCF_VERSION (iCrossHalo, 0, 0, 1);
00048 
00052 struct iCrossHalo : public iBase
00053 {
00055   virtual void SetIntensityFactor (float i) = 0;
00057   virtual float GetIntensityFactor () = 0;
00059   virtual void SetCrossFactor (float i) = 0;
00061   virtual float GetCrossFactor () = 0;
00062 };
00063 
00064 SCF_VERSION (iNovaHalo, 0, 0, 1);
00065 
00069 struct iNovaHalo : public iBase
00070 {
00072   virtual void SetRandomSeed (int s) = 0;
00074   virtual int GetRandomSeed () = 0;
00076   virtual void SetSpokeCount (int s) = 0;
00078   virtual int GetSpokeCount () = 0;
00080   virtual void SetRoundnessFactor (float r) = 0;
00082   virtual float GetRoundnessFactor () = 0;
00083 };
00084 
00085 SCF_VERSION (iFlareHalo, 0, 0, 1);
00086 
00090 struct iFlareHalo : public iBase
00091 {
00097   virtual void AddComponent (float pos, float w, float h, UInt mode, 
00098     iMaterialWrapper *image) = 0;
00099 };
00100 
00101 #endif // __IENGINE_HALO_H__

Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000