Скачиваний:
11
Добавлен:
01.05.2014
Размер:
4.92 Кб
Скачать
// Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "GLlab.h"
#include "Dlg.h"

#include <gl\gl.h>
#include <gl\glu.h>

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

/////////////////////////////////////////////////////////////////////////////
// Dlg dialog


Dlg::Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(Dlg)
	m_ScissorX = 0;
	m_ScissorY = 230;
	m_ScissorHight = 300;
	m_ScissorWidth = 300;
	m_AlphaRef = 0.4f;
	AlphaFunc=GL_GREATER;
	BlendSfactor=GL_SRC_ALPHA;
	BlendDfactor=GL_ONE_MINUS_SRC_ALPHA;
	//}}AFX_DATA_INIT
	
	

}


void Dlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Dlg)
	DDX_Control(pDX, IDC_LIST3, m_List3);
	DDX_Control(pDX, IDC_LIST2, m_List2);
	DDX_Control(pDX, IDC_LIST1, m_List1);
	DDX_Text(pDX, IDC_EDIT1, m_ScissorX);
	DDX_Text(pDX, IDC_EDIT2, m_ScissorY);
	DDX_Text(pDX, IDC_EDIT3, m_ScissorHight);
	DDX_Text(pDX, IDC_EDIT4, m_ScissorWidth);
	DDX_Text(pDX, IDC_EDIT5, m_AlphaRef);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Dlg, CDialog)
	//{{AFX_MSG_MAP(Dlg)
	ON_LBN_SELCHANGE(IDC_LIST1, OnSelchangeList1)
	ON_LBN_SELCHANGE(IDC_LIST2, OnSelchangeList2)
	ON_LBN_SELCHANGE(IDC_LIST3, OnSelchangeList3)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Dlg message handlers

void Dlg::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(true);
	
	CDialog::OnOK();
}

BOOL Dlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here


	m_List1.AddString("01 GL_GREATER");
	m_List1.AddString("02 GL_NEVER");
	m_List1.AddString("03 GL_LESS");
	m_List1.AddString("04 GL_EQUAL");
	m_List1.AddString("05 GL_LEQUAL");
	m_List1.AddString("06 GL_NOTEQUAL");
	m_List1.AddString("07 GL_GEQUAL");
	m_List1.AddString("08 GL_ALWAYS");
	m_List1.SetCurSel(0);

	m_List2.AddString("01 GL_ZERO");
	m_List2.AddString("02 GL_ONE");
	m_List2.AddString("03 GL_DST_COLOR");
	m_List2.AddString("04 GL_ONE_MINUS_DST_COLOR");
	m_List2.AddString("05 GL_SRC_ALPHA");
	m_List2.AddString("06 GL_ONE_MINUS_SRC_ALPHA");
	m_List2.AddString("07 GL_DST_ALPHA");
	m_List2.AddString("08 GL_ONE_MINUS_DST_ALPHA");
	m_List2.AddString("09 GL_SRC_ALPHA_SATURATE");
	m_List2.SetCurSel(4);

	m_List3.AddString("01 GL_ZERO");
	m_List3.AddString("02 GL_ONE");
	m_List3.AddString("03 GL_SRC_COLOR");
	m_List3.AddString("04 GL_ONE_MINUS_SRC_COLOR");
	m_List3.AddString("05 GL_SRC_ALPHA");
	m_List3.AddString("06 GL_ONE_MINUS_SRC_ALPHA");
	m_List3.AddString("07 GL_DST_ALPHA");
	m_List3.AddString("08 GL_ONE_MINUS_DST_ALPHA");
	m_List3.SetCurSel(5);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void Dlg::OnSelchangeList1() 
{	m_List1.GetText(m_List1.GetCurSel(),list1_text);

	if (list1_text=="01 GL_GREATER"){AlphaFunc=GL_GREATER;}
	if (list1_text=="02 GL_NEVER"){AlphaFunc=GL_NEVER;}
	if (list1_text=="03 GL_LESS"){AlphaFunc=GL_LESS;}
	if (list1_text=="04 GL_EQUAL"){AlphaFunc=GL_EQUAL;}
	if (list1_text=="05 GL_LEQUAL"){AlphaFunc=GL_LEQUAL;}
	if (list1_text=="06 GL_NOTEQUAL"){AlphaFunc=GL_NOTEQUAL;}
	if (list1_text=="07 GL_GEQUAL"){AlphaFunc=GL_GEQUAL;}
	if (list1_text=="08 GL_ALWAYS"){AlphaFunc=GL_ALWAYS;}

	UpdateData(false);
}


void Dlg::OnSelchangeList2() 
{	m_List2.GetText(m_List2.GetCurSel(),list2_text);

	if (list2_text=="01 GL_ZERO"){BlendSfactor=GL_ZERO;}
	if (list2_text=="02 GL_ONE"){BlendSfactor=GL_ONE;}
	if (list2_text=="03 GL_DST_COLOR"){BlendSfactor=GL_DST_COLOR;}
	if (list2_text=="04 GL_ONE_MINUS_DST_COLOR"){BlendSfactor=GL_ONE_MINUS_DST_COLOR;}
	if (list2_text=="05 GL_SRC_ALPHA"){BlendSfactor=GL_SRC_ALPHA;}
	if (list2_text=="06 GL_ONE_MINUS_SRC_ALPHA"){BlendSfactor=GL_ONE_MINUS_SRC_ALPHA;}
	if (list2_text=="07 GL_DST_ALPHA"){BlendSfactor=GL_DST_ALPHA;}
	if (list2_text=="08 GL_ONE_MINUS_DST_ALPHA"){BlendSfactor=GL_ONE_MINUS_DST_ALPHA;}
	if (list2_text=="09 GL_SRC_ALPHA_SATURATE"){BlendSfactor=GL_SRC_ALPHA_SATURATE;}

	UpdateData(false);
}

void Dlg::OnSelchangeList3() 
{	m_List3.GetText(m_List3.GetCurSel(),list3_text);

	if (list3_text=="01 GL_ZERO"){BlendDfactor=GL_ZERO;}
	if (list3_text=="02 GL_ONE"){BlendDfactor=GL_ONE;}
	if (list3_text=="03 GL_SRC_COLOR"){BlendDfactor=GL_SRC_COLOR;}
	if (list3_text=="04 GL_ONE_MINUS_SRC_COLOR"){BlendDfactor=GL_ONE_MINUS_SRC_COLOR;}
	if (list3_text=="05 GL_SRC_ALPHA"){BlendDfactor=GL_SRC_ALPHA;}
	if (list3_text=="06 GL_ONE_MINUS_SRC_ALPHA"){BlendDfactor=GL_ONE_MINUS_SRC_ALPHA;}
	if (list3_text=="07 GL_DST_ALPHA"){BlendDfactor=GL_DST_ALPHA;}
	if (list3_text=="08 GL_ONE_MINUS_DST_ALPHA"){BlendDfactor=GL_ONE_MINUS_DST_ALPHA;}

	UpdateData(false);
}
Соседние файлы в папке GLlab2