Modified source engine (2017) developed by valve and leaked in 2020. Not for commercial purporses
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

161 lines
3.3 KiB

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef CONTROLPANEL_H
#define CONTROLPANEL_H
#ifdef _WIN32
#pragma once
#endif
#ifndef INCLUDED_MXWINDOW
#include <mxtk/mxWindow.h>
#endif
#include "faceposertoolwindow.h"
#define IDC_TAB 1901
#define IDC_RENDERMODE 2001
#define IDC_GROUND 2003
#define IDC_MOVEMENT 2004
#define IDC_BACKGROUND 2005
#define IDC_HITBOXES 2006
#define IDC_BONES 2007
#define IDC_ATTACHMENTS 2008
#define IDC_PHYSICSMODEL 2009
#define IDC_PHYSICSHIGHLIGHT 2010
#define IDC_MODELSPACING 2011
#define IDC_TOOLSDRIVEMOUTH 2012
#define IDC_SEQUENCE 3001
#define IDC_SPEEDSCALE 3002
#define IDC_PRIMARYBLEND 3003
#define IDC_SECONDARYBLEND 3004
#define IDC_BODYPART 4001
#define IDC_SUBMODEL 4002
#define IDC_CONTROLLER 4003
#define IDC_CONTROLLERVALUE 4004
#define IDC_SKINS 4005
#define IDC_EXPRESSIONCLASS 5001
#define IDC_EXPRESSIONTRAY 5002
#define IDC_ANIMATIONBROWSER 5003
class mxTab;
class mxChoice;
class mxCheckBox;
class mxSlider;
class mxLineEdit;
class mxLabel;
class mxButton;
class MatSysWindow;
class TextureWindow;
class mxExpressionTray;
class FlexPanel;
class PhonemeEditor;
class mxExpressionTab;
class mxExpressionSlider;
class ExpressionTool;
class CChoreoView;
class ControlPanel : public mxWindow, public IFacePoserToolWindow
{
typedef mxWindow BaseClass;
mxTab *tab;
mxChoice *cRenderMode;
mxCheckBox *cbGround, *cbMovement, *cbBackground;
mxChoice *cSequence;
mxSlider *slSpeedScale;
mxLabel *lSpeedScale;
mxChoice *cBodypart, *cController, *cSubmodel;
mxSlider *slController;
mxChoice *cSkin;
mxLabel *lModelInfo1, *lModelInfo2;
mxLineEdit *leMeshScale, *leBoneScale;
mxSlider *slModelGap;
mxCheckBox *cbAllWindowsDriveSpeech;
public:
// CREATORS
ControlPanel (mxWindow *parent);
virtual ~ControlPanel ();
// MANIPULATORS
virtual int handleEvent (mxEvent *event);
virtual void redraw();
virtual void OnDelete();
virtual bool CanClose();
virtual void Think( float dt );
void dumpModelInfo ();
void ChangeModel( const char *filename );
void setRenderMode (int mode);
void setShowGround (bool b);
void setShowMovement (bool b);
void setShowBackground (bool b);
void setHighlightBone( int index );
void initSequenceChoices( );
void setSequence (int index);
void setSpeed( float value );
void initPoseParameters ();
void setBlend(int index, float value );
void initBodypartChoices();
void setBodypart (int index);
void setSubmodel (int index);
void initBoneControllerChoices();
void setBoneController (int index);
void setBoneControllerValue (int index, float value);
void initSkinChoices();
void setModelInfo ();
void centerView ();
void fullscreen ();
void CenterOnFace( void );
void PositionControls( int width, int height );
bool CloseClass( int classindex );
bool Close();
bool Closeall();
void Copy( void );
void Paste( void );
void Undo( void );
void Redo( void );
void UndoExpression( int index );
void RedoExpression( int index );
void DeleteExpression( int index );
float GetModelGap( void );
bool AllToolsDriveSpeech( void );
};
extern ControlPanel *g_pControlPanel;
#endif // CONTROLPANEL_H