//////////////////////////////////////////
// PaintBox.h
// Copyright (c) 05/02/2022 by BCCSkelton
//////////////////////////////////////////
//BCCSkeltonのヘッダー−これに必要なヘッダーが入っている
#include	"BCCSkelton.h"
//リソースIDのヘッダー
#include	"ResPaintBox.h"
//浮動小数点計算ライブラリー
#include <math.h>
//Tree用の定数
const double g_RAD = 3.14159 / 180;
double const g_XSIZE = 500, g_YSIZE = 400, g_LEN = 100;

/////////////////////////////////////////////////////////////////////
//CMyWndクラスをCDLGクラスから派生させ、メッセージ用の関数を宣言する
/////////////////////////////////////////////////////////////////////
class CMyWnd : public CDLG
{
public:	//以下はコールバック関数マクロと関連している
	//２重起動防止用のMutex用ID名称
	CMyWnd(char* UName) : CDLG(UName) {}
	//メニュー項目、ダイアログコントロール関連
	bool OnRect();
	bool OnSpiral();
	bool OnHirbelt();
	bool OnTree();
	bool OnRotate();
	bool OnSphere1();
	bool OnSphere2();
	bool OnExit();
	//ウィンドウメッセージ関連
	bool OnInit(WPARAM, LPARAM);
	bool OnNotify(WPARAM, LPARAM);
	bool OnClose(WPARAM, LPARAM);
	bool OnDestroy(WPARAM, LPARAM);
	//ユーザー定義関数
	bool DrawA(int, int&, int&, int, int);
	bool DrawB(int, int&, int&, int, int);
	void Drawline(int&, int&, int&, int);
	bool Tree(double, double, double, double, double);
};

////////////////////////////////////////////////////////////////////////
//派生させたCMyWndクラスのインスタンスとコールバック関数(マクロ）の作成
//主ウィンドウはダイアログと違い、コールバック関数は一つしか作れない
////////////////////////////////////////////////////////////////////////
CMyWnd PaintBox("PaintBox");	//ウィンドウクラスインスタンスの生成

BEGIN_MODELESSDLGMSG(ModelessProc, PaintBox)	//コールバック関数名は主ウィンドウの場合ModelessProcにしている
	//メニュー項目、ダイアログコントロール関連
	ON_COMMAND(PaintBox, IDC_RECT, OnRect())
	ON_COMMAND(PaintBox, IDC_SPIRAL, OnSpiral())
	ON_COMMAND(PaintBox, IDC_HIRBELT, OnHirbelt())
	ON_COMMAND(PaintBox, IDC_TREE, OnTree())
	ON_COMMAND(PaintBox, IDC_ROTATE, OnRotate())
	ON_COMMAND(PaintBox, IDC_SPHERE1, OnSphere1())
	ON_COMMAND(PaintBox, IDC_SPHERE2, OnSphere2())
	ON_COMMAND(PaintBox, IDC_EXIT, OnExit())
	//ウィンドウメッセージ関連
	//自動的にダイアログ作成時にOnInit()、終了時にOnClose()を呼びます
	ON_NOTIFY(PaintBox)
	ON_DESTROY(PaintBox)
END_DLGMSG

///////////////////
//PictureBoxの作成
///////////////////
CPICBOX PicBox;
