mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-16 05:37:00 +00:00
1
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef FACEPOSERTOOLWINDOW_H
|
||||
#define FACEPOSERTOOLWINDOW_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include <mxtk/mx.h>
|
||||
#include "mxtk/mxWindow.h"
|
||||
|
||||
class CChoreoWidgetDrawHelper;
|
||||
|
||||
class IFacePoserToolWindow
|
||||
{
|
||||
public:
|
||||
IFacePoserToolWindow( char const *toolname, char const *displaynameroot );
|
||||
virtual ~IFacePoserToolWindow( void );
|
||||
|
||||
virtual mxWindow *GetMxWindow( void );
|
||||
virtual void Shutdown() { }
|
||||
|
||||
virtual void Think( float dt );
|
||||
virtual bool IsScrubbing( void ) const { return false; }
|
||||
virtual bool IsProcessing( void ) { return false; }
|
||||
|
||||
bool IsActiveTool( void );
|
||||
|
||||
virtual bool IsLocked( void );
|
||||
virtual bool HandleToolEvent( mxEvent *event );
|
||||
virtual void HandleToolRedraw( CChoreoWidgetDrawHelper& helper );
|
||||
virtual int GetCaptionHeight( void );
|
||||
void ToggleLockedState( void );
|
||||
|
||||
void LoadPosition( void );
|
||||
void SavePosition( void );
|
||||
|
||||
char const *GetToolName( void ) const;
|
||||
char const *GetWindowTitle( void ) const;
|
||||
char const *GetDisplayNameRoot( void ) const;
|
||||
|
||||
void SetDisplayNameRoot( char const *name );
|
||||
void SetSuffix( char const *suffix );
|
||||
void SetPrefix( char const *prefix );
|
||||
|
||||
void SetUseForMainWindowTitle( bool use );
|
||||
|
||||
void SetAutoProcess( bool autoprocess );
|
||||
bool GetAutoProcess( void ) const;
|
||||
|
||||
virtual void OnModelChanged();
|
||||
|
||||
static int GetToolCount( void );
|
||||
static IFacePoserToolWindow *GetTool( int index );
|
||||
|
||||
static IFacePoserToolWindow *GetActiveTool( void );
|
||||
static void SetActiveTool( IFacePoserToolWindow *tool );
|
||||
static IFacePoserToolWindow *s_pActiveTool;
|
||||
static void ToolThink( float dt );
|
||||
static void ModelChanged();
|
||||
static bool IsAnyToolScrubbing( void );
|
||||
static bool IsAnyToolProcessing( void );
|
||||
|
||||
static bool ShouldAutoProcess( void );
|
||||
|
||||
static void InitTools( void );
|
||||
static void ShutdownTools( void );
|
||||
|
||||
static void EnableToolRedraw( bool enabled );
|
||||
static bool s_bToolsCanDraw;
|
||||
|
||||
bool ToolCanDraw( void );
|
||||
|
||||
private:
|
||||
void GetLockRect( RECT& rc );
|
||||
void GetCloseRect( RECT& rc );
|
||||
|
||||
void ComputeNewTitle( void );
|
||||
|
||||
void SetToolName( char const *name );
|
||||
|
||||
enum
|
||||
{
|
||||
MAX_TOOL_NAME = 128,
|
||||
PREFIX_LENGTH = 32,
|
||||
SUFFIX_LENGTH = 128,
|
||||
};
|
||||
|
||||
char m_szToolName[ MAX_TOOL_NAME ];
|
||||
char m_szDisplayRoot[ MAX_TOOL_NAME ];
|
||||
char m_szPrefix[ PREFIX_LENGTH ];
|
||||
char m_szSuffix[ SUFFIX_LENGTH ];
|
||||
|
||||
char m_szWindowTitle[ MAX_TOOL_NAME + PREFIX_LENGTH + PREFIX_LENGTH ];
|
||||
|
||||
bool m_bUseForMainWindowTitle;
|
||||
|
||||
bool m_bAutoProcess;
|
||||
|
||||
int m_nToolFrameCount;
|
||||
};
|
||||
|
||||
#endif // FACEPOSERTOOLWINDOW_H
|
||||
Reference in New Issue
Block a user