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

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

?? timelinedlg.cpp

?? < VC++視頻音頻開發>> 這本書的源碼
?? CPP
字號:
// TimelineDlg.cpp : implementation file
//

#include "stdafx.h"
#include "XvidQuantsParser.h"
#include "TimelineDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CTimelineDlg dialog


CTimelineDlg::CTimelineDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTimelineDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTimelineDlg)
	m_left = 0;
	m_right = 0;
	m_maxql = 0;
	m_maxqr = 0;
	m_minql = 0;
	m_minqr = 0;
	m_maxfsl = 0;
	m_maxfsr = 0;
	m_minfsl = 0;
	m_minfsr = 0;
	//}}AFX_DATA_INIT

	qarray = NULL;
}

void CTimelineDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTimelineDlg)
	DDX_Control(pDX, IDC_COMBO_MAXQUANT, m_maxquant);
	DDX_Control(pDX, IDC_COMBO_SCALE, m_scale);
	DDX_Control(pDX, IDC_SCROLL_QUANTS, m_scroll);
	DDX_Control(pDX, IDC_GRAPH_TIMELINE, m_graph);
	DDX_Text(pDX, IDC_EDIT_LEFT, m_left);
	DDX_Text(pDX, IDC_EDIT_RIGHT, m_right);
	DDX_Text(pDX, IDC_EDIT_MAXQL, m_maxql);
	DDX_Text(pDX, IDC_EDIT_MAXQR, m_maxqr);
	DDX_Text(pDX, IDC_EDIT_MINQL, m_minql);
	DDX_Text(pDX, IDC_EDIT_MINQR, m_minqr);
	DDX_Text(pDX, IDC_EDIT_MAXFSL, m_maxfsl);
	DDX_Text(pDX, IDC_EDIT_MAXFSR, m_maxfsr);
	DDX_Text(pDX, IDC_EDIT_MINFSL, m_minfsl);
	DDX_Text(pDX, IDC_EDIT_MINFSR, m_minfsr);
	DDX_Control(pDX, IDC_GRAPH_FRAMESIZE, m_graphfs);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CTimelineDlg, CDialog)
	//{{AFX_MSG_MAP(CTimelineDlg)
	ON_WM_HSCROLL()
	ON_CBN_SELCHANGE(IDC_COMBO_SCALE, OnSelchangeComboScale)
	ON_CBN_SELCHANGE(IDC_COMBO_MAXQUANT, OnSelchangeComboMaxquant)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTimelineDlg message handlers

//----------------------------------------------------------------------------------------------
void CTimelineDlg::Init(CXvid::QUANTS *quants, int nframes, int maxq, int maxfs)
{
	nelem	= nframes;
	qarray	= quants;
	qmax	= maxq;
	fsmax	= maxfs;
}

