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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? chad.cpp

?? Windows上的MUD客戶端程序
?? CPP
字號:
/*----------------------------------------------------------------------------
                        _                              _ _       
        /\             | |                            | (_)      
       /  \   _ __   __| |_ __ ___  _ __ ___   ___  __| |_  __ _ 
      / /\ \ | '_ \ / _` | '__/ _ \| '_ ` _ \ / _ \/ _` | |/ _` |
     / ____ \| | | | (_| | | | (_) | | | | | |  __/ (_| | | (_| |
    /_/    \_\_| |_|\__,_|_|  \___/|_| |_| |_|\___|\__,_|_|\__,_|

    The contents of this file are subject to the Andromedia Public
	License Version 1.0 (the "License"); you may not use this file
	except in compliance with the License. You may obtain a copy of
	the License at http://www.andromedia.com/APL/

    Software distributed under the License is distributed on an
	"AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
	implied. See the License for the specific language governing
	rights and limitations under the License.

    The Original Code is Pueblo client code, released November 4, 1998.

    The Initial Developer of the Original Code is Andromedia Incorporated.
	Portions created by Andromedia are Copyright (C) 1998 Andromedia
	Incorporated.  All Rights Reserved.

	Andromedia Incorporated                         415.365.6700
	818 Mission Street - 2nd Floor                  415.365.6701 fax
	San Francisco, CA 94103

    Contributor(s):
	--------------------------------------------------------------------------
	   Chaco team:  Dan Greening, Glenn Crocker, Jim Doubek,
	                Coyote Lussier, Pritham Shetty.

					Wrote and designed original codebase.

------------------------------------------------------------------------------

	Defines the ChAd module for the Pueblo system.  This module is
	used to play MIDI music.

----------------------------------------------------------------------------*/

// $Header: /home/cvs/chaco/modules/client/msw/ChAd/ChAd.cpp,v 1.24 1996/04/16 05:11:06 coyote Exp $

#include "headers.h"
#include "resource.h"

#if defined( CH_UNIX )

	#include <ChDispat.h>
	#include <ChMsgTyp.h>
	#include <ChReg.h>
	#include "../../unix/ChTxtMud/UnixRes.h"

#endif	// defined( CH_UNIX )

#include <fstream.h>

#include <ChMsgTyp.h>
#include <ChExcept.h>
#include <ChMenu.h>
#include <ChCore.h>
#include <ChHttp.h>
#include <ChHtmWnd.h>
#include <ChPane.h>

#include "ChAdHtml.h"

#include <ChAd.h>


/*----------------------------------------------------------------------------
	Constants
----------------------------------------------------------------------------*/

#define DEFAULT_AD_WIDTH		460			// In pixels
#define DEFAULT_AD_HEIGHT		60			// In pixels

#define AD_BANNER_NAME			"_Ad_Module_Banner_Pane_"


/*----------------------------------------------------------------------------
	Handler declarations
----------------------------------------------------------------------------*/

CH_DECLARE_MESSAGE_HANDLER( defAdHandler )
CH_DECLARE_MESSAGE_HANDLER( adInitHandler )
CH_DECLARE_MESSAGE_HANDLER( adShowModuleHandler )
CH_DECLARE_MESSAGE_HANDLER( adLoadCompleteHandler )
CH_DECLARE_MESSAGE_HANDLER( adLoadErrorHandler )
CH_DECLARE_MESSAGE_HANDLER( adGetPageCountHandler )
CH_DECLARE_MESSAGE_HANDLER( adHandler )

static ChMsgHandlerDesc	adHandlers[] =
					{	{CH_MSG_INIT, adInitHandler},
						{CH_MSG_SHOW_MODULE, adShowModuleHandler},
						{CH_MSG_LOAD_COMPLETE, adLoadCompleteHandler},
						{CH_MSG_LOAD_ERROR, adLoadErrorHandler},
						{CH_MSG_GET_PAGE_COUNT, adGetPageCountHandler},
						{CH_MSG_AD, adHandler} };


