summaryrefslogtreecommitdiff
path: root/utils/hlfaceposer/controlpanel.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/hlfaceposer/controlpanel.h')
-rw-r--r--utils/hlfaceposer/controlpanel.h161
1 files changed, 161 insertions, 0 deletions
diff --git a/utils/hlfaceposer/controlpanel.h b/utils/hlfaceposer/controlpanel.h
new file mode 100644
index 0000000..7382051
--- /dev/null
+++ b/utils/hlfaceposer/controlpanel.h
@@ -0,0 +1,161 @@
+//========= 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