亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? windowcoloredtextdialog.cpp

?? 骨骼動(dòng)畫(huà)....把魔獸模型解出的代碼..
?? CPP
字號(hào):
//+-----------------------------------------------------------------------------
//| Included files
//+-----------------------------------------------------------------------------
#include "WindowColoredTextDialog.h"


//+-----------------------------------------------------------------------------
//| Global objects
//+-----------------------------------------------------------------------------
WINDOW_COLORED_TEXT_DIALOG ColoredTextDialog;


//+-----------------------------------------------------------------------------
//| Static member variables
//+-----------------------------------------------------------------------------
BOOL WINDOW_COLORED_TEXT_DIALOG::Gradient = FALSE;
D3DCOLOR WINDOW_COLORED_TEXT_DIALOG::Color1 = 0xFFFFFFFF;
D3DCOLOR WINDOW_COLORED_TEXT_DIALOG::Color2 = 0xFFFFFFFF;


//+-----------------------------------------------------------------------------
//| Constructor
//+-----------------------------------------------------------------------------
WINDOW_COLORED_TEXT_DIALOG::WINDOW_COLORED_TEXT_DIALOG()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Destructor
//+-----------------------------------------------------------------------------
WINDOW_COLORED_TEXT_DIALOG::~WINDOW_COLORED_TEXT_DIALOG()
{
	//Empty
}


//+-----------------------------------------------------------------------------
//| Displays the dialog
//+-----------------------------------------------------------------------------
BOOL WINDOW_COLORED_TEXT_DIALOG::Display(HWND ParentWindow) CONST
{
	if(DialogBoxParam(GetModuleHandle(NULL), MAKEINTRESOURCE(DialogColoredText), ParentWindow, DialogMessageHandler, 0))
	{
		return TRUE;
	}

	return FALSE;
}


//+-----------------------------------------------------------------------------
//| Colorizes some text in a solid color
//+-----------------------------------------------------------------------------
BOOL WINDOW_COLORED_TEXT_DIALOG::ColorizeSolidText(std::string& Text)
{
	std::string OriginalText;

	OriginalText = Text;
	Text = "|c" + ColorToString(Color1) + OriginalText + "|r";

	return TRUE;
}


//+-----------------------------------------------------------------------------
//| Colorizes some text in a gradient color
//+-----------------------------------------------------------------------------
BOOL WINDOW_COLORED_TEXT_DIALOG::ColorizeGradientText(std::string& Text)
{
	INT i;
	INT Size;
	std::string OriginalText;
	std::string ColorString;
	std::string LastColorString;

	OriginalText = Text;

	Size = static_cast<INT>(OriginalText.size());
	if(Size == 0)
	{
		Text = "|c" + ColorToString(Color1) + "|r";
		return TRUE;
	}
	else if(Size == 1)
	{
		Text = "|c" + ColorToString(Color1) + OriginalText + "|r";
		return TRUE;
	}

	Text = "";

	for(i = 0; i < Size; i++)
	{
		LastColorString = ColorString;
		ColorString = ColorToString(InterpolateColor(i, Size));

		if(ColorString != LastColorString)
		{
			Text += "|c";
			Text += ColorToString(InterpolateColor(i, Size));
		}

		Text += OriginalText[i];
	}

	Text += "|r";

	return TRUE;
}


//+-----------------------------------------------------------------------------
//| Converts a color into  a string
//+-----------------------------------------------------------------------------
std::string WINDOW_COLORED_TEXT_DIALOG::ColorToString(D3DCOLOR Color)
{
	INT A;
	INT R;
	INT G;
	INT B;

	A = 0;
	R = GetBValue(Color);
	G = GetGValue(Color);
	B = GetRValue(Color);

	return NumberToString(A) + NumberToString(R) + NumberToString(G) + NumberToString(B);
}


//+-----------------------------------------------------------------------------
//| Converts a number to a string
//+-----------------------------------------------------------------------------
std::string WINDOW_COLORED_TEXT_DIALOG::NumberToString(INT Number)
{
	std::string String;

	String += DecToHex(Number / 16);
	String += DecToHex(Number % 16);

	return String;
}


