/*
	애니메이션에서 한장면을 구성하는 
*/
#ifndef cFrame_H 
#define cFrame_H

#include <windows.h>
#include <list>
#include "cVisualObject.h"

class cFrame{
protected:
	typedef std::list<cVisualObject *> cVisualList;
	// 필요에 따라서 다양한 출력 요소들을 리스트로 추가

	// 시각적인 표현
	cVisualList VisibleList;
	cDisplay *pDisplay;
	int Left, Top;
	
public:
	cFrame();
	virtual ~cFrame();

	// 초기화 하기
	void SetDisplay(cDisplay *_pDisplay){ pDisplay = _pDisplay; }

	// 출력 버퍼 지우기
	void ClearAll(BOOL bErase = FALSE);
	void ClearVisual(BOOL bErase = FALSE);

	// 출력 요소 추가하기
	void AddVisual(cVisualObject *pVisual);

	// 요소들 출력하기
	BOOL OutputAll(cDisplay *_pDisplay = NULL); 
	BOOL OutputVisual(cDisplay *_pDisplay = NULL);

};

#endif
