Animated Menu Background/menu background.h: Difference between revisions
Jump to navigation
Jump to search
GamerDude27 (talk | contribs) (Moved GitHub gist over to this subpage) |
GamerDude27 (talk | contribs) (Optimized animated main menu background code) |
||
Line 24: | Line 24: | ||
public: | public: | ||
virtual void ApplySchemeSettings( vgui::IScheme* pScheme ); | |||
bool IsVideoPlaying(); | bool IsVideoPlaying(); | ||
void StartVideo(); | void StartVideo(); | ||
void StopVideo(); | void StopVideo(); | ||
void GetPanelPos( int &xpos, int &ypos ); | void GetPanelPos( int &xpos, int &ypos ); | ||
Line 45: | Line 44: | ||
bool m_bToolsMode; | bool m_bToolsMode; | ||
bool m_bPaintVideo; | bool m_bPaintVideo; | ||
CMaterialReference m_MainMenuRef; | CMaterialReference m_MainMenuRef; |
Revision as of 16:49, 16 November 2021
//========= 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"
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