hl2_src-leak-2017/src/public/dme_controls/LogPreview.h

76 lines
1.6 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================
#ifndef LOGPREVIEW_H
#define LOGPREVIEW_H
#ifdef _WIN32
#pragma once
#endif
#include "datamodel/dmehandle.h"
class CDmElement;
class CDmeClip;
class CDmeFilmClip;
class CDmeChannel;
enum LogPreviewChannelType_t
{
LOG_PREVIEW_VALUE = 0,
LOG_PREVIEW_BALANCE,
LOG_PREVIEW_MULTILEVEL,
LOG_PREVIEW_FLEX_CHANNEL_COUNT,
LOG_PREVIEW_POSITION = 0,
LOG_PREVIEW_ORIENTATION,
LOG_PREVIEW_TRANSFORM_CHANNEL_COUNT,
LOG_PREVIEW_MAX_CHANNEL_COUNT = 3,
};
struct LogPreview_t
{
LogPreview_t() :
m_bDragging( false ),
m_bActiveLog( false ),
m_bSelected( false )
{
}
bool IsEqual( const LogPreview_t& other )
{
if ( m_hControl != other.m_hControl )
return false;
for ( int i = 0; i < LOG_PREVIEW_MAX_CHANNEL_COUNT; ++i )
{
if ( m_hChannels[ i ] != other.m_hChannels[ i ] )
return false;
}
if ( m_hOwner != other.m_hOwner )
return false;
if ( m_hShot != other.m_hShot )
return false;
if ( m_bDragging != other.m_bDragging )
return false;
if ( m_bActiveLog != other.m_bActiveLog )
return false;
if ( m_bSelected != other.m_bSelected )
return false;
return true;
}
CDmeHandle< CDmElement > m_hControl; // The animation set control
CDmeHandle< CDmeChannel > m_hChannels[ LOG_PREVIEW_MAX_CHANNEL_COUNT ];
CDmeHandle< CDmeClip > m_hOwner;
CDmeHandle< CDmeFilmClip > m_hShot;
bool m_bDragging : 1;
bool m_bActiveLog : 1;
bool m_bSelected : 1;
};
#endif // LOGPREVIEW_H