//+-----------------------------------------------------------------------------
//| Converts a decimal number into a hexadecimal number
//+-----------------------------------------------------------------------------
CHAR WINDOW_COLORED_TEXT_DIALOG::DecToHex(INT Number)
{
	if(Number < 0) return '0';
	if(Number < 10) return '0' + Number;
	if(Number < 16) return 'A' + (Number - 10);

	return '0';
}


//+-----------------------------------------------------------------------------
//| Interpolates a color
//+-----------------------------------------------------------------------------
D3DCOLOR WINDOW_COLORED_TEXT_DIALOG::InterpolateColor(INT Index, INT Size)
{
	FLOAT Factor;
	FLOAT InverseFactor;
	D3DCOLOR Color;
	D3DXCOLOR TempColor;
	D3DXCOLOR TempColor1;
	D3DXCOLOR TempColor2;

	TempColor1 = Color1;
	TempColor2 = Color2;

	Factor = static_cast<FLOAT>(Index) / static_cast<FLOAT>(Size - 1);
	InverseFactor = 1.0f - Factor;

	TempColor.r = (InverseFactor * TempColor1.r) + (Factor * TempColor2.r);
	TempColor.g = (InverseFactor * TempColor1.g) + (Factor * TempColor2.g);
	TempColor.b = (InverseFactor * TempColor1.b) + (Factor * TempColor2.b);
	TempColor.a = 0.0f;

	Color = TempColor;

	return Color;
}


