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

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

?? chgrmod.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.

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

	Implementation for the ChGraphic class, which is used to display
	graphics, & accept selection of hot spots and sprites.

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

// $Header: /home/cvs/chaco/modules/client/msw/ChGraphx/ChGrMod.cpp,v 2.25 1996/04/19 00:56:33 jimd Exp $

#include "grheader.h"

#include <ChCore.h>
#include <ChPane.h>

#include "ChGrMod.h"

#if defined(CH_USE_2D)
#include "ChAniDep.h"
#endif

//#include "ChClMod.h"
#include "ChGrStrm.h"

#ifdef _DEBUG
	#undef THIS_FILE
	static char THIS_FILE[] = __FILE__;
#endif


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

#if 1
CH_DECLARE_MESSAGE_HANDLER( graphicShowModuleHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicResetHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicInstallHookHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicPromoteHookHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicUninstallHookHandler )

#else
CH_DECLARE_MESSAGE_HANDLER( graphicInitHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadCompleteHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadErrorHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadImageHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadCastHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadAnchorHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicLoadScriptHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicPlayGraphicHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicShowCastHandler )
CH_DECLARE_MESSAGE_HANDLER( graphicEnableDragHandler )
#endif



static ChMsgHandlerDesc	graphicHandlers[] =
							{	{CH_MSG_SHOW_MODULE,	graphicShowModuleHandler},
								{CH_MSG_RESET,			graphicResetHandler},
								//{CH_MSG_INIT, 			graphicInitHandler},
								{CH_MSG_INSTALL_HOOK, 	graphicInstallHookHandler},
								{CH_MSG_PROMOTE_HOOK, 	graphicPromoteHookHandler},
								{CH_MSG_UNINSTALL_HOOK, graphicUninstallHookHandler}
							};

/*----------------------------------------------------------------------------
	ChGraphicMainInfo class
----------------------------------------------------------------------------*/

ChGraphicMainInfo::ChGraphicMainInfo( ChModuleID idModule,
										ChCore* pCore ) :
					ChMainInfo( idModule, pCore ),
					m_graphicDispatcher( pCore, idModule, defGraphicHandler ),
					m_hookMgr( pCore, idModule ),
					m_pBackReq(0),
					m_pStartReq(0),
					m_pWnd(0), 
					m_pageCount(0),
					m_boolShown( false )
{
	// Setup the HTTP stream
 	m_pGraphicStream = new ChGraphicStreamManager( pCore, 0 ); 
	ASSERT( m_pGraphicStream );
											// Compute pane limits
	ComputeDesiredSize();

}


ChGraphicMainInfo::~ChGraphicMainInfo()
{
	delete m_pGraphicStream;
	m_pGraphicStream = 0;
	delete m_pStartReq;
	m_pStartReq = 0;

}

void ChGraphicMainInfo::Initialize()
{	
}

void ChGraphicMainInfo::ComputeDesiredSize()
{
	ChPane*		pPane = GetPaneMgr()->FindPane( ChPaneMgr::strGraphicName );
	CClientDC	dc( pPane->GetFrameWnd() );
	TEXTMETRIC	tm;

	dc.GetTextMetrics( &tm );

	m_sMinWidth = tm.tmAveCharWidth * minCharWidth;
	m_sIdealWidth = tm.tmAveCharWidth * idealCharWidth;
	m_sMinHeight = (tm.tmHeight + tm.tmExternalLeading) * minCharHeight;
	m_sIdealHeight = (tm.tmHeight + tm.tmExternalLeading) * idealCharHeight;
}


void ChGraphicMainInfo::RegisterDispatchers()
{
	chint16		sHandlerCount = sizeof( graphicHandlers ) /
								sizeof( ChMsgHandlerDesc );

	m_graphicDispatcher.AddHandler( graphicHandlers, sHandlerCount );
}


void ChGraphicMainInfo::ShowModule( bool boolShow )
{
	ChPane*		pPane = GetPaneMgr()->FindPane( ChPaneMgr::strGraphicName );

	ASSERT( 0 != pPane );

	if (boolShow && (pPane->GetWindow() != GetView()))
	{
		pPane->SetOwner( GetModuleID(), GetView(), GetView() );
		pPane->SetSizePrefs( m_sIdealWidth, m_sIdealHeight, m_sMinWidth,
								m_sMinHeight );
	}

	if (boolShow && !IsShown())
	{
		GetView()->ShowWindow( SW_SHOW );
		pPane->Show();
		SetShown( true );
	}
	else if (!boolShow && IsShown())
	{
		pPane->Show( false );
		GetView()->ShowWindow( SW_HIDE );
		SetShown( false );
	}
}


void ChGraphicMainInfo::NotifyAnchor(string &strAnchor)
{
	bool		boolProcessed = false;
	ChCmdMsg	msg( strAnchor );

	msg.SetOriginModule( GetModuleID() );
	GetCmdHookMgr()->Dispatch( msg, boolProcessed );
}


