Exemple #1
0
void duLEDTimer::OnTimer(UINT nEventId)
{
	if (nEventId != m_nTimerID)
		return;
	
	if (!Plugin_IsVisible(this))
		return;
	
	TCHAR szTime[MAX_NAME];
	ZeroMemory(szTime, MAX_NAME *sizeof(TCHAR));
	
	_tstrtime(szTime);
	SetText(szTime);
	Plugin_Redraw(this, TRUE);
}
Exemple #2
0
LRESULT WINAPI duAnimation::OnWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	if (!Plugin_IsVisible(this))
		return 0;

	if (uMsg == WM_ANIMATION_TIMER)
	{
		if ((duAnimation *)wParam == this)
		{
			Plugin_Redraw(this, TRUE);
		}
	}

	return 0;
}
Exemple #3
0
void WINAPI duListBox::OnMouseMove(POINT pt)
{
	duRect rcListBox;
	Plugin_GetRect(this, &rcListBox);
	
	pt.x -= rcListBox.left;
	pt.y -= rcListBox.top;

	duPlugin *pScroll = GetPluginByName(m_szVertScroll);

	
	duRect rcItem;
	rcItem.SetRectEmpty();
	if(pScroll != NULL && Plugin_IsVisible(pScroll))
		rcItem.right = rcListBox.Width() - pScroll->GetPosWidth();
	else
		rcItem.right = rcListBox.Width();
	
	rcItem.OffsetRect(0, -m_nYOffset);
	
	int i;
	int nItemCount = GetItemCount();
	ListBoxItem *pItem = NULL;
	for (i = 0;i < nItemCount; i++)
	{
		rcItem.top = rcItem.bottom;
		rcItem.bottom = rcItem.top + m_nItemHeight;
		pItem = m_vtItem[i];
		
		if (rcItem.PtInRect(pt) && m_pHotItem != pItem)
		{
			if (pItem->fDisable)
			{
				m_pHotItem = NULL;
				Plugin_Redraw(this, TRUE);
			}
			else
			{
				m_pHotItem = pItem;
				if (m_pHotItem != m_pSelItem)
					FadeRedraw();
			}
			break;
		}
	}
}
Exemple #4
0
void duGifCtrl::OnTimer(UINT nEventId)
{
	if (nEventId != m_nTimerId)
		return;

	if (!Plugin_IsVisible(this))
		return;
	
	Plugin_KillTimer(this, m_nTimerId);
	duImage *pImage = (duImage *)GetResObj(m_szGifName, DU_RES_IMAGE);
	if (pImage == NULL)
		return;
	
	int nFrameCount = pImage->GetFrameCount();
	if (nFrameCount <= 1)
		return;
	
	int nFrameDelay = pImage->GetFrameDelay(m_nCurFrame);
	Plugin_SetTimer(this, m_nTimerId, nFrameDelay);
	Plugin_Redraw(this, TRUE);

	m_nCurFrame = (m_nCurFrame + 1) % nFrameCount;
}
Exemple #5
0
LRESULT WINAPI duListCtrl::OnWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	if (!Plugin_IsVisible(this))
	{
		m_fDispMouseWheel = FALSE;
		return 0;
	}

	if (uMsg == WM_LBUTTONDOWN)
	{
		POINT pointClient; 
		pointClient.x = GET_X_LPARAM(lParam);
		pointClient.y = GET_Y_LPARAM(lParam);

		duRect rcListCtrl;
		GetRect(&rcListCtrl);

		if (!rcListCtrl.PtInRect(pointClient))
		{
			m_fDispMouseWheel = FALSE;
			return 0;
		}

		m_fDispMouseWheel = TRUE;

		//pointClient.Offset(-rcListCtrl.left, -rcListCtrl.top);
		duScroll *pVertScroll = (duScroll *)GetPluginByName(m_szVertScroll);
		if (pVertScroll && pVertScroll->IsVisible())
		{
			duRect rcVertScroll;
			pVertScroll->GetRect(&rcVertScroll);

			if (rcVertScroll.PtInRect(pointClient))
			{
				m_fDispMouseWheel = FALSE;
				return 0;
			}
		}

		duScroll *pHorzScroll = (duScroll *)GetPluginByName(m_szHorzScroll);
		if (pHorzScroll && pHorzScroll->IsVisible())
		{
			duRect rcHorzScroll;
			pHorzScroll->GetRect(&rcHorzScroll);

			if (rcHorzScroll.PtInRect(pointClient))
			{
				m_fDispMouseWheel = FALSE;
				return 0;
			}
		}

		int nHeight = rcListCtrl.Height();
		int i;
		int nLineCount = GetLineCount();
		for (i = m_nFirstLine;i < nLineCount; i++)
		{
			duPlugin *pTemp = m_vtLines[i];
			if (pTemp)
			{
				duRect rc;
				pTemp->GetRect(&rc);

				if (rc.PtInRect(pointClient))
				{
					if (m_pSel != pTemp)
					{
						if (Plugin_IsValid(m_pSel))
						{
							m_pSel->SetState(DU_STATE_NORMAL);
							Plugin_Redraw(m_pSel, TRUE);
						}

						pTemp->SetState(DU_STATE_PRESS);
						m_pSel = pTemp;
						Plugin_Redraw(pTemp, TRUE);
					}	
					break;
				}

				if (rc.top >= rcListCtrl.bottom)
					break;
			}
		}
	}
	else if (uMsg == WM_MOUSEWHEEL)
	{
		POINT pt;
		pt.x = GET_X_LPARAM(lParam);
		pt.y = GET_Y_LPARAM(lParam);

		UINT fwKeys = (UINT)(short)LOWORD(wParam);
		int  zDelta = (int)(short)HIWORD(wParam);

		duScroll *pVertScrollBar = (duScroll *)GetPluginByName(m_szVertScroll);
		if (Plugin_IsValid(pVertScrollBar) && pVertScrollBar->IsVisible() && m_fDispMouseWheel)
			pVertScrollBar->OnMouseWheel(fwKeys, zDelta, pt);
	}
	else if (uMsg == WM_MOUSEMOVE)
	{
		POINT pointClient; 
		pointClient.x = GET_X_LPARAM(lParam);
		pointClient.y = GET_Y_LPARAM(lParam);

		duRect rcListCtrl;
		GetRect(&rcListCtrl);

		if (!rcListCtrl.PtInRect(pointClient))
		{
			if (Plugin_IsValid(m_pHot))
			{
				if (m_pHot != m_pSel)
				{
					m_pHot->SetState(DU_STATE_NORMAL);
					Plugin_Redraw(m_pHot, TRUE);
					m_pHot = NULL;
				}
			}

			return 0;
		}

		duScroll *pVertScroll = (duScroll *)GetPluginByName(m_szVertScroll);
		if (pVertScroll && pVertScroll->IsVisible())
		{
			duRect rcVertScroll;
			pVertScroll->GetRect(&rcVertScroll);

			if (rcVertScroll.PtInRect(pointClient))
			{
				if (Plugin_IsValid(m_pHot))
				{
					if (m_pHot != m_pSel)
					{
						m_pHot->SetState(DU_STATE_NORMAL);
						Plugin_Redraw(m_pHot, TRUE);
						m_pHot = NULL;
					}
				}

				return 0;
			}
		}

		duScroll *pHorzScroll = (duScroll *)GetPluginByName(m_szHorzScroll);
		if (pHorzScroll && pHorzScroll->IsVisible())
		{
			duRect rcHorzScroll;
			pHorzScroll->GetRect(&rcHorzScroll);

			if (rcHorzScroll.PtInRect(pointClient))
			{
				if (Plugin_IsValid(m_pHot))
				{
					if (m_pHot != m_pSel)
					{
						m_pHot->SetState(DU_STATE_NORMAL);
						Plugin_Redraw(m_pHot, TRUE);
						m_pHot = NULL;
					}
				}

				return 0;
			}
		}

		BOOL fNeedRedraw = FALSE;
		BOOL fMouseIn = FALSE;

		int nHeight = rcListCtrl.Height();
		int i;
		int nLineCount = GetLineCount();
		for (i = m_nFirstLine;i < nLineCount; i++)
		{
			duPlugin *pTemp = m_vtLines[i];
			if (pTemp)
			{
				duRect rc;
				pTemp->GetRect(&rc);

				if (rc.PtInRect(pointClient))
				{
					fMouseIn = TRUE;

					if (pTemp == m_pSel)
					{
						if (Plugin_IsValid(m_pHot))
						{
							if (m_pHot == m_pSel)
								break;

							m_pHot->SetState(DU_STATE_NORMAL);
							m_pHot = NULL;
							fNeedRedraw = TRUE;
						}
						
						m_pHot = NULL;
					}
					else
					{
						if (m_pHot != pTemp)
						{
							if (Plugin_IsValid(m_pHot))
							{
								if (m_pHot != m_pSel)
								{
									m_pHot->SetState(DU_STATE_NORMAL);
									m_pHot = NULL;
									fNeedRedraw = TRUE;
								}
							}

							pTemp->SetState(DU_STATE_OVER);
							m_pHot = pTemp;
							fNeedRedraw = TRUE;
						}
					}
					break;
				}

				if (rc.top >= rcListCtrl.bottom)
					break;
			}
		}

		if (!fMouseIn)
		{
			if (Plugin_IsValid(m_pHot))
			{
				if (m_pHot != m_pSel)
				{
					m_pHot->SetState(DU_STATE_NORMAL);
					m_pHot = NULL;
					fNeedRedraw = TRUE;
				}
			}
		}

		if (fNeedRedraw)
			Plugin_Redraw(this, TRUE);
	}

	return 0;
}