Animated Menu Background/menu background.h
This article has no links to other VDC articles. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024
January 2024
//========= Copyright Jorge "BSVino" Rodriguez, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef MENU_BACKGROUND_H
#define MENU_BACKGROUND_H
#ifdef _WIN32
#pragma once
#endif
#include <vguitextwindow.h>
#include "video/ivideoservices.h"
#include <materialsystem/MaterialSystemUtil.h>
class CMainMenu : public vgui::Panel
{
public:
DECLARE_CLASS_SIMPLE( CMainMenu, vgui::Panel );
CMainMenu( vgui::Panel *parent, const char *pElementName );
~CMainMenu();
public:
virtual void ApplySchemeSettings( vgui::IScheme *pScheme );
bool IsVideoPlaying();
void StartVideo();
void StopVideo();
void GetPanelPos( int &xpos, int &ypos );
void Paint();
bool BeginPlayback( const char *pFilename );
void ReleaseVideo();
void SetBlackBackground( bool bBlack );
void DoModal();
MESSAGE_FUNC( OnDisconnectFromGame, "DisconnectedFromGame" );
private:
bool m_bLoaded;
bool m_bToolsMode;
bool m_bPaintVideo;
CMaterialReference m_MainMenuRef;
protected:
IVideoMaterial *m_VideoMaterial;
IMaterial *m_pMaterial;
int m_nPlaybackHeight; // Calculated to address ratio changes
int m_nPlaybackWidth;
char m_szExitCommand[MAX_PATH]; // This call is fired at the engine when the video finishes or is interrupted
float m_flU; // UV ranges for video on its sheet
float m_flV;
bool m_bBlackBackground;
bool m_bAllowAlternateMedia;
};
#endif // MENU_BACKGROUND_H