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

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

?? cscrollcontroller.cpp

?? directshow開發(fā)指南源碼第四章部分源碼,需要安裝directshow8.0以上
?? CPP
字號(hào):
//
// CScrollController.cpp
//

#include "streams.h"
#include "COverlayController.h"
#include "CScrollController.h"

////////////////////////////////////////////////////////////////////////////////////
CScrollController::CScrollController() :
cDefaultStride(10)
{
	mIsBottomScrolling = TRUE;
	mScrollStride      = cDefaultStride;
	SetRectEmpty(&mValidTitleRect);
}

CScrollController::~CScrollController()
{
}

void CScrollController::SetScrollBottomOrTop(BOOL inIsBottom)
{
	mIsBottomScrolling = inIsBottom;
}

BOOL CScrollController::StartTitleOverlay(void)
{
	BOOL pass = COverlayController::StartTitleOverlay();
	if (pass)
	{
		// After title DIB created successfully, we can calculate the
		// start point of Y-axis according to mIsBottomScrolling
		mStartPos.x = mImageWidth - 1;
		if (mIsBottomScrolling)
		{
			mStartPos.y = mImageHeight - mTitleSize.cy;
		}
		else
		{
			mStartPos.y = 0;
		}	
		CalculateScrollStride();
	}
	return pass;
}

void CScrollController::SideEffectProgressChanged(void)
{
	COverlayController::SideEffectProgressChanged();
	CalculateScrollStride();
}

// Calculate the stride according to the title duration
void CScrollController::CalculateScrollStride(void)
{
	if (mOverlayEndTime != -1)
	{
		double scrollingLength = mImageWidth + mTitleSize.cx;
		mScrollStride = scrollingLength / (mOverlayEndTime - mOverlayStartTime);
	}
	else
	{
		mScrollStride = cDefaultStride;
	}
}

BOOL CScrollController::BeforeActualOverlay(void)
{
	BOOL pass = COverlayController::BeforeActualOverlay();
	if (pass)
	{
		// Calculate for the next progress
		long actualProgress = mOverlayCounter - mOverlayStartTime;
		mStartPos.x = long(mImageWidth - 1 - mScrollStride * actualProgress);
		if (mStartPos.x < 0)
		{
			// Moving out of the left side
			mValidTitleRect.left = -mStartPos.x;
			if (mValidTitleRect.left >= mTitleSize.cx)
			{
				mValidTitleRect.left = mTitleSize.cx - 1;
			}
			mStartPos.x = 0;
			if (mTitleSize.cx - mValidTitleRect.left <= mImageWidth)
			{
				mValidTitleRect.right = mTitleSize.cx - 1;
			}
			else
			{
				mValidTitleRect.right = mValidTitleRect.left + mImageWidth;
			}
		}
		else
		{
			// Moving in the image-width range
			mValidTitleRect.left = 0;
			long currentLength = mImageWidth - mStartPos.x;
			if (currentLength >= mTitleSize.cx)
			{
				mValidTitleRect.right = mTitleSize.cx - 1;
			}
			else
			{
				mValidTitleRect.right = currentLength;
			}
		}
		pass = (mValidTitleRect.right > mValidTitleRect.left);
	}
	return pass;
}