void ChGraphicMainInfo::SetHidden()
{
	if (IsShown())
	{
		SetShown( false );
		
		if (GetView())
		{
			GetView()->ShowWindow( SW_HIDE );
		}
	}
}
void ChGraphicMainInfo::DoQueuedCommands(ChGraphicDocumentHTTPReq *pReq)
{
	// Sends queued commands on to current viewer
	ChStrList *pCommandQ = pReq->GetCommandQueue();

	if(pCommandQ)
	{
		string strCmd;

		while (!pCommandQ->IsEmpty())
		{
			strCmd = pCommandQ->RemoveHead();
			DoCommand(strCmd);
		}

		delete pCommandQ;
		pReq->SetCommandQueue(0);
	}

	return;
}



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

CH_IMPLEMENT_MESSAGE_HANDLER( defGraphicHandler )
{
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;


	return 0;
}


CH_IMPLEMENT_MESSAGE_HANDLER( graphicShowModuleHandler )
{
	ChShowModuleMsg*	pMsg = (ChShowModuleMsg*)&msg;
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;

	pInfo->ShowModule( pMsg->IsShowing() );

	return 0;
}

CH_IMPLEMENT_MESSAGE_HANDLER( graphicResetHandler )
{
	ChResetMsg*	pMsg = (ChResetMsg*)&msg;
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;

	pInfo->ShowModule( false );

	return 0;
}


CH_IMPLEMENT_MESSAGE_HANDLER( graphicInstallHookHandler )
{
	
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;
	ChInstallHookMsg*	pMsg = (ChInstallHookMsg*)&msg;
	ChHookManager*		pHookMgr = pInfo->GetCmdHookMgr();
	ChModuleID			idHookModule;
	chint32				lMessage;

	pMsg->GetParams( idHookModule, lMessage );
	ASSERT( 0 == lMessage || CH_MSG_CMD == lMessage );

	pHookMgr->Install( idHookModule );

	return 0;
}

CH_IMPLEMENT_MESSAGE_HANDLER( graphicPromoteHookHandler )
{
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;
	ChPromoteHookMsg*	pMsg = (ChPromoteHookMsg*)&msg;
	ChHookManager*		pHookMgr = pInfo->GetCmdHookMgr();
	ChModuleID			idHookModule;
	bool				boolPromote;
	chint32				lMessage;

	pMsg->GetParams( idHookModule, boolPromote, lMessage );
	ASSERT( 0 == lMessage || CH_MSG_CMD == lMessage );

	pHookMgr->Promote( idHookModule, boolPromote );

	return 0;
}

CH_IMPLEMENT_MESSAGE_HANDLER( graphicUninstallHookHandler )
{
	ChGraphicMainInfo*	pInfo = (ChGraphicMainInfo*)pMainInfo;
	ChUninstallHookMsg*	pMsg = (ChUninstallHookMsg*)&msg;
	ChHookManager*		pHookMgr = pInfo->GetCmdHookMgr();
	ChModuleID			idHookModule;
	chint32				lMessage;

	pMsg->GetParams( idHookModule, lMessage );
	ASSERT( 0 == lMessage || CH_MSG_CMD == lMessage );

	pHookMgr->Uninstall( idHookModule );

	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
波多野结衣亚洲| 不卡电影一区二区三区| 亚洲成av人片| 久久精品99久久久| 国产精品一区二区久激情瑜伽| 欧美久久久久久蜜桃| 91精品欧美久久久久久动漫| 精品国免费一区二区三区| 国产亚洲制服色| 亚洲精选视频免费看| 毛片av一区二区三区| 国产欧美日韩麻豆91| 在线不卡免费欧美| 亚洲国产精品高清| 亚洲va国产天堂va久久en| 国内一区二区在线| 色婷婷av一区二区| 337p日本欧洲亚洲大胆精品| 亚洲视频精选在线| 国产精品1区2区| 日本一区二区免费在线观看视频| 亚洲高清视频中文字幕| 91在线高清观看| 久久综合色婷婷| 蜜臀av性久久久久蜜臀aⅴ| 色94色欧美sute亚洲线路一久| 国产亚洲精品精华液| 国产一区二区精品久久| 91.com视频| 久久国产尿小便嘘嘘尿| 欧美日韩在线观看一区二区 | 精品粉嫩aⅴ一区二区三区四区| 1区2区3区精品视频| 成人国产精品免费网站| 久久综合九色综合97_久久久| 麻豆精品在线视频| 日韩视频免费观看高清在线视频| 一区二区三区四区激情| 91污在线观看| 亚洲网友自拍偷拍| 欧美日韩国产精选| 麻豆精品在线播放| 国产欧美一区二区精品仙草咪| 国产一区二区福利| 亚洲国产成人自拍| 日本电影欧美片| 亚洲va在线va天堂| 久久久久国产成人精品亚洲午夜| 国产电影精品久久禁18| 日韩码欧中文字| 91精品国产综合久久久久| 久久99精品久久只有精品| 久久九九99视频| 欧美日韩午夜在线视频| 国产乱国产乱300精品| 中文字幕一区二区三区在线观看| 91啪九色porn原创视频在线观看| 亚洲国产视频在线| 欧美国产禁国产网站cc| 欧美一卡二卡在线观看| av电影在线观看一区| 三级久久三级久久久| 国产精品美女久久久久久| 91精品欧美综合在线观看最新| 欧美日韩免费视频| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩精品高清不卡| 一区二区三区免费在线观看| 69久久夜色精品国产69蝌蚪网| 一区二区三区在线观看网站| 久久精品无码一区二区三区| 精品国产人成亚洲区| 欧美日韩激情一区| 色成年激情久久综合| 99久久精品99国产精品 | 337p亚洲精品色噜噜狠狠| 99久久国产免费看| 9人人澡人人爽人人精品| 玉足女爽爽91| 亚洲视频一区在线观看| 亚洲欧洲制服丝袜| 亚洲女女做受ⅹxx高潮| 亚洲人午夜精品天堂一二香蕉| 日韩一区欧美小说| 亚洲一区精品在线| 日韩高清不卡一区二区三区| 秋霞av亚洲一区二区三| 国产自产v一区二区三区c| 高清视频一区二区| av高清久久久| 欧美日韩精品高清| 欧美精品一区二区三区蜜臀| 午夜国产精品一区| 久久99精品久久只有精品| 国产成人av电影免费在线观看| www.亚洲国产| 91精品国产综合久久久久久久久久 | jizz一区二区| 欧美日韩视频在线观看一区二区三区| 欧美精品三级在线观看| 久久精品视频在线看| 偷偷要91色婷婷| 不卡在线视频中文字幕| 91麻豆精品国产91久久久使用方法| 久久久久久久久伊人| 亚洲成av人片在线观看无码| 国产精品一二三四五| 欧美老肥妇做.爰bbww视频| 精品少妇一区二区三区| 亚洲电影在线播放| av高清不卡在线| 国产精品欧美极品| 久久精品国产99国产| 欧美日韩国产一级片| 亚洲欧美日韩精品久久久久| 国产精品99久久久久久宅男| 欧美疯狂做受xxxx富婆| 成人免费在线观看入口| 国产成人日日夜夜| 国产午夜精品一区二区三区四区| 亚洲h精品动漫在线观看| 91视频国产资源| 亚洲综合999| 精品视频在线视频| 亚洲国产欧美一区二区三区丁香婷| 成人国产电影网| 综合分类小说区另类春色亚洲小说欧美| 国产精品主播直播| 欧美极品xxx| 97aⅴ精品视频一二三区| 亚洲裸体在线观看| 色婷婷亚洲精品| 亚洲视频狠狠干| 欧美肥妇bbw| 国产美女久久久久| 亚洲综合在线第一页| 在线成人小视频| 国产美女精品一区二区三区| 国产欧美视频一区二区三区| 粉嫩aⅴ一区二区三区四区| 中文天堂在线一区| 欧美日韩在线免费视频| 精品一区二区日韩| 一区二区三区欧美激情| 日韩精品一区在线观看| jizzjizzjizz欧美| 美女视频网站久久| 成人欧美一区二区三区黑人麻豆| 欧美麻豆精品久久久久久| 91久久精品午夜一区二区| 麻豆91在线观看| 亚洲一区在线播放| 国产精品视频一二| 日韩精品一区二区三区视频在线观看| 成人av网站在线| 国产老女人精品毛片久久| 亚洲一级二级三级在线免费观看| 欧美精品一区二区三区蜜臀| 69久久夜色精品国产69蝌蚪网| 成人av资源网站| 国产大陆a不卡| 国产伦精品一区二区三区在线观看 | 秋霞电影一区二区| 樱桃国产成人精品视频| 国产精品国产三级国产aⅴ入口 | 精品亚洲porn| 蜜乳av一区二区三区| 亚洲国产欧美在线| 亚洲午夜免费福利视频| 亚洲精品视频在线看| 自拍偷拍亚洲综合| 亚洲欧美日韩精品久久久久| 亚洲免费在线视频| 洋洋成人永久网站入口| 亚洲一二三四在线观看| 日韩精品三区四区| 久久国产尿小便嘘嘘尿| 精彩视频一区二区三区| 国产成人免费在线| 91精品久久久久久久91蜜桃| 91精品国产免费久久综合| 精品va天堂亚洲国产| 国产午夜亚洲精品理论片色戒 | 国产高清无密码一区二区三区| 成人午夜碰碰视频| 在线观看日韩av先锋影音电影院| 欧美日韩精品一区二区| 26uuuu精品一区二区| 亚洲欧洲成人自拍| 蜜臀av亚洲一区中文字幕| 成人精品在线视频观看| 欧美日韩一区二区三区高清| 久久久综合视频| 视频一区二区国产| 成人avav影音| 精品sm捆绑视频| 午夜精品久久久久久久| 色婷婷综合中文久久一本| 欧美成人伊人久久综合网| 国产一区二区成人久久免费影院 |