You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

70 lines
2.0 KiB
C

1 month ago
#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