mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-18 22:41:58 +00:00
1
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef FLEXPANEL_H
|
||||
#define FLEXPANEL_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#ifndef INCLUDED_MXWINDOW
|
||||
#include <mxtk/mxWindow.h>
|
||||
#endif
|
||||
|
||||
#define IDC_FLEX 7001
|
||||
#define IDC_FLEXSCROLL 7101
|
||||
#define IDC_EXPRESSIONRESET 7102
|
||||
|
||||
// NOTE THIS THIS TAKES UP 4 * 96 entries (384)
|
||||
// #define NEXT_AVAIL 7457 ...etc.
|
||||
#define IDC_FLEXSCALE 7200
|
||||
|
||||
#define IDC_FLEXSCALE_LAST 7584
|
||||
|
||||
#define IDC_FP_UNCHECK_ALL 7800
|
||||
#define IDC_FP_CHECK_ALL 7801
|
||||
#define IDC_FP_INVERT 7802
|
||||
#define IDC_FP_MENU 7803
|
||||
|
||||
#include "studio.h"
|
||||
|
||||
class mxTab;
|
||||
class mxChoice;
|
||||
class mxCheckBox;
|
||||
class mxSlider;
|
||||
class mxScrollbar;
|
||||
class mxLineEdit;
|
||||
class mxLabel;
|
||||
class mxButton;
|
||||
class MatSysWindow;
|
||||
class TextureWindow;
|
||||
class mxExpressionSlider;
|
||||
|
||||
|
||||
#include "expressions.h"
|
||||
#include "faceposertoolwindow.h"
|
||||
|
||||
/*
|
||||
int nameindex;
|
||||
int numkeys;
|
||||
int keyindex;
|
||||
{ char key, char weight }
|
||||
*/
|
||||
|
||||
class ControlPanel;
|
||||
|
||||
class FlexPanel : public mxWindow, public IFacePoserToolWindow
|
||||
{
|
||||
typedef mxWindow BaseClass;
|
||||
|
||||
mxExpressionSlider *slFlexScale[ GLOBAL_STUDIO_FLEX_CONTROL_COUNT ];
|
||||
|
||||
mxScrollbar *slScrollbar;
|
||||
|
||||
mxButton *btnResetSliders;
|
||||
mxButton *btnCopyToSliders;
|
||||
mxButton *btnCopyFromSliders;
|
||||
mxButton *btnMenu;
|
||||
|
||||
|
||||
public:
|
||||
// CREATORS
|
||||
FlexPanel (mxWindow *parent);
|
||||
virtual ~FlexPanel ();
|
||||
|
||||
virtual void redraw();
|
||||
virtual bool PaintBackground( void );
|
||||
|
||||
void SetEvent( CChoreoEvent *event );
|
||||
virtual void OnModelChanged();
|
||||
|
||||
// MANIPULATORS
|
||||
int handleEvent (mxEvent *event);
|
||||
|
||||
void initFlexes ();
|
||||
|
||||
bool IsValidSlider( int iFlexController ) const;
|
||||
|
||||
float GetSlider( int iFlexController );
|
||||
float GetSliderRawValue( int iFlexController );
|
||||
void GetSliderRange( int iFlexController, float& minvalue, float& maxvalue );
|
||||
|
||||
void SetSlider( int iFlexController, float value );
|
||||
float GetInfluence( int iFlexController );
|
||||
void SetInfluence( int iFlexController, float value );
|
||||
void SetEdited( int iFlexController, bool isEdited );
|
||||
bool IsEdited( int iFlexController );
|
||||
int LookupFlex( int iSlider, int barnum );
|
||||
int LookupPairedFlex( int iFlexController );
|
||||
|
||||
// maps global flex_controller index to UI slider
|
||||
int nFlexSliderIndex[ GLOBAL_STUDIO_FLEX_CONTROL_COUNT ];
|
||||
int nFlexSliderBarnum[ GLOBAL_STUDIO_FLEX_CONTROL_COUNT ];
|
||||
|
||||
void PositionSliders( int sboffset );
|
||||
void PositionControls( int width, int height );
|
||||
|
||||
void EditExpression( void );
|
||||
void NewExpression( void );
|
||||
|
||||
void setExpression( int index );
|
||||
void DeleteExpression( int index );
|
||||
void SaveExpression( int index );
|
||||
void RevertExpression( int index );
|
||||
|
||||
void CopyControllerSettings( void );
|
||||
void PasteControllerSettings( void );
|
||||
|
||||
void ResetSliders( bool preserveundo, bool bDirtyClass );
|
||||
|
||||
void CopyControllerSettingsToStructure( CExpression *exp );
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
FP_STATE_UNCHECK = 0,
|
||||
FP_STATE_CHECK,
|
||||
FP_STATE_INVERT
|
||||
};
|
||||
|
||||
void OnSetAll( int state );
|
||||
void OnMenu();
|
||||
|
||||
bool m_bNewExpressionMode;
|
||||
|
||||
// Since we combine left/right into one, this will be less than hdr->numflexcontrollers
|
||||
int m_nViewableFlexControllerCount;
|
||||
};
|
||||
|
||||
extern FlexPanel *g_pFlexPanel;
|
||||
|
||||
#endif // FLEXPANEL_H
|
||||
Reference in New Issue
Block a user