//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: // //============================================================================= #ifndef DMEMATERIALOVERLAYFXCLIP_H #define DMEMATERIALOVERLAYFXCLIP_H #ifdef _WIN32 #pragma once #endif #include "movieobjects/dmeclip.h" #include "materialsystem/MaterialSystemUtil.h" #include "datamodel/dmelementfactoryhelper.h" //----------------------------------------------------------------------------- // An effect clip //----------------------------------------------------------------------------- class CDmeMaterialOverlayFXClip : public CDmeFXClip { DEFINE_ELEMENT( CDmeMaterialOverlayFXClip, CDmeFXClip ); public: // All effects must be able to apply their effect virtual void ApplyEffect( DmeTime_t time, Rect_t ¤tRect, Rect_t &totalRect, ITexture *pTextures[MAX_FX_INPUT_TEXTURES] ); // Resolves changes virtual void Resolve(); // Sets the overlay material void SetOverlayEffect( const char *pMaterialName ); void SetAlpha( float flAlpha ); bool HasOpaqueOverlay(); IMaterial *GetMaterial(); float GetAlpha(); private: CDmaString m_Material; CDmaColor m_Color; CDmaVar m_nLeft; CDmaVar m_nTop; CDmaVar m_nWidth; CDmaVar m_nHeight; CDmaVar m_bFullScreen; CDmaVar m_bUseSubRect; CDmaVar m_nSubRectLeft; CDmaVar m_nSubRectTop; CDmaVar m_nSubRectWidth; CDmaVar m_nSubRectHeight; CDmaVar m_flMovementAngle; CDmaVar m_flMovementSpeed; CMaterialReference m_OverlayMaterial; }; #endif // DMEMATERIALOVERLAYFXCLIP_H