void CSlider::onTouchCancelled(CCTouch *pTouch, float fDuration) { if( m_bDrag ) { changeValueAndExecuteEvent(valueFromPoint(convertToNodeSpace(pTouch->getLocation())), true); } }
void CProgressBar::setDirection(CProgressBarDirection eDirection) { if( m_eDirection != eDirection ) { m_eDirection = eDirection; changeValueAndExecuteEvent(m_nValue, false); } }
void CProgressBar::setContentSize(const CCSize& tSize) { CCNodeRGBA::setContentSize(tSize); m_tCenterPoint.x = m_obContentSize.width / 2; m_tCenterPoint.y = m_obContentSize.height / 2; if( m_pProgressSprite ) { changeValueAndExecuteEvent(m_nValue, false); } CC_WIDGET_UPDATE_BACKGROUND_POS; }
void CProgressBar::setValue(int nValue) { changeValueAndExecuteEvent(nValue, true); if(getLabel()->isVisible()){ char buf[128] = {0}; switch (m_eLabelFormat) { case kRatio: sprintf(buf,"%d/%d",nValue,m_nMaxValue); break; case kPercent: sprintf(buf,"%.1f%%",nValue/m_nMaxValue); break; } getLabel()->setString(buf); } }
CWidgetTouchModel CSlider::onTouchBegan(CCTouch *pTouch) { if (!m_bDragable) { return eWidgetTouchNone; } m_bDrag = m_pSlider->boundingBox().containsPoint( convertToNodeSpace(pTouch->getLocation()) ); if( m_bDrag ) { changeValueAndExecuteEvent(valueFromPoint(convertToNodeSpace(pTouch->getLocation())), true); return eWidgetTouchSustained; } return eWidgetTouchNone; }
void CProgressBar::setProgressSpriteFrame(CCSpriteFrame* pFrame) { if( pFrame ) { if( m_pProgressSprite ) { m_pProgressSprite->setDisplayFrame(pFrame); m_tProgressSize = m_pProgressSprite->getContentSize(); setContentSize(m_tProgressSize); } else { m_pProgressSprite = CCSprite::createWithSpriteFrame(pFrame); m_pProgressSprite->setZOrder(1); m_tProgressSize = m_pProgressSprite->getContentSize(); setContentSize(m_tProgressSize); addChild(m_pProgressSprite); } changeValueAndExecuteEvent(m_nValue, false); } }
void CProgressBar::onProgressing(float dt) { if( isProgressEnded() ) { stoppedProgressing(); executeProgressEndedHandler(this); } else { if( m_bFirstTick ) { m_bFirstTick = false; m_fLapsed = 0.0f; } else { m_fLapsed += CCDirector::sharedDirector()->getDeltaTime(); } float fTime = MAX(0, MIN(1, m_fLapsed / MAX(m_fDuration, FLT_EPSILON))); changeValueAndExecuteEvent(m_nFromValue + (m_nToValue - m_nFromValue) * fTime, true); } }
void CProgressBar::setProgressTexture(CCTexture2D* pTexture) { if( m_pProgressSprite ) { m_pProgressSprite->setTexture(pTexture); CCRect tRect = CCRectZero; tRect.size = pTexture->getContentSize(); m_pProgressSprite->setTextureRect(tRect); m_tProgressSize = pTexture->getContentSize(); setContentSize(m_tProgressSize); } else { m_pProgressSprite = CCSprite::createWithTexture(pTexture); m_pProgressSprite->setZOrder(1); m_tProgressSize = m_pProgressSprite->getContentSize(); setContentSize(m_tProgressSize); addChild(m_pProgressSprite); } changeValueAndExecuteEvent(m_nValue, false); }
void CProgressBar::startProgressFromTo(int nFromValue, int nToValue, float fDuration) { changeValueAndExecuteEvent(nFromValue, true); startProgress(nToValue, fDuration); }
void CProgressBar::setValue(int nValue) { changeValueAndExecuteEvent(nValue, true); }