//----------------------------------------------------------------------------------------------
BOOL CTimelineDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	scaleIsSet	= false;
	maxIsSet	= false;

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::OnSelchangeComboScale() 
{
	scaleIsSet = true;
	CString selected;

	UpdateData(TRUE);
	m_scale.GetLBText(m_scale.GetCurSel(), selected);
	scale = atoi(selected);
	InitScroll(0, nelem-scale, m_left, (int)(nelem/1400), (int)(nelem/140));
	m_right = m_left + scale;
	if (scaleIsSet && maxIsSet)
	{
		InitGraph(scale, maxquant);
		DrawTimeline(m_left);
	}
	UpdateData(FALSE);
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::OnSelchangeComboMaxquant() 
{
	maxIsSet = true;
	CString selected;

	UpdateData(TRUE);
	m_maxquant.GetLBText(m_maxquant.GetCurSel(), selected);
	if (selected == "Auto") maxquant = qmax;
	else maxquant = atoi(selected);
	if (scaleIsSet && maxIsSet)
	{
		InitGraph(scale, maxquant);
		DrawTimeline(m_left);
	}
	UpdateData(FALSE);
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::InitGraph(int s, int mq)
{
	m_graph.SetScale(0, 0, s, mq-1);
	m_graphfs.SetScale(0, 0, s, fsmax);
	m_minfsl = 0;
	m_minfsr = 0;
	m_maxfsl = fsmax;
	m_maxfsr = fsmax;
	m_minql  = 2;
	m_minqr  = 2;
	m_maxql  = maxquant;
	m_maxqr  = maxquant;

	UpdateData(FALSE);
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::InitScroll(int minu, int maxu, int posu, int smallc, int largec)
{
	min=0;max=10000;

	umin = minu;
	umax = maxu;
	upos = posu;

	pos		= (int)(min+(max-min)*(upos-umin)/(umax-umin));
	schange = (int)((max-min)*(smallc)/(umax-umin));
	lchange	= (int)((max-min)*(largec)/(umax-umin));

	m_scroll.SetScrollRange(min, max);
	m_scroll.SetScrollPos(pos);
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	int pos = pScrollBar->GetScrollPos();

	if (scaleIsSet && maxIsSet)
	{
		switch (nSBCode)
		{
			case SB_LINELEFT:		pos -= schange;break;
			case SB_PAGELEFT:		pos -= lchange;break;

			case SB_LINERIGHT:		pos += schange;break;
			case SB_PAGERIGHT:		pos += lchange;break;

			case SB_THUMBTRACK:		pos=nPos;
			case SB_THUMBPOSITION:	pos=nPos;
		}
		if (pos>max) pos = max;
		if (pos<min) pos = min;

		upos = umin + (umax-umin)*(double)((pos-min)/(max-min));

		pScrollBar->SetScrollPos(pos);
		m_left = (int)(pos*(umax/max));
		m_right= m_left + scale;

		DrawTimeline(m_left);
		UpdateData(FALSE);
	}
	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::DrawTimeline(int uscrollpos)
{
	int sp = uscrollpos;

	m_graph.Clear();
	m_graphfs.Clear();

	//Gray lines for making scaling more "visual"
	m_graph.SetForeColor(RGB(175,175,175));
	for (int j=1; j<maxquant; j++)
	{
		m_graph.DrawLine(1,j,scale-1,j);
	}

	for (int i=sp; i<sp+scale; i++)
	{
		if (i < nelem)
		{
			if (qarray[i].isIFrame)
			{
				m_graph.SetForeColor(RGB(0,0,255));	//Blue (I-Frames)
				m_graphfs.SetForeColor(RGB(255,0,0));
			}
			else
			{
				m_graphfs.SetForeColor(RGB(0,0,255));
				SetColor(qarray[i].qvalue);
			}
			m_graph.DrawLine(i-sp, 0, i-sp, qarray[i].qvalue-1);
			m_graphfs.DrawLine(i-sp, 0, i-sp, qarray[i].framesize);
		}
	}
}

//----------------------------------------------------------------------------------------------
void CTimelineDlg::SetColor(int qvalue)
{

	if (qvalue == 2)
	{
		m_graph.SetForeColor(RGB(0,255,0));		//Light green	(Q:2);
	}

	if (qvalue > 2 && qvalue < 6)
	{
		m_graph.SetForeColor(RGB(0,127,0));		//Darker green	(Q:3-Q:5)
	}

	if (qvalue >= 6 && qvalue <10)
	{
		m_graph.SetForeColor(RGB(255,255,0));	//Yellow		(Q:6-Q:9)
	}
	
	if (qvalue >= 10)
	{
		m_graph.SetForeColor(RGB(255,0,0));		//Red			(Q:10+)
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美一区二区三区综合| 午夜精品视频在线观看| 亚洲一区二区av在线| 久久国产成人午夜av影院| 国产98色在线|日韩| 日韩一级完整毛片| 一区二区三区在线观看网站| 国产大陆精品国产| 欧美一区二区高清| 亚洲国产精品人人做人人爽| 成人免费毛片a| 久久伊人蜜桃av一区二区| 洋洋成人永久网站入口| 国产白丝精品91爽爽久久| 91精品欧美久久久久久动漫 | 91精品欧美综合在线观看最新 | 久久久久久久久伊人| 偷窥少妇高潮呻吟av久久免费| 波多野洁衣一区| 国产亚洲精品福利| 精品一区二区在线观看| 91精品国产综合久久久久久久| 亚洲国产中文字幕| 91九色最新地址| 亚洲免费观看高清完整版在线观看熊 | 国产精品一区专区| 精品国产精品网麻豆系列| 男女激情视频一区| 日韩精品一区二区在线| 美女在线观看视频一区二区| 91精品综合久久久久久| 免费观看在线综合色| 91精品一区二区三区久久久久久 | 国产精品一区在线| 久久久久久久久久美女| 韩国一区二区三区| 国产欧美日韩在线| 成人看片黄a免费看在线| 欧美a级一区二区| 欧美电影精品一区二区| 狠狠网亚洲精品| 国产日产欧美一区二区三区| 国产99久久久国产精品免费看| 国产欧美日韩视频在线观看| 成人午夜电影小说| 亚洲欧美日韩中文字幕一区二区三区| 99国内精品久久| 亚洲在线视频一区| 日韩欧美123| 国产mv日韩mv欧美| 亚洲精品老司机| 欧美一区二区在线播放| 国产真实乱对白精彩久久| 亚洲国产精品精华液ab| 一本色道久久综合亚洲aⅴ蜜桃| 香蕉成人啪国产精品视频综合网| 日韩小视频在线观看专区| 国产精品资源网站| 亚洲精品免费电影| 精品日韩成人av| av亚洲产国偷v产偷v自拍| 亚洲成av人片在线观看无码| 日韩精品一区二区三区在线播放| 成年人网站91| 日韩高清不卡一区二区三区| 国产网站一区二区三区| 91福利在线免费观看| 久久精品国产99国产| 亚洲欧美日韩在线| 日韩视频免费观看高清完整版在线观看 | 日本精品视频一区二区| 裸体歌舞表演一区二区| 日韩伦理av电影| 日韩女优制服丝袜电影| 色婷婷久久久综合中文字幕| 久久精品国产成人一区二区三区 | 国产欧美va欧美不卡在线| 色老头久久综合| 国内精品久久久久影院一蜜桃| 亚洲三级免费观看| 精品久久久久久综合日本欧美 | 亚洲精品久久嫩草网站秘色| 精品国精品自拍自在线| 91久久久免费一区二区| 国产成人免费视频网站| 日本vs亚洲vs韩国一区三区二区| 国产精品国产三级国产普通话99| 正在播放亚洲一区| 色香蕉久久蜜桃| 91精品国产综合久久婷婷香蕉 | 欧美日韩成人综合天天影院 | 欧美另类z0zxhd电影| 暴力调教一区二区三区| 国产在线视视频有精品| 日韩高清一区二区| 亚洲在线免费播放| 亚洲视频香蕉人妖| 国产精品污网站| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美日韩成人综合| 欧美性大战久久久| 色婷婷精品久久二区二区蜜臀av | 国产精品一二三四| 久久99精品国产麻豆婷婷| 午夜精品aaa| 亚洲成人777| 亚洲午夜久久久久久久久电影网| 国产精品成人网| 国产精品动漫网站| 国产精品狼人久久影院观看方式| 久久午夜色播影院免费高清| 精品精品国产高清一毛片一天堂| 欧美一区二区三区四区久久| 欧美人狂配大交3d怪物一区| 在线影视一区二区三区| 日本高清不卡视频| 精品va天堂亚洲国产| 日韩写真欧美这视频| 日韩一级欧美一级| 欧美xxxxx牲另类人与| 精品国产乱码久久久久久夜甘婷婷 | 国产精品久久网站| 国产精品你懂的在线| 日韩一区中文字幕| 亚洲黄一区二区三区| 亚洲综合久久久久| 午夜电影网亚洲视频| 美日韩黄色大片| 国产麻豆精品久久一二三| 黄网站免费久久| 成人免费视频国产在线观看| 99国内精品久久| 欧美日韩国产另类不卡| 欧美大片一区二区三区| 国产亚洲一区二区三区在线观看| 亚洲国产精品激情在线观看| 亚洲另类春色校园小说| 日韩成人伦理电影在线观看| 激情文学综合丁香| 成人国产免费视频| 欧美影视一区在线| 欧美电视剧在线看免费| 国产精品免费观看视频| 一区二区三区四区精品在线视频| 丝袜美腿成人在线| 国产乱码精品1区2区3区| 色综合天天做天天爱| 欧美一区日本一区韩国一区| 国产精品系列在线| 日韩黄色免费网站| 成人免费不卡视频| 67194成人在线观看| 欧美激情资源网| 首页国产欧美久久| 成人午夜视频网站| 欧美精品777| 国产精品久久久久久福利一牛影视| 亚洲一区二区av在线| 国产91丝袜在线18| 制服丝袜一区二区三区| 国产精品久久久久久久久免费樱桃| 亚洲一区二区在线观看视频 | 极品美女销魂一区二区三区免费| 9l国产精品久久久久麻豆| 欧美一级高清大全免费观看| 国产精品久久久久久久久免费丝袜| 午夜一区二区三区在线观看| 成人永久aaa| 日韩精品一区二区三区在线| 夜夜操天天操亚洲| 成人免费高清视频| 亚洲成人在线网站| 国产成人在线色| 日韩三级免费观看| 亚洲一级二级在线| 99免费精品在线观看| 26uuu色噜噜精品一区| 调教+趴+乳夹+国产+精品| www.亚洲色图.com| 26uuu久久天堂性欧美| 日韩不卡免费视频| 色88888久久久久久影院野外 | 一个色在线综合| www.成人在线| 国产日产精品一区| 国产在线视视频有精品| 精品日韩99亚洲| 麻豆国产精品一区二区三区| 欧美蜜桃一区二区三区| 亚洲高清一区二区三区| 色婷婷久久久综合中文字幕 | 中文字幕巨乱亚洲| 狠狠色狠狠色综合| 日韩精品一区二| 六月丁香综合在线视频| 欧美一区二区三区四区五区| 日韩电影网1区2区| 欧美高清性hdvideosex| 日日摸夜夜添夜夜添国产精品| 欧美丝袜自拍制服另类|