/*----------------------------------------------------------------------------
	ChAdMainInfo class
----------------------------------------------------------------------------*/

ChAdMainInfo::ChAdMainInfo( const ChModuleID& idModule,
										 ChCore* pCore,
										ChArgumentList* pList  ) :
					ChMainInfo( idModule, pCore ),
//					m_clientCore( ChClientModule::GetCoreID() ),
//					m_serverModule( idServerModule ),
					m_adDispatcher( pCore, idModule, defAdHandler ),
					m_boolShown( false ),
					m_boolMenus( false ),
					m_sAdWidth( DEFAULT_AD_WIDTH ),
					m_sAdHeight( DEFAULT_AD_HEIGHT )
{
	RegisterDispatchers();
}


ChAdMainInfo::~ChAdMainInfo()
{
											// Clear all panes

	GetPaneMgr()->ShowAllPanes( GetModuleID(), false );
	GetPaneMgr()->DestroyAllPanes( GetModuleID() );

	DestroyMenus();
}


void ChAdMainInfo::Initialize()
{
	ChRect		rtChild( -100, -100, -1, -1 );
	bool		boolCreated;
	ChPane*		pPane = GetPaneMgr()->FindPane( AD_BANNER_NAME );

											/* Register ourselves with the Ad
												banner window */
	GetAdBannerWnd()->SetMainInfo( this );

	if (0 == pPane)
	{										/* Create the Ad pane if it doesn't
												already exist */

		pPane = GetPaneMgr()->CreatePane( AD_BANNER_NAME, 0, GetAdWidth(),
											GetAdHeight(),
											paneInternal | paneNoScroll );
	}
	ASSERT( pPane );
											// Create the Ad output window

	boolCreated = GetAdBannerWnd()->Create( rtChild, pPane->GetFrameWnd() );
	ASSERT( boolCreated );
											/* Turn off scrolling for the
												ad banner */
	GetAdBannerWnd()->AllowScroll( false, false );

											// Set the child into the view

	pPane->SetOwner( GetModuleID(), GetAdBannerWnd(), GetAdBannerWnd() );

	CreateMenus();							// Create & Install menus
}


void ChAdMainInfo::ShowModule( bool boolShow )
{
	ChPane*		pPane = GetPaneMgr()->FindPane( AD_BANNER_NAME );

	ASSERT( pPane );

	if (boolShow && !IsShown())
	{
		InstallMenus();

		pPane->Show();

		SetShown( boolShow );
	}
	else if (!boolShow && IsShown())
	{
		UninstallMenus();

		pPane->Show( false );

		SetShown( boolShow );
	}
}


void ChAdMainInfo::DisplayAdBanner( const string& strAdURL,
									const string& strParam,
									const string& strUserParam )
{
	ChPane*			pPane = GetPaneMgr()->FindPane( AD_BANNER_NAME );

	string			strFormat;
	string			strPaneHTML;

	m_strCurrAdURL = strAdURL;
	m_strCurrAdParam = strParam;
	m_strCurrAdUserParam = strUserParam;

	GetAdBannerWnd()->LoadURL( strAdURL );
}


bool ChAdMainInfo::DoAdClick( const string& strArgs, chint32 lX, chint32 lY )
{
	bool		boolProcessed = false;
	string		strURL;
//	ChTime		time;

	if (ChHtmlWnd::GetHTMLHref( strArgs, false, strURL ))
	{
		if (!strURL.IsEmpty())
		{
			//string		strParam( m_strCurrAdUserParam );

			if ((lX >= 0) && (lY >= 0))
			{								/* Append the coordinates to the
												URL */
				char	buffer[80];

				sprintf( buffer, "?%ld,%ld", lX, lY );
				strURL += buffer;
			}

			#if 0
			if (strParam.IsEmpty())
			{
											/* If there isn't a user param
												associated with this ad, then
												send the URL to the server */
				strParam = strURL;
			}
											/* Create and send the statistic
												message to the server
												indicating that the ad was
												selected */

			ChUsageStatisticMsg	statisticMsg( ChUsageStatisticMsg::adSelected,
												ChTime::GetCurrentTime(),
												strParam );

			m_serverModule.Post( statisticMsg );
			#else
			TRACE( "Need to send Ad info to server\n" );
			#pragma message( "Sending Ad info to server not done\n" __FILE__ )
			#endif

											// Load the page
			GetCore()->DisplayWebPage( strURL, ChCore::browserUserPref );

			boolProcessed = true;
		}
	}

	return boolProcessed;
}


