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

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

?? stmpatheventhandle.cpp

?? 電子交通地圖
?? CPP
字號:
// STMPathEventHandle.cpp: implementation of the CSTMPathEventHandle class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "stmeditor.h"
#include "STMPathEventHandle.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CSTMPathEventHandle::CSTMPathEventHandle()
{
	m_pDoc=NULL;
	m_pMapView=NULL;
}

CSTMPathEventHandle::~CSTMPathEventHandle()
{
}

void CSTMPathEventHandle::OnLButtonUp(UINT nFlags, CPoint point)
{
	if(m_pDoc->m_focusEI.eleType==ET_CROSS)
	{
		if(m_pDoc->m_activeType==ACT_PATH_PICK_BEGIN)
		{
			if(m_pDoc->m_focusEI.index==-1) return;
			m_pDoc->m_activeType=ACT_PATH_PICK_END;
			m_traceLineBegin=m_pDoc->m_arrCross.GetAt(m_pDoc->m_focusEI.index).pos ;
			m_hotPath.begin_id=m_pDoc->m_focusEI.index;
			m_traceLineEnd=m_traceLineBegin;
		}else if(m_pDoc->m_activeType==ACT_PATH_PICK_END)
		{
			if(m_pDoc->m_focusEI.index==-1) return;
			XORtraceLine();
			m_hotPath.end_id=m_pDoc->m_focusEI.index;
			if(m_hotPath.end_id==m_hotPath.begin_id)
			{
				m_pMapView->MessageBox("the path's two points can not be the same!","input error");
			}else
			{
				int index=m_pDoc->AddPath(m_hotPath);
				if(index!=-1)
				{
					DrawPath(index);
					m_traceLineBegin=m_pDoc->m_arrCross.GetAt(m_pDoc->m_focusEI.index).pos ;
					m_hotPath.begin_id=m_pDoc->m_focusEI.index;
					m_traceLineEnd=m_traceLineBegin;
				}else
				{
					m_pMapView->MessageBox("the path has existed!","error");
				}
			}
		}
	}else if(m_pDoc->m_focusEI.eleType==ET_PATH&&
		m_pDoc->m_focusEI.index!=-1)
	{
		if(m_pDoc->m_activeType==ACT_BROWSE)//select the path
		{
//			m_pMapView->MessageBox("you have click a path");
		}
	}
}

void CSTMPathEventHandle::OnRButtonUp(UINT nFlags, CPoint point)
{
	if(m_pDoc->m_focusEI.eleType==ET_PATH && 
		m_pDoc->m_focusEI.index !=-1)
	{
		if(m_pDoc->m_focusEI.eleType==ET_PATH &&
			m_pDoc->m_focusEI.index!=-1 &&
			m_pDoc->m_activeType!=ACT_PATH_PICK_END)//delete path
		{
			CRgn effectrgn;
			m_pDoc->RemovePath(effectrgn,m_pDoc->m_focusEI.index);
			m_pDoc->m_focusEI.index=-1;
			m_pDoc->m_preFocusEI.index=-1;
			m_pMapView->InvalidateRgn(&effectrgn,FALSE);
		}
	}
	if(m_pDoc->m_activeType==ACT_PATH_PICK_END) //cancel the pick active
	{
		m_pDoc->m_activeType=ACT_PATH_PICK_BEGIN;
		XORtraceLine();
	}
}

void CSTMPathEventHandle::OnMouseMove(UINT nFlags, CPoint point)
{
	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();
	point.Offset(originpoint);

	if(m_pDoc->m_activeType==ACT_PATH_PICK_END)
	{
		XORtraceLine();
		m_traceLineEnd=point;
		XORtraceLine();
	}else if(m_pDoc->m_activeType==ACT_CROSS_MOVE)//move attached path
	{

	}else //if(m_pDoc->m_activeType==ACT_BROWSE)
	{
		if(m_pDoc->m_bFocusChanged)
		{
			if(m_pDoc->m_preFocusEI.eleType==ET_PATH &&
				m_pDoc->m_preFocusEI.index!=-1) //restore old focus 
			{
				DrawPath(m_pDoc->m_preFocusEI.index);
			}
			if(m_pDoc->m_focusEI.eleType==ET_PATH &&
				m_pDoc->m_focusEI.index!=-1)
			{
				DrawPath(m_pDoc->m_focusEI.index);
			}
		}
	}
}

POINT CSTMPathEventHandle::CalcHitPoint(int begin, int end)
{
	POINT hitpt;
	POINT beginpt,endpt;
	beginpt=m_pDoc->m_arrCross.GetAt(begin).pos ;
	endpt=m_pDoc->m_arrCross.GetAt(end).pos ;
	hitpt.x=(beginpt.x+endpt.x)/2;
	hitpt.y=(beginpt.y+endpt.y)/2;
	return hitpt;
}

