#pragma once
#include "global.h"
#include "MyStructDef.h"
#define CPIDEDITOR_BRUSH_MENUINDEX_OPTION 0
class CPidEditorBrush : public CDialog
{
	DECLARE_DYNAMIC(CPidEditorBrush)
	DECLARE_MESSAGE_MAP()
public:
	CPidEditorBrush(CWnd* pParent = nullptr);   // 标准构造函数
	virtual ~CPidEditorBrush();
	// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_CPIDEDITOR_BRUSH };
#endif
	void* pParentEditor = nullptr;
	MyView* pDrawWndView = nullptr;
	MyView* GetMyView();
	void Draw();
	void Load(CString filename);//载入贴图png文件
	void ResetContext();
	void UpdateGrid();//更新网格
	////////////////////热键//////////////////
	HACCEL hAccel = nullptr;//热键
	BOOL PreTranslateMessage(MSG* pMsg) override;
protected:
	void DoDataExchange(CDataExchange* pDX) override;
	BOOL OnInitDialog() override;
	void OnCancel() override;
	void OnEnterKey();//空函数 阻止回车键退出
public:
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
	afx_msg void OnPaint();
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
	afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnShowBk();
	afx_msg void OnShowGrid();
	afx_msg void OnBrushSetting();
private:
	//渲染器
	MyDX11Renderer pRenderer;
	MyView view;
	//载入的贴图
	MyTextureAndSRV tas;
	//变量
	bool showGrid = false;//显示网格
	bool showBk = false;//显示透明背景
	void DrawSelectedRect();
};

