Files
FC1/Editor/TrackViewGraph.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

73 lines
1.9 KiB
C++

////////////////////////////////////////////////////////////////////////////
//
// Crytek Engine Source File.
// Copyright (C), Crytek Studios, 2002.
// -------------------------------------------------------------------------
// File name: trackviewgraph.h
// Version: v1.00
// Created: 23/8/2002 by Timur.
// Compilers: Visual Studio.NET
// Description:
// -------------------------------------------------------------------------
// History:
//
////////////////////////////////////////////////////////////////////////////
#ifndef __trackviewgraph_h__
#define __trackviewgraph_h__
#if _MSC_VER > 1000
#pragma once
#endif
#include "TrackViewKeys.h"
/** CTrackViewGraph dialog.
Placed at the same position as tracks dialog, and display spline graphs of track.
*/
class CTrackViewGraph : public CTrackViewKeys
{
DECLARE_DYNAMIC(CTrackViewGraph)
public:
struct Item
{
IAnimTrack *track;
IAnimNode *node;
int paramId;
Item() { track = 0; node = 0; paramId = 0; }
Item( IAnimNode *pNode,int nParamId,IAnimTrack *pTrack )
{
track = pTrack; paramId = nParamId; node = pNode;
}
};
CTrackViewGraph();
virtual ~CTrackViewGraph();
protected:
DECLARE_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////
// CTrackViewKeys overrides.
//////////////////////////////////////////////////////////////////////////
int GetItemRect( int item,CRect &rect );
int KeyFromPoint( CPoint point );
int ItemFromPoint( CPoint pnt );
void SelectKeys( const CRect &rc );
void DrawTrack( int item,CDC *dc,CRect &rcItem );
void DrawKeys( IAnimTrack *track,CDC *dc,CRect &rc,Range &timeRange );
void DrawGraph( IAnimTrack *track,CDC *dc,CRect &rcItem );
void DrawGraphAxis( CDC *dc,CRect &rcItem,int y );
void SetCurSel( int sel );
private:
void FitGraphToRect( IAnimTrack *track,const CRect &rcItem );
float m_fValueScale;
float m_fMaxValue;
float m_fMinValue;
};
#endif // __trackviewgraph_h__