//+-----------------------------------------------------------------------------
//| Handles the dialog messages
//+-----------------------------------------------------------------------------
BOOL CALLBACK WINDOW_COLORED_TEXT_DIALOG::DialogMessageHandler(HWND Window, UINT Message, WPARAM W, LPARAM L)
{
	switch(Message)
	{
		case WM_INITDIALOG:
		{
			CenterWindow(Window);

			CheckDlgButton(Window, DialogColoredTextButtonSolid, BoolToCheckState(!Gradient));
			CheckDlgButton(Window, DialogColoredTextButtonGradient, BoolToCheckState(Gradient));

			EnableWindow(GetDlgItem(Window, DialogColoredTextButtonPick2), Gradient);
			EnableWindow(GetDlgItem(Window, DialogColoredTextStaticText), Gradient);

			return TRUE;
		}

		case WM_PAINT:
		{
			D3DCOLOR RealColor2;

			RealColor2 = CheckStateToBool(IsDlgButtonChecked(Window, DialogColoredTextButtonGradient)) ? Color2 : PROPERTIES_NO_BACKGROUND;

			RenderColorBox(Window, GetDlgItem(Window, DialogColoredTextColor1), Color1);
			RenderColorBox(Window, GetDlgItem(Window, DialogColoredTextColor2), RealColor2);

			return TRUE;
		}

		case WM_COMMAND:
		{
			switch(LOWORD(W))
			{
				case DialogColoredTextButtonGenerate:
				{
					INT Size;
					std::string Text;
					std::vector<CHAR> Buffer;

					Size = ::GetWindowTextLength(GetDlgItem(Window, DialogColoredTextEditInput)) + 1;
					Buffer.resize(Size + 1);

					::GetWindowText(GetDlgItem(Window, DialogColoredTextEditInput), &Buffer[0], Size);
					Buffer[Size] = '\0';
					Text = &Buffer[0];

					if(CheckStateToBool(IsDlgButtonChecked(Window, DialogColoredTextButtonSolid)))
					{
						if(!ColorizeSolidText(Text))
						{
							Error.DisplayMessage(Window);
							Error.ClearMessage();
							return TRUE;
						}
					}
					else
					{
						if(!ColorizeGradientText(Text))
						{
							Error.DisplayMessage(Window);
							Error.ClearMessage();
							return TRUE;
						}
					}

					Common.SetClipboardData(Text);

					SetDlgItemText(Window, DialogColoredTextEditOutput, Text.c_str());

					return TRUE;
				}

				case DialogColoredTextButtonPick1:
				{
					if(!SelectColor(Window, Color1))
					{
						SendMessage(Window, WM_PAINT, NULL, NULL);
						return TRUE;
					}

					SendMessage(Window, WM_PAINT, NULL, NULL);
					return TRUE;
				}

				case DialogColoredTextButtonPick2:
				{
					if(!SelectColor(Window, Color2))
					{
						SendMessage(Window, WM_PAINT, NULL, NULL);
						return TRUE;
					}

					SendMessage(Window, WM_PAINT, NULL, NULL);
					return TRUE;
				}

				case DialogColoredTextButtonSolid:
				{
					Gradient = FALSE;

					EnableWindow(GetDlgItem(Window, DialogColoredTextButtonPick2), Gradient);
					EnableWindow(GetDlgItem(Window, DialogColoredTextStaticText), Gradient);

					SendMessage(Window, WM_PAINT, NULL, NULL);
					return TRUE;
				}

				case DialogColoredTextButtonGradient:
				{
					Gradient = TRUE;

					EnableWindow(GetDlgItem(Window, DialogColoredTextButtonPick2), Gradient);
					EnableWindow(GetDlgItem(Window, DialogColoredTextStaticText), Gradient);

					SendMessage(Window, WM_PAINT, NULL, NULL);
					return TRUE;
				}
			}

			return FALSE;
		}

		case WM_CLOSE:
		{
			EndDialog(Window, 1);
			return TRUE;
		}
	}

	return FALSE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝瓜av网站精品一区二区| 亚洲综合久久av| 成人美女视频在线观看18| 国产精品三级在线观看| 波多野结衣欧美| 亚洲一区免费观看| 欧美精品免费视频| 国产一区二区三区蝌蚪| 国产欧美精品一区二区色综合 | 日韩欧美国产高清| 国产成人午夜精品5599 | 美女www一区二区| 久久精品水蜜桃av综合天堂| 一本色道a无线码一区v| 日本成人在线不卡视频| 中日韩免费视频中文字幕| 一本大道久久a久久综合婷婷| 天堂久久一区二区三区| 国产日韩欧美精品在线| 欧美日韩一区二区三区四区五区 | 国产偷国产偷亚洲高清人白洁| av男人天堂一区| 日韩二区三区四区| 亚洲私人黄色宅男| 精品久久久久久久久久久院品网 | 激情欧美一区二区三区在线观看| 亚洲欧洲av在线| 久久亚洲春色中文字幕久久久| 色香色香欲天天天影视综合网| 九九国产精品视频| 夜夜揉揉日日人人青青一国产精品| 欧美成人女星排名| 欧美日韩在线不卡| 91麻豆自制传媒国产之光| 国产精品综合av一区二区国产馆| 亚洲伊人伊色伊影伊综合网| 欧美性大战久久久久久久蜜臀 | 91丨九色porny丨蝌蚪| 秋霞成人午夜伦在线观看| 一区二区三区四区在线播放 | 亚洲国产一区视频| 亚洲日本一区二区三区| 国产精品福利一区二区| 国产三级三级三级精品8ⅰ区| 欧美一级视频精品观看| 欧美老年两性高潮| 欧美人牲a欧美精品| 欧美日韩国产另类一区| 欧美欧美欧美欧美首页| 欧美唯美清纯偷拍| 欧美日韩国产一级二级| 欧美私人免费视频| 欧美伦理视频网站| 欧美一级免费大片| 国产精品二三区| **欧美大码日韩| 亚洲精品国产高清久久伦理二区| 亚洲欧美激情小说另类| 亚洲精品网站在线观看| 一区二区三区在线观看动漫| 亚洲国产视频网站| 男人的j进女人的j一区| 九九视频精品免费| 福利一区福利二区| 91视视频在线观看入口直接观看www| 99久久精品免费精品国产| 一本一道综合狠狠老| 欧美日韩国产不卡| 欧美tickling网站挠脚心| 国产欧美一区二区三区网站| 综合久久国产九一剧情麻豆| 亚洲成人资源网| 国产高清不卡一区| 欧美图片一区二区三区| 日韩精品在线网站| 亚洲欧美日韩久久| 免费精品视频在线| 99精品热视频| 欧美xfplay| 一区二区激情视频| 麻豆国产精品官网| 国产成人超碰人人澡人人澡| 成人福利视频在线| 日韩视频在线一区二区| 国产精品99久久久久久久vr | 久久精品国产亚洲一区二区三区| 成人午夜在线视频| 日韩一区二区三区在线视频| 成人欧美一区二区三区黑人麻豆| 日韩主播视频在线| 91黄色在线观看| 国产精品伦一区| 韩国精品一区二区| 在线综合视频播放| 一区二区在线观看免费视频播放| 国产在线精品一区二区夜色| 欧美挠脚心视频网站| 亚洲另类一区二区| 成人看片黄a免费看在线| 欧美www视频| 蜜臀久久久久久久| 欧美日韩国产一级二级| 亚洲一区二区成人在线观看| 国产一区二区不卡在线| 成人免费高清在线| 久久综合国产精品| 日韩电影在线免费观看| 欧美日韩不卡一区| 午夜在线成人av| 制服丝袜av成人在线看| 天堂av在线一区| 综合在线观看色| 91麻豆国产福利在线观看| 亚洲欧美激情小说另类| 欧美在线制服丝袜| 日韩电影一区二区三区| 91精品国产黑色紧身裤美女| 日韩av成人高清| 精品国产伦一区二区三区观看方式 | 亚洲视频资源在线| 欧美影视一区二区三区| 亚洲123区在线观看| 欧美成人国产一区二区| 国产一区二区0| 亚洲精品国产精华液| 日韩欧美视频在线| av亚洲产国偷v产偷v自拍| 亚洲成人第一页| 久久久一区二区| 91久久精品日日躁夜夜躁欧美| 欧美a一区二区| 亚洲人成7777| 精品sm捆绑视频| 欧美中文字幕一二三区视频| 久久精品99久久久| 亚洲欧美日韩国产综合| 日韩一区二区三区高清免费看看| 国产成人精品免费一区二区| 亚洲伊人伊色伊影伊综合网| 久久久亚洲精品一区二区三区| 91麻豆国产福利在线观看| 国内精品国产成人国产三级粉色| 一区二区欧美国产| 国产女主播一区| 日韩欧美国产成人一区二区| 91美女视频网站| 成人av在线电影| 韩国女主播一区| 日本女优在线视频一区二区| 亚洲品质自拍视频| 中文字幕一区二区三中文字幕| 日韩视频免费观看高清完整版| 欧美中文字幕一二三区视频| 成人av免费网站| 国产综合久久久久影院| 日韩中文字幕不卡| 偷偷要91色婷婷| 婷婷国产在线综合| 亚洲午夜在线视频| 依依成人精品视频| ...av二区三区久久精品| 国产精品系列在线| 久久精品亚洲一区二区三区浴池 | 亚洲成人1区2区| 亚洲最新在线观看| 伊人一区二区三区| 亚洲人精品午夜| 亚洲精品乱码久久久久久久久 | 欧美一区二区网站| 欧美日韩一区二区三区四区五区| 在线观看91视频| 在线观看免费成人| 欧洲精品一区二区| 欧美日韩mp4| 欧美videos大乳护士334| 久久久久久久综合日本| 国产色产综合产在线视频| 中文一区二区在线观看| 自拍偷拍亚洲激情| 亚洲va欧美va人人爽| 麻豆成人在线观看| 成人黄色在线视频| 在线观看亚洲精品视频| 91精品国产综合久久婷婷香蕉| 日韩一区二区在线观看| 国产亚洲成av人在线观看导航| 国产精品免费丝袜| 亚洲一区国产视频| 麻豆成人在线观看| 不卡视频在线观看| 欧美电影一区二区| 国产欧美精品在线观看| 亚洲精品乱码久久久久| 伦理电影国产精品| 不卡视频一二三| 欧美精品第一页| 中文字幕国产精品一区二区| 亚洲 欧美综合在线网络| 国产一区二区三区观看| 91国在线观看|