summaryrefslogtreecommitdiff
path: root/win/Pieceprv.cpp
blob: bf1a71454cec5479c1c6d633516440faecd992e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// PiecePrv.cpp : implementation file
//

#include "stdafx.h"
#include "leocad.h"
#include "PiecePrv.h"
#include "Tools.h"
#include "pieceinf.h"
#include "globals.h"
#include "project.h"
#include "preview.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CPiecePreview

CPiecePreview::CPiecePreview()
{
	m_Preview = NULL;
}

CPiecePreview::~CPiecePreview()
{
}


BEGIN_MESSAGE_MAP(CPiecePreview, CWnd)
	//{{AFX_MSG_MAP(CPiecePreview)
	ON_WM_ERASEBKGND()
	ON_WM_PAINT()
	ON_WM_SIZE()
	ON_WM_CREATE()
	ON_WM_DESTROY()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CPiecePreview message handlers

BOOL CPiecePreview::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

void CPiecePreview::OnPaint() 
{
	if (!IsWindowEnabled() || (m_Preview == NULL))
		return;

	m_Preview->OnDraw();
}

void CPiecePreview::OnSize(UINT nType, int cx, int cy) 
{
	m_Preview->OnSize(cx, cy);
	CWnd::OnSize(nType, cx, cy);
}

int CPiecePreview::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;

	m_Preview = new PiecePreview(NULL);
	m_Preview->Create(m_hWnd);
	m_Preview->MakeCurrent();

	return 0;
}

void CPiecePreview::OnDestroy() 
{
	if (m_Preview)
	{
		m_Preview->DestroyContext();
		delete m_Preview;
		m_Preview = NULL;
	}

	CWnd::OnDestroy();
}

void CPiecePreview::SetPieceInfo(PieceInfo* pInfo)
{
	m_Preview->SetCurrentPiece(pInfo);
}

PieceInfo* CPiecePreview::GetPieceInfo() const
{
	return m_Preview->GetCurrentPiece();
}