/*-----------------------------------------------------------------------------
[名称]	ShitarabianPlugInWall.h
[概要]	したらびあんプラグイン壁紙クラスのヘッダ
[備考]	なし
[履歴]	2003-01-25	NC		コメント付加(moralog)
-----------------------------------------------------------------------------*/
#if !defined(AFX_SHITARABIANPLUGINWALL_H_INCLUDED_)
#define AFX_SHITARABIANPLUGINWALL_H_INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


//-----------------------------------------------------------------------------
// インクルード
//-----------------------------------------------------------------------------
#include "ShitarabianPlugIn.h"


/*-----------------------------------------------------------------------------
[名称]	したらびあんプラグイン壁紙クラス
[用途]	壁紙。
[備考]	imgctrl.dllが存在すれば使用する。
-----------------------------------------------------------------------------*/
class CShitarabianPlugInWall  : public CShitarabianPlugIn
{
public:
	// 生成・破棄
	CShitarabianPlugInWall();
	virtual ~CShitarabianPlugInWall();

	// プラグイン名称取得
	virtual const char*		GetPlugInName();

	// 描画ハンドラ
	virtual void		OnDrawWall(
		CDocumentIF*	pDocIF,
		CDC*			pDstDC,
		int				iLeft,
		int				iTop,
		int				iWidth,
		int				iHeight
	);

	// 設定編集ハンドラ
	virtual void		OnSetting(
		CDocumentIF*	pDoc
	);

	// ダイアログ設定反映再描画
	void	ReflectFromDialog(
		CDocumentIF*	pDoc
	);

protected:
	// 画像取得
	CBitmap* GetBitmap();

	// 画像破棄
	void CloseImage();

	// 画像読み込み
	BOOL OpenImage(
		CString&		strFileName,
		CBitmap*		pBitmap
	);

	// グレースケール・輝度反映
	BOOL	ToGray(
		WORD	wGray,
		int		RedEffect,
		int		GreenEffect,
		int		BlueEffect
	);

	// 設定反映再描画
	void	Reflect(
		CDocumentIF*	pDoc
	);

protected:
	CString		m_strFileName;		// 画像ファイルパス名 [-] (-)
};

#endif // !defined(AFX_SHITARABIANPLUGINWALL_H_INCLUDED_)