BOOL CScrollController::ActualOverlay(PBYTE inImage)
{
	if (mImageHeight > mTitleSize.cy && mTitleSize.cx > 0 && mTitleSize.cy > 0) 
	{
		// Image may be bottom-up, may be top-down.
		// Anyway retrieve the pointer which point to the top line
		PBYTE   pTopLine      = NULL;
		long    strideInBytes = 0;
		if (mIsBottomUpImage)
		{
			strideInBytes = -mImageWidthInBytes;
		    pTopLine      = inImage + mImageWidthInBytes * (mImageHeight - 1);	
		}
		else
		{
			strideInBytes = mImageWidthInBytes;
			pTopLine      = inImage;
		}
		
		PBYTE  pStartPos = pTopLine + mStartPos.y * strideInBytes + mStartPos.x * mImageBitCount / 8;
		for (DWORD dwY = 0; dwY < (DWORD)mTitleSize.cy; dwY++) 
		{
			PBYTE pbTitle = mTitleDIBBits + mDIBWidthInBytes * ((DWORD)mTitleSize.cy - dwY - 1);
			// Point to the valid start position of title DIB
			pbTitle += (mValidTitleRect.left >> 3);
			long  startLeft = mValidTitleRect.left % 8;
			long  endRight  = startLeft + mValidTitleRect.right - mValidTitleRect.left;
			for (long dwX = startLeft; dwX < endRight; dwX++) 
			{
				if ( !((0x80 >> (dwX & 7)) & pbTitle[dwX >> 3]) ) 
				{
					PBYTE pbPixel = mPixelConverter->NextNPixel(pStartPos, dwX - startLeft);
					if (mIsOverlayByCover)
					{
						mPixelConverter->ConvertByCover(pbPixel);
					}
					else
					{
						mPixelConverter->ConvertByReverse(pbPixel);
					}
				}
			}
			pStartPos += strideInBytes;
		}
	}
	return TRUE;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线日韩av片| 丁香网亚洲国际| 欧美日韩精品一区二区| 亚洲一区日韩精品中文字幕| 欧美性受xxxx黑人xyx性爽| 亚洲成人午夜影院| 欧美一区二区美女| 国产精品亚洲专一区二区三区| 久久亚洲影视婷婷| 93久久精品日日躁夜夜躁欧美| 樱桃国产成人精品视频| 欧美美女网站色| 精品一区二区在线观看| 国产欧美日韩三级| 色美美综合视频| 青青草精品视频| 国产欧美精品在线观看| 色综合久久综合网97色综合| 亚洲国产另类av| 久久嫩草精品久久久久| 91麻豆蜜桃一区二区三区| 五月综合激情日本mⅴ| 精品国产乱码久久久久久浪潮| 国产成人免费av在线| 亚洲午夜久久久久久久久久久| 日韩色视频在线观看| 成人免费毛片高清视频| 婷婷开心久久网| 久久九九全国免费| 欧美三级三级三级爽爽爽| 国产精品资源在线| 亚洲在线中文字幕| 国产三级一区二区| 在线观看免费亚洲| 国产精品一二二区| 五月激情六月综合| 国产精品美女一区二区三区| 在线电影一区二区三区| 不卡的电影网站| 激情久久久久久久久久久久久久久久| 亚洲视频在线观看三级| 日韩你懂的在线播放| 99久久婷婷国产| 国产在线国偷精品产拍免费yy| 夜夜嗨av一区二区三区中文字幕 | 国产成人精品aa毛片| 亚洲制服丝袜在线| 国产精品国产三级国产有无不卡| 日韩一级高清毛片| 在线精品视频免费播放| 成人做爰69片免费看网站| 秋霞国产午夜精品免费视频| 成人免费小视频| 久久亚洲二区三区| 欧美一级午夜免费电影| 欧美日韩精品一区二区三区蜜桃| 91麻豆精品一区二区三区| 成人一道本在线| 国产麻豆成人精品| 理论电影国产精品| 男人的天堂久久精品| 亚洲高清一区二区三区| 亚洲综合在线五月| 一级特黄大欧美久久久| 亚洲激情图片一区| 亚洲少妇中出一区| 综合久久一区二区三区| 国产精品午夜电影| 国产精品天天摸av网| 久久久久国产精品免费免费搜索| 精品国产麻豆免费人成网站| 日韩免费看的电影| 日韩午夜av一区| 日韩欧美激情四射| 欧美电影精品一区二区| 日韩欧美亚洲一区二区| 日韩精品一区二区三区四区视频| 91精品国产乱| 日韩欧美一二三四区| 精品国产不卡一区二区三区| 精品久久人人做人人爽| 日韩女优av电影在线观看| 欧美岛国在线观看| 久久这里都是精品| 国产亚洲一区二区三区在线观看| 久久精品视频免费| 亚洲国产岛国毛片在线| 亚洲欧美一区二区在线观看| 日韩美女啊v在线免费观看| 亚洲免费在线视频一区 二区| 亚洲美腿欧美偷拍| 亚洲成a人v欧美综合天堂下载| 亚洲成av人片一区二区梦乃| 日本女人一区二区三区| 久久超碰97中文字幕| 国产中文一区二区三区| 国产盗摄视频一区二区三区| 99久久精品一区| 欧美主播一区二区三区| 欧美一级久久久| 国产日韩欧美电影| 亚洲精品久久久久久国产精华液| 亚洲第一在线综合网站| 麻豆精品蜜桃视频网站| 丁香婷婷综合色啪| 色欧美片视频在线观看在线视频| 欧美日韩一区二区在线观看| 欧美一区二区啪啪| 国产欧美视频在线观看| 亚洲一区二区三区小说| 秋霞成人午夜伦在线观看| 九一久久久久久| 色悠悠亚洲一区二区| 欧美一卡二卡三卡| 国产精品电影一区二区| 日韩中文字幕av电影| 国产69精品久久777的优势| 一本大道av一区二区在线播放| 日韩一区二区中文字幕| 国产精品女上位| 蜜臀久久久99精品久久久久久| av爱爱亚洲一区| 日韩一二三四区| 亚洲欧美色一区| 国产一区二区不卡| 欧美三级视频在线| 国产精品国产三级国产三级人妇 | 成人免费一区二区三区在线观看 | 亚洲国产你懂的| 大陆成人av片| 69堂国产成人免费视频| 国产精品欧美一级免费| 久久国产尿小便嘘嘘尿| 在线亚洲免费视频| 国产亚洲欧美激情| 日韩精品1区2区3区| 91在线视频网址| 精品美女一区二区三区| 亚洲国产精品欧美一二99| 不卡av电影在线播放| 日韩免费观看高清完整版在线观看 | 成人白浆超碰人人人人| 欧美成人性福生活免费看| 一卡二卡三卡日韩欧美| 成人成人成人在线视频| 久久久国产精品麻豆| 免费一级欧美片在线观看| 欧美亚洲日本国产| 综合色中文字幕| www.成人在线| 国产精品毛片久久久久久| 国产东北露脸精品视频| 精品成人在线观看| 蜜乳av一区二区| 精品人伦一区二区色婷婷| 亚洲成av人片在www色猫咪| 欧美偷拍一区二区| 夜夜嗨av一区二区三区| 一本大道久久a久久综合婷婷 | 欧美xxxxx裸体时装秀| 日韩高清不卡在线| 欧美精品在线观看一区二区| 一区二区三区在线观看国产| 色妹子一区二区| 樱花影视一区二区| 欧美性色欧美a在线播放| 亚洲综合男人的天堂| 色www精品视频在线观看| 亚洲欧美影音先锋| 在线免费观看日本一区| 一区二区三区影院| 欧美体内she精视频| 午夜精品久久久久久久久| 91精品在线观看入口| 午夜精品久久久久久久 | 国产一区中文字幕| 欧美精品一区男女天堂| 韩国精品一区二区| 久久一日本道色综合| 国产ts人妖一区二区| 国产精品免费丝袜| 91视频xxxx| 天天色天天操综合| 日韩一卡二卡三卡四卡| 久久91精品国产91久久小草| 久久人人爽人人爽| 国产69精品久久久久毛片| 亚洲精品免费电影| 欧美日韩电影在线| 理论电影国产精品| 国产视频一区不卡| 一本到高清视频免费精品| 午夜私人影院久久久久| 日韩午夜精品视频| 国产成人精品一区二| 亚洲精品日韩一| 欧美一区二区三区日韩| 国产a视频精品免费观看| 亚洲免费观看高清在线观看| 91麻豆精品国产91久久久更新时间|