void CColorMatrixFrame::Notify(TNotifyUI& msg) { if(msg.sType == _T("valuechanged")) { CSliderUI* slider = dynamic_cast<CSliderUI*>(msg.pSender); float value = slider->GetValue(); float max = slider->GetMaxValue(); if(slider->GetName() == _T("Hue")) updateHue(value/max*2.0 - 1.0); else if(slider->GetName() == _T("Sat")) updateSat(value/max*2.0 - 1.0); else if(slider->GetName() == _T("Val")) updateBri(value/max*2.0 - 1.0); printf("value/max:%d/%d\n",slider->GetValue(),slider->GetMaxValue() ); } };
void ColorSkinWindow::Notify(TNotifyUI& msg) { if (_tcsicmp(msg.sType, _T("click")) == 0) { CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(m_PaintManager.FindControl(kTabControlName)); if (pTabControl != NULL) { if (pTabControl->GetCurSel() == 0) { if (_tcsstr(msg.pSender->GetName(), _T("colour_")) != 0) { CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName)); CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName)); CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName)); if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL)) { DWORD dwColor = msg.pSender->GetBkColor(); AdjustColorSliderR->SetValue(static_cast<BYTE>(GetRValue(dwColor))); AdjustColorSliderG->SetValue(static_cast<BYTE>(GetGValue(dwColor))); AdjustColorSliderB->SetValue(static_cast<BYTE>(GetBValue(dwColor))); main_frame_->SetBkColor(dwColor); } } } else if (pTabControl->GetCurSel() == 1) {} } } else if (_tcsicmp(msg.sType, _T("valuechanged")) == 0) { CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(m_PaintManager.FindControl(kTabControlName)); if (pTabControl != NULL) { if (pTabControl->GetCurSel() == 0) { CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName)); CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName)); CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName)); if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL)) { if ((_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderRControlName) == 0) || (_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderGControlName) == 0) || (_tcsicmp(msg.pSender->GetName(), kAdjustColorSliderBControlName) == 0)) { BYTE red = AdjustColorSliderR->GetValue(); BYTE green = AdjustColorSliderG->GetValue(); BYTE blue = AdjustColorSliderB->GetValue(); COLORREF crColor = RGB(red, green, blue); TCHAR szBuf[MAX_PATH] = {0}; #if defined(UNDER_CE) _stprintf(szBuf, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor)); #else _stprintf_s(szBuf, MAX_PATH - 1, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor)); #endif LPTSTR pstr = NULL; DWORD dwColor = _tcstoul(szBuf, &pstr, 16); main_frame_->SetBkColor(dwColor); } } } else if (pTabControl->GetCurSel() == 1) {} } } else if (_tcsicmp(msg.sType, _T("selectchanged")) == 0) { CTabLayoutUI* pTabControl = static_cast<CTabLayoutUI*>(m_PaintManager.FindControl(kTabControlName)); if (_tcsicmp(msg.pSender->GetName(), kAdjustColorControlName) == 0) { if (pTabControl && pTabControl->GetCurSel() != 0) { pTabControl->SelectItem(0); } } else if (_tcsicmp(msg.pSender->GetName(), kAdjustBkControlName) == 0) { if (pTabControl && pTabControl->GetCurSel() != 1) { pTabControl->SelectItem(1); } } } }
void CDuiFrameWnd::OnClick( TNotifyUI& msg ) { if( msg.pSender->GetName() == _T("btnPlaylistShow") ) { ShowPlaylist(true); } else if( msg.pSender->GetName() == _T("btnPlaylistHide") ) { ShowPlaylist(false); } else if( msg.pSender->GetName() == _T("btnFastBackward") ) { m_cAVPlayer.SeekBackward(); ::PostMessage(*this, WM_USER_POS_CHANGED, 0, m_cAVPlayer.GetPos()); } else if( msg.pSender->GetName() == _T("btnFastForward") ) { m_cAVPlayer.SeekForward(); ::PostMessage(*this, WM_USER_POS_CHANGED, 0, m_cAVPlayer.GetPos()); } else if( msg.pSender->GetName() == _T("btnPrevious") ) { Play(GetNextPath(false)); } else if( msg.pSender->GetName() == _T("btnNext") ) { Play(GetNextPath(true)); } else if( msg.pSender->GetName() == _T("btnPlay") ) { Play(true); } else if( msg.pSender->GetName() == _T("btnPause") ) { Play(false); } else if( msg.pSender->GetName() == _T("btnStop") ) { Stop(); } else if( msg.pSender->GetName() == _T("btnOpen") || msg.pSender->GetName() == _T("btnOpenMini") ) { OpenFileDialog(); } else if( msg.pSender->GetName() == _T("btnRefresh") ) { CEditUI* pUI = static_cast<CEditUI*>(m_PaintManager.FindControl(_T("editURL"))); Play(pUI->GetText()); } else if( msg.pSender->GetName() == _T("btnScreenFull") ) { FullScreen(true); } else if( msg.pSender->GetName() == _T("btnScreenNormal") ) { FullScreen(false); } else if( msg.pSender->GetName() == _T("btnVolume") ) { m_cAVPlayer.Volume(0); m_PaintManager.FindControl(_T("btnVolumeZero"))->SetVisible(true); msg.pSender->SetVisible(false); } else if( msg.pSender->GetName() == _T("btnVolumeZero") ) { CSliderUI* pUI = static_cast<CSliderUI*>(m_PaintManager.FindControl(_T("sliderVol"))); m_cAVPlayer.Volume(pUI->GetValue()); m_PaintManager.FindControl(_T("btnVolume"))->SetVisible(true); msg.pSender->SetVisible(false); } else if( msg.pSender->GetName() == _T("btnPlayMode") ) { CMenuWnd *pMenu = new CMenuWnd(_T("menu.xml")); POINT pt = {msg.ptMouse.x, msg.ptMouse.y}; CDuiRect rc = msg.pSender->GetPos(); pt.x = rc.left; pt.y = rc.bottom; pMenu->Init(&m_PaintManager, pt); pMenu->ShowWindow(TRUE); } else if (msg.pSender->GetName() == _T("btnAdd")) { OpenFileDialog(); } else if (msg.pSender->GetName() == _T("btnDelete")) { DeleteFileItem(); } else if (msg.pSender->GetTag() == U_TAG_PLAYLIST) { CDuiString strPath = msg.pSender->GetName(); Play(strPath.GetData()); } __super::OnClick(msg); }
void CChangeBackgroudWnd::Notify(TNotifyUI& msg) { if (msg.sType == _T("click")) { if (msg.pSender == m_pOptSwitch) { if ( m_pOptSwitch->IsSelected()) { m_pSlider->SetVisible(false); } else { m_pSlider->SetVisible(true); } } if (msg.pSender == m_PaintManager.FindControl(_T("bnt_bgimage"))) { m_pTab->SelectItem(0); } else if (msg.pSender == m_PaintManager.FindControl(_T("btn_color"))) { m_pTab->SelectItem(1); } else if (_tcsstr(msg.pSender->GetName(), _T("colour_")) != 0) { CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName)); CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName)); CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName)); if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL)) { DWORD dwColor = msg.pSender->GetBkColor(); AdjustColorSliderR->SetValue(static_cast<BYTE>(GetRValue(dwColor))); AdjustColorSliderG->SetValue(static_cast<BYTE>(GetGValue(dwColor))); AdjustColorSliderB->SetValue(static_cast<BYTE>(GetBValue(dwColor))); static_cast<CPlayerWnd*>(m_pParent)->SetBkColor(dwColor); } } } else if (msg.sType == _T("valuechanged")) { CSliderUI* AdjustColorSliderR = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderRControlName)); CSliderUI* AdjustColorSliderG = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderGControlName)); CSliderUI* AdjustColorSliderB = static_cast<CSliderUI*>(m_PaintManager.FindControl(kAdjustColorSliderBControlName)); if ((AdjustColorSliderR != NULL) && (AdjustColorSliderG != NULL) && (AdjustColorSliderB != NULL)) { BYTE red = AdjustColorSliderR->GetValue(); BYTE green = AdjustColorSliderG->GetValue(); BYTE blue = AdjustColorSliderB->GetValue(); COLORREF crColor = RGB(red, green, blue); TCHAR szBuf[MAX_PATH] = {0}; #if defined(UNDER_CE) _stprintf(szBuf, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor)); #else _stprintf_s(szBuf, MAX_PATH - 1, _T("FF%02X%02X%02X"), GetRValue(crColor), GetGValue(crColor), GetBValue(crColor)); #endif LPTSTR pstr = NULL; DWORD dwColor = _tcstoul(szBuf, &pstr, 16); m_pParent->SetBkColor(dwColor); } } }
int main() { Screen::Instance().Open(800, 600, false); //Entity Image * alienImg = ResourceManager::Instance().LoadImage("data/alien.png"); alienImg->SetMidHandle(); CEntity entity(alienImg); entity.GetSprite()->SetPosition(350, 340); CEntity entity2(alienImg); entity2.GetSprite()->SetPosition(700, 300); //Windows Image * backgroundImg = ResourceManager::Instance().LoadImage("data/background.jpg"); Image * windowImg = ResourceManager::Instance().LoadImage("data/window4.png"); //button Imgs Image * buttonImgDefault = ResourceManager::Instance().LoadImage("data/button_default.png"); buttonImgDefault->SetMidHandle(); Image * buttonImgOnClick = ResourceManager::Instance().LoadImage("data/button_onclick.png"); buttonImgOnClick->SetMidHandle(); Image * buttonImgInactive = ResourceManager::Instance().LoadImage("data/button_inactive.png"); buttonImgInactive->SetMidHandle(); //checkbox Imgs Image * checkboxImgDefault = ResourceManager::Instance().LoadImage( "data/checkbox_disabled.png"); checkboxImgDefault->SetMidHandle(); Image * checkboxImgOnClick = ResourceManager::Instance().LoadImage( "data/checkbox_enabled.png"); checkboxImgOnClick->SetMidHandle(); //slider Imgs Image * sliderBallImg = ResourceManager::Instance().LoadImage("data/slider_ball.png"); sliderBallImg->SetHandle( static_cast<float>(sliderBallImg->GetWidth() * sliderBallImg->GetHFrames() / 2), static_cast<float>(sliderBallImg->GetHeight() * sliderBallImg->GetVFrames())); Image * sliderBarImg = ResourceManager::Instance().LoadImage("data/slider_bar.png"); sliderBarImg->SetHandle(0, static_cast<float>(sliderBarImg->GetHeight() * sliderBarImg->GetVFrames())); Image * sliderLeftDefaultImg = ResourceManager::Instance().LoadImage( "data/slider_left_default.png"); sliderLeftDefaultImg->SetMidHandle(); Image * sliderRightDefaultImg = ResourceManager::Instance().LoadImage( "data/slider_right_default.png"); sliderRightDefaultImg->SetMidHandle(); Image * sliderLeftOnClickImg = ResourceManager::Instance().LoadImage( "data/slider_left_onclick.png"); sliderLeftOnClickImg->SetMidHandle(); Image * sliderRightOnClickImg = ResourceManager::Instance().LoadImage( "data/slider_right_onclick.png"); sliderRightOnClickImg->SetMidHandle(); //Input & Control managers CInputManager * inputManager = &CInputManager::Instance(); assert(inputManager != nullptr); CControlManagerUI controlManager; controlManager.Init(); String str; //Controls CWindowUI background; background.Init(0, 0, backgroundImg); background.SetId(0); controlManager.AddControl(&background); CWindowUI windowSlider; windowSlider.Init(100, 0, windowImg); windowSlider.SetId(1); controlManager.AddControl(&windowSlider); CButtonUI button; button.Init(350, 80, buttonImgDefault, buttonImgOnClick, buttonImgInactive); button.SetId(0); str = "Inactive"; button.SetText(str); controlManager.AddControl(&button); button.SetCurrentState(EGUICS_INACTIVE); CButtonUI button2; button2.Init(350, 140, buttonImgDefault, buttonImgOnClick, buttonImgInactive); button2.SetId(1); str = "Click"; button2.SetText(str); controlManager.AddControl(&button2); CSliderUI slider; slider.Init(200, 400, 0, 10, sliderBarImg, sliderBallImg, sliderLeftDefaultImg, sliderLeftOnClickImg, sliderRightDefaultImg, sliderRightOnClickImg); slider.SetId(0); controlManager.AddControl(&slider); CCheckBoxUI checkbox; checkbox.Init(300, 220, checkboxImgDefault, checkboxImgOnClick); checkbox.SetId(0); CCheckBoxUI checkbox2; checkbox2.Init(340, 220, checkboxImgDefault, checkboxImgOnClick); checkbox2.SetId(1); CCheckBoxUI checkbox3; checkbox3.Init(380, 220, checkboxImgDefault, checkboxImgOnClick); checkbox3.SetId(2); CCheckBoxGroup cbGroup; cbGroup.Init(); cbGroup.AddControl(&checkbox); cbGroup.AddControl(&checkbox2); cbGroup.AddControl(&checkbox3); controlManager.AddControl(&cbGroup); cbGroup.AddEventListener(&entity); checkbox.SetCurrentState(EGUICS_ONCLICK); button2.AddEventListener(&entity); slider.AddEventListener(&entity); entity.GetSprite()->SetColor(entity.GetSprite()->GetRed(), entity.GetSprite()->GetGreen(), entity.GetSprite()->GetBlue(), 0); /*entity.Register(EEC_MOUSE, EME_LMB_PRESS); entity.Register(EEC_MOUSE, EME_LMB_RELEASE); entity.Register(EEC_MOUSE, EME_LMB_CLICK); entity.Register(EEC_MOUSE, EME_RMB_PRESS); entity.Register(EEC_KEYBOARD, EKE_SPACE);*/ entity2.Register(EEC_MOUSE, EME_LMB_DRAG); Renderer::Instance().SetBlendMode(Renderer::BlendMode::ALPHA); while (Screen::Instance().IsOpened() && !Screen::Instance().KeyPressed(GLFW_KEY_ESC)) { Renderer::Instance().Clear(); inputManager->Update(); controlManager.Update(); controlManager.Render(); entity.GetSprite()->Update(Screen::Instance().ElapsedTime()); entity.GetSprite()->Render(); entity2.GetSprite()->Update(Screen::Instance().ElapsedTime()); entity2.GetSprite()->Render(); Screen::Instance().Refresh(); } ResourceManager::Instance().FreeResources(); }