/*----------------------------------------------------------------------------
	ChAdMainInfo protected methods
----------------------------------------------------------------------------*/


/*----------------------------------------------------------------------------
	ChAdMainInfo private methods
----------------------------------------------------------------------------*/

void ChAdMainInfo::RegisterDispatchers()
{
	chint16		sHandlerCount = sizeof( adHandlers ) /
								sizeof( ChMsgHandlerDesc );

	m_adDispatcher.AddHandler( adHandlers, sHandlerCount );
}


void ChAdMainInfo::CreateMenus()
{
	m_boolMenus = true;
}


void ChAdMainInfo::InstallMenus()
{
}


void ChAdMainInfo::UninstallMenus()
{
}


void ChAdMainInfo::DestroyMenus()
{
	m_boolMenus = false;
}


/*----------------------------------------------------------------------------
	Chaco module library entry point
----------------------------------------------------------------------------*/

#if defined( CH_MSW ) && defined( CH_ARCH_16 )
CH_EXTERN_LIBRARY( void )
InitChAdDLL();
#endif

#ifdef __linux__
CH_IMPLEMENT_MAIN_HANDLER( ChMainEntryMidi )
#else
ChMain
#endif
{
	chparam		retVal = 0;

	switch( msg.GetMessage() )
	{
		case CH_MSG_INIT:
		{
			ChInitMsg*	pMsg = (ChInitMsg*)&msg;
			string		strLoadParam;
			ChModuleID	idServerModule;             

			#if defined( CH_MSW ) && defined( CH_ARCH_16 )
			{
											// Initialize MFC
				InitChAdDLL();
			}
			#endif	// defined( CH_MSW ) && defined( CH_ARCH_16 )

			pMsg->GetParams( idModule, strLoadParam, idServerModule );

			if (*pstrModule == CH_MODULE_AD)
			{
				ChAdMainInfo	*pMainInfo;

				pMainInfo = new ChAdMainInfo( idModule, pCore,
												pArgList );

				retVal = (chparam)pMainInfo;
			}
			break;
		}

		case CH_MSG_TERM:
		{
			delete pMainInfo;
			break;
		}
	}

	return retVal;
}


/*----------------------------------------------------------------------------
	Chaco message handlers
----------------------------------------------------------------------------*/

CH_IMPLEMENT_MESSAGE_HANDLER( defAdHandler )
{
	chparam		retVal = 0;

	return retVal;
}

CH_IMPLEMENT_MESSAGE_HANDLER( adInitHandler )
{
	ChAdMainInfo*	pInfo = (ChAdMainInfo*)pMainInfo;

	pInfo->Initialize();
	return 0;
}

CH_IMPLEMENT_MESSAGE_HANDLER( adShowModuleHandler )
{
	ChShowModuleMsg*	pMsg = (ChShowModuleMsg*)&msg;
	ChAdMainInfo*		pInfo = (ChAdMainInfo*)pMainInfo;

	pInfo->ShowModule( pMsg->IsShowing() );
	return 0;
}

CH_IMPLEMENT_MESSAGE_HANDLER( adLoadCompleteHandler )
{
	ChAdMainInfo*		pInfo = (ChAdMainInfo*)pMainInfo;
	ChLoadCompleteMsg*	pMsg = (ChLoadCompleteMsg*)&msg;
	string				strModuleName;
	ChModuleID			idModule;
	string				strFilename;
	chparam				userData;

	pMsg->GetParams( strModuleName, idModule, strFilename, userData );

	if (strModuleName.IsEmpty())
	{										/* Not a module, must be data,
												but we aren't expecting data? */
	}

	return 0;
}