void CSTMPathEventHandle::DrawPath(int index)
{
	PATHINFO pi=m_pDoc->m_arrPath.GetAt(index);
	ELEINFO	ei;
	ei.eleType=ET_PATH;
	ei.index=index;
	ELESTATE state=m_pDoc->GetElementState(ei);//get element state
	COLORREF color;
	switch(state)
	{
	case ES_NORMAL:color=RGB(0,0,255);break;
	case ES_FOCUS:color=RGB(255,255,0);break;
	case ES_SELECTED:color=RGB(255,0,0);break;
	}

	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();


	CDC *pDC=m_pMapView->GetDC();
	POINT	lineBegin,lineEnd;
	lineBegin=m_pDoc->m_arrCross.GetAt(pi.begin_id).pos ;
	lineEnd=m_pDoc->m_arrCross.GetAt(pi.end_id).pos ;
	if(lineBegin.x==-1 ||lineEnd.x==-1) return;

	lineBegin.x-=originpoint.x;
	lineBegin.y-=originpoint.y;
	lineEnd.x-=originpoint.x;
	lineEnd.y-=originpoint.y;

	CPen	linePen,*oldpen;
	linePen.CreatePen(PS_SOLID,3,color);
	oldpen=pDC->SelectObject(&linePen);
	pDC->MoveTo(lineBegin);
	pDC->LineTo(lineEnd);
	pDC->SelectObject(oldpen);
	m_pMapView->ReleaseDC(pDC);
}

void CSTMPathEventHandle::DrawAllPathes()
{
	for(int i=0;i<m_pDoc->m_arrPath.GetSize();i++)
	{
		DrawPath(i);
	}
}

void CSTMPathEventHandle::XORtraceLine()
{
	if(m_traceLineBegin.x==m_traceLineEnd.x&&
		m_traceLineBegin.y==m_traceLineEnd.y)
		return;

	POINT	originpoint;
	originpoint=m_pMapView->GetScrollPosition();

	CDC *pDC=m_pMapView->GetDC();
	CPen pen,*oldpen;
	pen.CreatePen(PS_SOLID,3,RGB(0,0,125));
	oldpen=pDC->SelectObject(&pen);
	int	preDrawMode=pDC->SetROP2(R2_NOTXORPEN);
	POINT begin,end;
	begin=m_traceLineBegin,end=m_traceLineEnd;
	begin.x-=originpoint.x;
	begin.y-=originpoint.y;
	end.x-=originpoint.x;
	end.y-=originpoint.y;

	pDC->MoveTo(begin);
	pDC->LineTo(end);
	pDC->SetROP2(preDrawMode);
	pDC->SelectObject(oldpen);
	m_pMapView->ReleaseDC(pDC);
}

void CSTMPathEventHandle::OnLButtonDown(UINT nFlags, CPoint point)
{
	//draw new selected path
	if(m_pDoc->m_focusEI.eleType==ET_PATH &&
		m_pDoc->m_focusEI.index!=-1)
	{
		ELEINFO selEI=m_pDoc->m_focusEI;
		m_pDoc->SelectElements(&selEI,1);
		DrawPath(selEI.index);
	}
}

