📄 frameinfo.cpp
字号:
// FrameInfo.cpp: implementation of the CFrameInfo class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "MagicScissors.h"
#include "FrameInfo.h"
#include "ObjList.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CFrameInfo::CFrameInfo()
{
m_pObjList = NULL;
m_nFrame = -1;
m_pNext = NULL;
m_pPrev = NULL;
}
CFrameInfo::CFrameInfo(int n, CSize size)
{
m_pObjList = NULL;
m_nFrame = n;
m_pNext = NULL;
m_pPrev = NULL;
m_Size = size;
}
CFrameInfo::~CFrameInfo()
{
if( m_pObjList ) delete m_pObjList;
}
BOOL CFrameInfo::AddObject( CObjRgn* pObject )
{
if( !m_pObjList )
{
m_pObjList = new CObjList;
m_pObjList->SetSize(m_Size);
}
if( !m_pObjList ) return FALSE;
return m_pObjList->Add( pObject );
}
BOOL CFrameInfo::DeleteObject( int n )
{
if( m_pObjList )
return m_pObjList->Delete( n );
else
return FALSE;
}
BOOL CFrameInfo::DeleteObject( CObjRgn* pObject )
{
if( m_pObjList )
return m_pObjList->Delete( pObject );
else
return FALSE;
}
CObjRgn* CFrameInfo::GetObject(int n)
{
if( m_pObjList )
return m_pObjList->GetObject(n);
else
return NULL;
}
CObjRgn* CFrameInfo::FindObject(CPoint point)
{
if( m_pObjList )
return m_pObjList->FindObject(point);
else
return NULL;
}
void CFrameInfo::SelectObject(CPoint point)
{
if( m_pObjList )
m_pObjList->Select(point);
}
void CFrameInfo::SetFrame(int n)
{
m_nFrame = n;
}
void CFrameInfo::Paint(CDC* pDC, COLORREF col)
{
if( m_pObjList )
m_pObjList->Paint(pDC, col);
}
void CFrameInfo::ModifyEdge(CEdgeList* pList)
{
if( m_pObjList )
m_pObjList->ModifyEdge(pList);
}
BOOL CFrameInfo::Write(CFile* pFile)
{
pFile->Write( &m_nFrame, sizeof(int) );
pFile->Write( &m_Size, sizeof(CSize) );
BYTE obj;
if( m_pObjList )
{
obj = 1;
pFile->Write( &obj, sizeof(BYTE) );
return m_pObjList->Write(pFile);
}
else
{
obj = 0;
pFile->Write( &obj, sizeof(BYTE) );
}
return TRUE;
}
BOOL CFrameInfo::Read(CFile* pFile)
{
pFile->Read( &m_nFrame, sizeof(int) );
pFile->Read( &m_Size, sizeof(CSize) );
BYTE obj;
pFile->Read(&obj, sizeof(BYTE) );
if( obj )
{
m_pObjList = new CObjList;
if( m_pObjList )
{
m_pObjList->SetSize(m_Size);
return m_pObjList->Read(pFile);
}
else
return FALSE;
}
return TRUE;
}
CObjRgn* CFrameInfo::GetSelected()
{
//if( m_pObjList )
// return m_pObjList->GetSelected();
//else
return NULL;
}
void CFrameInfo::ClearSelect()
{
if( m_pObjList )
m_pObjList->ClearSelect();
}
void CFrameInfo::Render(GLUquadricObj* pQuad, CImage* pImage, BOOL bGlobal)
{
if( m_pObjList )
m_pObjList->Render(pQuad, pImage, bGlobal);
}
BOOL CFrameInfo::ReplaceList(CObjList* pList)
{
if( m_pObjList )
delete m_pObjList;
m_pObjList = pList;
m_pObjList->SetSize(m_Size);
return TRUE;
}
void CFrameInfo::ClearObject()
{
if( m_pObjList )
delete m_pObjList;
m_pObjList = NULL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -