#ifndef __DiaText_hpp
#define __DiaText_hpp

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// DiaText.hpp : header file
//

#include "matres.h"

/////////////////////////////////////////////////////////////////////////////
// DiaText dialog

class DiaText : public CFormView
{
// Construction
public:
	DiaText();   // standard constructor
	DECLARE_DYNCREATE(DiaText)

// Dialog Data
	//{{AFX_DATA(DiaText)
	enum { IDD = IDD_TEXTURE_DIALOG };
	//}}AFX_DATA

public:
	~DiaText();   // standard constructor
	void m_vNotifyChangeToScripts(BOOL _bVisualSection, BOOL _bTextureSection);
	void m_fn_vChangeTexture(GLI_tdstTexture *p_stTexture, BOOL _bEnableButton = TRUE);
	void m_fn_vShowMaterial(GMT_tdxHandleToGameMaterial _hMat, long _lAnimatedTextureIndex = -1);
	BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName,
				DWORD dwRequestedStyle, const RECT& rect, CWnd* pParentWnd, UINT nID,
				CCreateContext* pContext);

private:
	CDC       m_oMemDC;    // memory DC
	CBitmap *m_p_oPreviousSelectedBitmap;
	CBitmap     m_oMemBitmap;  // memory Bitmap
	GLI_tdstTexture *m_hEditedTexture;
	BOOL m_bControlsFilledFromMaterial;
	BOOL m_bDisplaySupplyTexture;
	long m_lAnimatedTextureIndex;
	//Mircea Dunka
	BOOL m_bButtonVisuelEnabled;

public:
	BYTE m_nRPixelColor;
	BYTE m_nGPixelColor;
	BYTE m_nBPixelColor;
	//end Mircea Dunka

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(DiaText)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	virtual int OnToolHitTest( CPoint point, TOOLINFO* pTI ) const;
	// Generated message map functions
	//{{AFX_MSG(DiaText)
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
	afx_msg void OnButtonVisuel();
	afx_msg void OnButtonPriority();
	afx_msg void OnButtonQualityLevel();
	afx_msg void OnCheckTile();
	afx_msg void OnButtonChromakeyColor();
	afx_msg void OnCheckFilter();
	afx_msg void OnButtonSupplyTexture();
	afx_msg void OnKillFocusEditDuration();
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnButtonPixelcolor();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////
class tdoChangeTextureModif : public CPA_Modif
{
public:
	tdoChangeTextureModif(GMT_tdxHandleToGameMaterial _MyMatHandle, long _lChanged, GLI_tdstTexture *_hNewTexture, int _iNewImage, BOOL _bSupplyTexture);
	~tdoChangeTextureModif();
	BOOL Do();
	BOOL Undo();

protected:
	BOOL m_bDoIt(GLI_tdstTexture *_hReplacingTexture, int _iImageIndex);

private:
	GMT_tdxHandleToGameMaterial m_hEditedGameMaterial;
	tdoEditorGameMaterial *m_p_oEditedGameMaterial;
	GLI_tdstTexture *m_hTextureBeforeDo, *m_hTextureAfterDo;
	int m_iImageBeforeDo, m_iImageAfterDo;
	long m_lChangeIndex;
	BOOL m_bSupplyTexture;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.


#endif