CH_IMPLEMENT_MESSAGE_HANDLER( adLoadErrorHandler )
{
	ChAdMainInfo*		pInfo = (ChAdMainInfo*)pMainInfo;
	ChLoadErrorMsg*		pMsg = (ChLoadErrorMsg*)&msg;
	string				strModuleName;
	ChModuleID			idModule;
	string				strURL;
	chint32				lError;
	chparam				userData;

	pMsg->GetParams( strModuleName, idModule, strURL, lError, userData );

	return 0;
}


CH_IMPLEMENT_MESSAGE_HANDLER( adGetPageCountHandler )
{
	return 0;
}


CH_IMPLEMENT_MESSAGE_HANDLER( adHandler )
{
	ChAdMainInfo*	pInfo = (ChAdMainInfo*)pMainInfo;
	ChAdMsg*		pMsg = (ChAdMsg*)&msg;
	string			strAdURL;
	string			strParam;
	string			strUserParam;

	pMsg->GetParams( strAdURL, strParam, strUserParam );
	pInfo->DisplayAdBanner( strAdURL, strParam, strUserParam );
	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产综合视频在线观看| 一区二区国产盗摄色噜噜| 欧美日韩亚洲综合一区| 91最新地址在线播放| 99re在线精品| 色婷婷精品久久二区二区蜜臀av | 日产国产高清一区二区三区| 亚洲精品国产精品乱码不99| 一区二区三区在线视频免费 | 日韩精品一区二| 日韩免费一区二区三区在线播放| 日韩欧美aaaaaa| 久久免费电影网| 国产精品少妇自拍| 综合自拍亚洲综合图不卡区| 亚洲激情男女视频| 亚洲国产wwwccc36天堂| 青娱乐精品在线视频| 国内不卡的二区三区中文字幕| 黑人精品欧美一区二区蜜桃| 国产91精品一区二区麻豆网站 | 国产精品一区二区久激情瑜伽| 国产精品88888| 色综合久久久久综合体桃花网| 欧美三级在线视频| 日韩精品一区二区三区四区| 中文字幕国产精品一区二区| 亚洲伊人色欲综合网| 老司机午夜精品| 不卡视频免费播放| 欧美美女一区二区三区| 久久亚洲综合色| 亚洲精品国产品国语在线app| 视频一区视频二区在线观看| 国产综合成人久久大片91| a在线播放不卡| 欧美欧美欧美欧美首页| 久久久久久久久久久电影| 亚洲激情av在线| 精品影视av免费| 色就色 综合激情| 久久影院午夜片一区| 亚洲午夜成aⅴ人片| 国产精品一区二区三区乱码 | 国产伦精品一区二区三区免费迷 | 久久精品国产99久久6| 97久久超碰精品国产| 日韩欧美电影一区| 亚洲激情第一区| 高清国产一区二区三区| 欧美午夜电影一区| 中文成人综合网| 久久精品国产77777蜜臀| 欧美在线一二三| 国产无一区二区| 美女视频一区二区三区| 欧美午夜寂寞影院| 亚洲色欲色欲www| 国产成人精品免费一区二区| 日韩欧美国产综合在线一区二区三区| 亚洲精品视频在线观看网站| 粉嫩av一区二区三区粉嫩| 日韩一区二区三区在线| 香蕉成人伊视频在线观看| 91丨九色丨黑人外教| 国产精品免费网站在线观看| 国产精品一区免费视频| 日韩一区和二区| 免费精品视频在线| 日韩一二三四区| 日本麻豆一区二区三区视频| 欧美日韩国产在线观看| 午夜影院久久久| 欧美午夜精品免费| 亚洲国产精品久久不卡毛片 | 欧美xfplay| 久久国产精品免费| 精品久久久网站| 国产精品18久久久久久久网站| 日韩精品专区在线影院观看| 狠狠色综合播放一区二区| 精品国产1区2区3区| 国产精品夜夜爽| 亚洲国产精品精华液2区45| 国产suv精品一区二区883| 久久精品亚洲精品国产欧美| www.亚洲色图.com| 亚洲欧美电影一区二区| 欧美精三区欧美精三区| 肉丝袜脚交视频一区二区| 日韩一区二区三| 国产激情一区二区三区| 国产精品私人影院| 一本色道a无线码一区v| 日本亚洲电影天堂| 久久久久久久久久看片| 99精品黄色片免费大全| 亚洲成a人片在线观看中文| 91精品国模一区二区三区| 国产在线日韩欧美| 国产精品国模大尺度视频| 欧美在线短视频| 国内外成人在线视频| 中文字幕字幕中文在线中不卡视频| 欧美性受xxxx| 国产福利精品一区| 亚洲综合999| 精品区一区二区| 一本一本大道香蕉久在线精品| 日韩影院免费视频| 国产精品久久午夜| 制服丝袜亚洲网站| 成人黄页在线观看| 免费国产亚洲视频| 一区二区三区日本| 国产日韩欧美精品在线| 欧美午夜片在线观看| 国产91丝袜在线播放0| 午夜在线成人av| 亚洲女同一区二区| 国产亚洲欧美日韩俺去了| 在线观看亚洲成人| 美国十次了思思久久精品导航| 亚洲视频网在线直播| 精品国产麻豆免费人成网站| 91亚洲精品一区二区乱码| 久久黄色级2电影| 亚洲一区在线视频| 亚洲国产电影在线观看| 日韩欧美你懂的| 欧美精品v国产精品v日韩精品| 成人免费视频caoporn| 男人的天堂久久精品| 亚洲成人综合在线| 亚洲欧美另类图片小说| 久久精品亚洲乱码伦伦中文 | 欧美人与禽zozo性伦| 成人av免费网站| 精品一区二区三区的国产在线播放| 洋洋成人永久网站入口| 国产精品国产成人国产三级| 国产午夜亚洲精品不卡| 欧美一二区视频| 欧美一区二区免费视频| 精品视频一区二区不卡| 欧美在线视频日韩| 欧美性猛片aaaaaaa做受| 91视频在线观看免费| 99re热这里只有精品免费视频 | 亚洲午夜在线观看视频在线| 国产精品国产a| 一区在线中文字幕| 国产精品短视频| 综合自拍亚洲综合图不卡区| 中文字幕不卡三区| 国产精品国产三级国产普通话三级| 国产午夜精品久久久久久免费视| 久久免费精品国产久精品久久久久| 精品成人一区二区| 337p粉嫩大胆色噜噜噜噜亚洲| 精品久久久久99| 欧美韩日一区二区三区四区| 亚洲欧洲在线观看av| 综合欧美一区二区三区| 一区2区3区在线看| 亚洲第一福利一区| 欧美aa在线视频| 国产综合一区二区| www.激情成人| 欧美挠脚心视频网站| 日韩小视频在线观看专区| 26uuu精品一区二区三区四区在线| 久久久综合视频| 1000精品久久久久久久久| 一区二区三区欧美激情| 日韩av二区在线播放| 国产一区二区在线视频| 久久99国产精品成人| 国产高清不卡一区二区| 在线视频国产一区| 欧美一区二区久久| 欧美国产日产图区| 午夜亚洲福利老司机| 日韩激情在线观看| caoporm超碰国产精品| 欧美老肥妇做.爰bbww视频| 久久综合一区二区| 一区二区三区日韩在线观看| 麻豆精品在线视频| 色婷婷久久久综合中文字幕| 精品国产凹凸成av人导航| 国产精品国产三级国产aⅴ原创 | wwww国产精品欧美| 亚洲女人的天堂| 久久99国产精品麻豆| 日本高清不卡aⅴ免费网站| 精品国产乱码91久久久久久网站| 亚洲视频资源在线| 韩国精品久久久| 欧美人妇做爰xxxⅹ性高电影|