void CSTMPathEventHandle::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags)
{

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆一区二区三区| 成人美女在线视频| 亚洲成人午夜影院| 一区二区三区资源| 亚洲精品伦理在线| 亚洲欧美日韩久久| 亚洲视频在线观看一区| 亚洲欧美一区二区久久| 亚洲丝袜另类动漫二区| 亚洲综合一区二区精品导航| 亚洲狠狠丁香婷婷综合久久久| 亚洲视频1区2区| 亚洲综合丝袜美腿| 亚洲成人一区二区| 麻豆久久久久久久| 韩国三级中文字幕hd久久精品| 九九视频精品免费| 国产成人av电影在线播放| 成人福利电影精品一区二区在线观看 | 日韩欧美一区二区久久婷婷| 欧美蜜桃一区二区三区| 91精品久久久久久久久99蜜臂| 制服丝袜亚洲播放| 26uuu国产一区二区三区| 国产亚洲一本大道中文在线| 中文字幕+乱码+中文字幕一区| 国产精品视频一区二区三区不卡| 中文字幕一区二区三区四区不卡| 一区二区三区在线看| 日本中文一区二区三区| 国内精品国产三级国产a久久| 国产成人精品亚洲777人妖| 不卡的电影网站| 欧美无人高清视频在线观看| 欧美一区日韩一区| 日本一区二区三区四区 | 成人国产精品免费观看动漫| 99久久久无码国产精品| 欧美日韩久久久| 欧美va亚洲va| 亚洲欧洲精品一区二区三区 | 91视频在线看| 欧美一区二区三区公司| 久久久久久97三级| 一二三四区精品视频| 麻豆精品视频在线| 99re这里只有精品视频首页| 欧美视频在线一区| 国产亚洲一区字幕| 亚洲成人午夜电影| 国产高清精品久久久久| 欧美性猛交xxxx黑人交| 久久久久青草大香线综合精品| 中国av一区二区三区| 午夜免费欧美电影| 成人动漫一区二区| 欧美一区二区视频在线观看2022| 欧美国产成人在线| 免费在线观看不卡| 色婷婷亚洲精品| 久久九九影视网| 亚洲亚洲人成综合网络| 高清在线不卡av| 日韩视频免费直播| 一区二区三区成人| 国产成人亚洲精品青草天美| 欧美精品日韩精品| 综合精品久久久| 国产揄拍国内精品对白| 欧美日韩亚洲丝袜制服| 国产精品三级av在线播放| 蜜臀av性久久久久av蜜臀妖精| av中文字幕亚洲| 久久婷婷久久一区二区三区| 三级久久三级久久久| 91蝌蚪porny| 国产视频在线观看一区二区三区| 日本美女一区二区三区视频| 一本大道久久精品懂色aⅴ | 日韩精品三区四区| 色www精品视频在线观看| 亚洲国产成人午夜在线一区| 麻豆成人久久精品二区三区红| 欧美午夜影院一区| 亚洲免费资源在线播放| 大胆亚洲人体视频| 久久久久成人黄色影片| 久久69国产一区二区蜜臀| 欧美三区在线观看| 亚洲伊人伊色伊影伊综合网| 暴力调教一区二区三区| 欧美激情中文字幕| 国产乱码精品一区二区三区忘忧草| 在线综合视频播放| 日韩在线一区二区三区| 欧美性生活一区| 亚洲一区二区av电影| 色婷婷综合久久久久中文一区二区 | 亚洲国产日韩精品| 在线观看视频一区二区| 亚洲品质自拍视频网站| 91丨porny丨最新| 亚洲视频免费在线观看| 91视频国产观看| 亚洲免费在线看| 欧美系列亚洲系列| 日韩高清一区在线| 欧美一区二区三级| 日本不卡123| 欧美v日韩v国产v| 精品一区二区三区免费毛片爱| 日韩欧美中文字幕制服| 久久99精品久久久久久动态图| 日韩美女一区二区三区四区| 日本欧美久久久久免费播放网| 91麻豆精品国产无毒不卡在线观看 | 曰韩精品一区二区| 欧美日本在线一区| 美女一区二区视频| 久久影院午夜论| 成人国产精品免费观看动漫| 综合久久国产九一剧情麻豆| 欧洲精品一区二区三区在线观看| 一区二区三区中文在线| 欧美日韩另类一区| 国内精品不卡在线| 国产精品美女久久福利网站 | 久久久不卡网国产精品一区| 国产精品一区在线观看乱码| 国产精品女同一区二区三区| 99re这里只有精品首页| 亚洲香肠在线观看| 日韩精品一区在线| 国产成人精品亚洲777人妖| 亚洲精品高清在线观看| 欧美日韩精品久久久| 91蜜桃传媒精品久久久一区二区| 亚洲视频香蕉人妖| 欧美一级专区免费大片| 国产大陆亚洲精品国产| 尤物视频一区二区| 欧美一区二区视频在线观看2020 | 不卡一区二区三区四区| 亚洲最大成人网4388xx| 欧美电影免费观看高清完整版在 | 久久精品久久99精品久久| 久久久久久久久久看片| 99久久er热在这里只有精品66| 亚洲高清不卡在线| 久久免费看少妇高潮| 色94色欧美sute亚洲线路一ni| 日本女优在线视频一区二区| 国产精品久久777777| 欧美一区二区三区在线看| 丁香婷婷综合色啪| 日韩精品乱码免费| 日韩美女视频一区| 日韩美女视频在线| 91美女片黄在线观看| 麻豆久久一区二区| 一区二区三区不卡在线观看| 久久久亚洲精品石原莉奈| 在线观看日韩国产| 粉嫩绯色av一区二区在线观看| 午夜久久久久久久久| 国产精品女人毛片| wwww国产精品欧美| 欧美色视频一区| 成人激情动漫在线观看| 日韩av中文在线观看| 综合久久久久久| 久久久亚洲精品一区二区三区| 欧美日本在线播放| 91丨porny丨最新| 成人午夜视频免费看| 免费国产亚洲视频| 亚洲成a人片综合在线| 国产精品女同一区二区三区| 精品国产伦一区二区三区免费| 欧美视频在线一区| 一本久久精品一区二区| 懂色中文一区二区在线播放| 免费成人av在线| 天天免费综合色| 一区二区三区中文字幕| 亚洲视频在线一区| 国产精品大尺度| 国产精品天天摸av网| 2024国产精品| 欧美videossexotv100| 91麻豆精品国产91久久久更新时间| 91蜜桃视频在线| 91麻豆精东视频| 成人激情文学综合网| 国产一区二区三区免费在线观看| 午夜精品久久久久久久久久| 亚洲综合在线免费观看| 亚洲女女做受ⅹxx高潮| 中文字幕在线一区免费| 国产欧美日韩卡一|