|
|
|
|
|
#ifndef TRACKINSAMPLE_H
|
|
|
|
|
|
#define TRACKINSAMPLE_H
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
//<2F>ļ<EFBFBD> CInTrackSample.h
|
|
|
|
|
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>:
|
|
|
|
|
|
// <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ<EFBFBD><C5B6><EFBFBD>
|
|
|
|
|
|
class CInTrackDepthSegment;
|
|
|
|
|
|
class AFX_EXT_CLASS CInTrackSample : public CInTrackDepthSegment
|
|
|
|
|
|
{
|
|
|
|
|
|
public:
|
|
|
|
|
|
CInTrackSample();
|
|
|
|
|
|
CInTrackSample(const CRect8& position);
|
|
|
|
|
|
~CInTrackSample();
|
|
|
|
|
|
|
|
|
|
|
|
CString m_title_name; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
std::vector<SAMPLESTRUCT*> m_sampleArr;
|
|
|
|
|
|
CString m_strType; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
CString m_strMarkType; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
|
|
|
|
|
|
int m_nMarkCount; //<2F><>Ʒ<EFBFBD><C6B7>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_fDoubleWidth; //˫Ͳ<CBAB><CDB2><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD>
|
|
|
|
|
|
double m_fMarkWidth; //<2F><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
|
|
|
|
|
|
double m_fMarkTextSpace; //<2F><>ע<EFBFBD>ı<EFBFBD><C4B1>ո<EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
DWORD m_nTrackInSampleFlags; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
|
|
|
|
|
|
// <20><><EFBFBD><EFBFBD>Flags
|
|
|
|
|
|
enum TrackInSampleFlags
|
|
|
|
|
|
{
|
|
|
|
|
|
TrackInSampleFlagSingle = 0x0001, // <20><>Ͳ<EFBFBD><CDB2>ʾ
|
|
|
|
|
|
TrackInSampleFlagReverseMark = 0x0002, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע
|
|
|
|
|
|
TrackInSampleFlagSquareBarEnd= 0x0004, // <20><>ע<EFBFBD>˷<EFBFBD><CBB7>ζ<EFBFBD>ͷ
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
// Implementation
|
|
|
|
|
|
public:
|
|
|
|
|
|
virtual void Draw(CXyDC* pDC);
|
|
|
|
|
|
virtual void Serialize(CArchive& ar, const short &ver);
|
|
|
|
|
|
|
|
|
|
|
|
//<2F><><EFBFBD>ر<EFBFBD><D8B1><EFBFBD>ֵ
|
|
|
|
|
|
virtual void SetTrackInSampleFlags(DWORD flags);
|
|
|
|
|
|
virtual void SetSingle(BOOL bFlag);
|
|
|
|
|
|
virtual void SetReverseMark(BOOL bFlag);
|
|
|
|
|
|
virtual void SetSquareBarEnd(BOOL bFlag);
|
|
|
|
|
|
|
|
|
|
|
|
virtual DWORD GetTrackInSampleFlags();
|
|
|
|
|
|
virtual BOOL IsSingle();
|
|
|
|
|
|
virtual BOOL IsReverseMark();
|
|
|
|
|
|
virtual BOOL IsSquareBarEnd();
|
|
|
|
|
|
|
|
|
|
|
|
void ClearData();
|
|
|
|
|
|
|
|
|
|
|
|
int PCG_ReadSample(CXmlParse& xp,const short &ver,SAMPLESTRUCT* pSample);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
//<2F><><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>
|
|
|
|
|
|
void DrawInclined(CXyDC* pDC);
|
|
|
|
|
|
void DrawRect(CXyDC *pDC ,CRect8 showRect);
|
|
|
|
|
|
public:
|
|
|
|
|
|
int PCG_ReadSample(CKXmlParse& xp, const short &ver, SAMPLESTRUCT* pSample);
|
|
|
|
|
|
|
|
|
|
|
|
virtual int ReadPCG_SelfData(CKXmlParse& xp, const short& ver, CTrackObj* pTrack);
|
|
|
|
|
|
virtual void WritePCG_SelfData(CFile &fw, int nBaseTabNum);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|