void LinkButton::paintEvent(QPaintEvent *e) { Painter p(this); auto &font = (isOver() ? _st.overFont : _st.font); auto &pen = (isOver() ? _st.overColor : _st.color); p.setFont(font); p.setPen(pen); if (_textWidth > width()) { p.drawText(0, font->ascent, font->elided(_text, width())); } else { p.drawText(0, font->ascent, _text); } }
void FlatButton::paintEvent(QPaintEvent *e) { QPainter p(this); QRect r(0, height() - _st.height, width(), _st.height); p.fillRect(r, isOver() ? _st.overBgColor : _st.bgColor); paintRipple(p, 0, 0, getms()); p.setFont(isOver() ? _st.overFont : _st.font); p.setRenderHint(QPainter::TextAntialiasing); p.setPen(isOver() ? _st.overColor : _st.color); r.setTop(_st.textTop); p.drawText(r, _text, style::al_top); }
//============================================================================== Drawable* DrawableButton::getCurrentImage() const noexcept { if (isDown()) return getDownImage(); if (isOver()) return getOverImage(); return getNormalImage(); }
void EmojiButton::onStateChanged(State was, StateChangeSource source) { RippleButton::onStateChanged(was, source); auto wasOver = static_cast<bool>(was & StateFlag::Over); if (isOver() != wasOver) { update(); } }
void Monster::fire() { if(isDie() || isOver()) return; Weapon* w = Weapon::create(this); GameManager::getInstance()->monsterLayer->addChild(w, 50); }
void EmojiButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); p.fillRect(e->rect(), st::historyComposeAreaBg); paintRipple(p, _st.rippleAreaPosition.x(), _st.rippleAreaPosition.y(), ms); auto loading = a_loading.current(ms, _loading ? 1 : 0); p.setOpacity(1 - loading); auto over = isOver(); auto icon = &(over ? _st.iconOver : _st.icon); icon->paint(p, _st.iconPosition, width()); p.setOpacity(1.); auto pen = (over ? st::historyEmojiCircleFgOver : st::historyEmojiCircleFg)->p; pen.setWidth(st::historyEmojiCircleLine); pen.setCapStyle(Qt::RoundCap); p.setPen(pen); p.setBrush(Qt::NoBrush); PainterHighQualityEnabler hq(p); QRect inner(QPoint((width() - st::historyEmojiCircle.width()) / 2, st::historyEmojiCircleTop), st::historyEmojiCircle); if (loading > 0) { int32 full = FullArcLength; int32 start = qRound(full * float64(ms % st::historyEmojiCirclePeriod) / st::historyEmojiCirclePeriod), part = qRound(loading * full / st::historyEmojiCirclePart); p.drawArc(inner, start, full - part); } else { p.drawEllipse(inner); } }
void Button::mouseUp (const MouseEvent& e) { const bool wasDown = isDown(); updateState (isMouseOver(), false); if (wasDown && isOver() && ! triggerOnMouseDown) internalClickCallback (e.mods); }
/** * The new time must be a multiple of 30 minutes, and more than 0. * Calling this on a finished mission has no effect. * @param minutes The minutes until the next UFO wave will spawn. */ void AlienMission::setWaveCountdown(unsigned minutes) { assert(minutes != 0 && minutes % 30 == 0); if (isOver()) { return; } _spawnCountdown = minutes; }
//============================================================================== const Drawable* DrawablePad::getCurrentImage() const throw() { if (isDown()) return getDownImage(); if (isOver()) return getOverImage(); return getNormalImage(); }
//============================================================================== void Button::paint (Graphics& g) { if (needsToRelease && isEnabled()) { needsToRelease = false; needsRepainting = true; } paintButton (g, isOver(), isDown()); }
Image ImageButton::getCurrentImage() const { if (isDown() || getToggleState()) return getDownImage(); if (isOver()) return getOverImage(); return getNormalImage(); }
void MembersAddButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); auto over = isOver(); auto down = isDown(); ((over || down) ? _st.iconBelowOver : _st.iconBelow).paint(p, _st.iconPosition, width()); paintRipple(p, _st.rippleAreaPosition.x(), _st.rippleAreaPosition.y(), ms); ((over || down) ? _st.iconAboveOver : _st.iconAbove).paint(p, _st.iconPosition, width()); }
void GameScreen::setVictor(Color victor) { m_victor = victor; if(isOver()) { int dx = m_victorySign.GetImage()->GetWidth(); int dy = m_victorySign.GetImage()->GetHeight()/2; int y = ((int) victor) * dy; m_victorySign.SetSubRect(sf::IntRect(0,y,dx,y+dy)); } }
void Board::placeFadedChecker(int x, int y, Color& color) { if (!isOver(x, y) || !columnIsNotFull(x)) { checkers.dontDrawPlacingChecker(); return; } Color fadedColor = color; fadedColor.a = 127; Position endingPosition = getEndingPosition(x); checkers.setPlacingChecker(endingPosition.x, endingPosition.y, fadedColor); checkers.drawPlacingChecker(); }
void eliminate(std::vector<size_t> indexes) { std::cout << "Input: " << endl << getResult() << endl << endl; auto pivotingPtr = Pivoting<Inequalities>::create(parameters.pivotingType, indexes); while (!pivotingPtr->isOver()) { size_t index = pivotingPtr->getNext(inequalities); eliminate(index); std::cout << "Result after index " << index << ":\n"; std::cout << getResult() << endl << endl; } }
void CrossButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); auto over = isOver(); auto shown = _a_show.current(ms, _shown ? 1. : 0.); p.setOpacity(shown); paintRipple(p, _st.crossPosition.x(), _st.crossPosition.y(), ms); CrossAnimation::paint(p, _st.cross, over ? _st.crossFgOver : _st.crossFg, _st.crossPosition.x(), _st.crossPosition.y(), width(), shown); }
void ckvdVideoGrabber::mousePressed(ofMouseEventArgs &e) { if (!isOver(e.x, e.y)) return; theApp()->setSelectedGrabber(this); ofxTangibleHandle::mousePressed(e); // hack to prevent other ofxTangibleHandles from processing event e.x = -999; e.y = -999; }
void MyBullet::hit(float dt) { EnemyPlane *pEnemyPlane = EnemyPlane::getSharedEnemyPlane(); for (int i = 0; i < m_pArrayOfBullet->count(); ) { CCBullet *pCurBullet = (CCBullet*) m_pArrayOfBullet->objectAtIndex(i); if (pEnemyPlane->hitByBullet(pCurBullet, DEFAULT_POWER)) isOver(pCurBullet); else i++; } }
void Button::mouseUp (const MouseEvent& e) { const bool wasDown = isDown(); const bool wasOver = isOver(); updateState (isMouseOrTouchOver (e), false); if (wasDown && wasOver && ! triggerOnMouseDown) { if (lastStatePainted != buttonDown) flashButtonState(); internalClickCallback (e.mods); } }
void MyBullet::move(float dt) { CCDirector *pDirector = CCDirector::sharedDirector(); for (int i = 0; i < m_pArrayOfBullet->count(); ) { CCBullet *pCurBullet = (CCBullet*)m_pArrayOfBullet->objectAtIndex(i); pCurBullet->setPositionY(pCurBullet->getPositionY() + DEFAULT_SPEED); if (pCurBullet->getPositionY() - pCurBullet->getContentSize().height / 2 > pDirector->getVisibleSize().height) isOver(pCurBullet); else i++; } }
void LeftOutlineButton::paintEvent(QPaintEvent *e) { Painter p(this); auto over = isOver(); auto down = isDown(); if (width() > _st.outlineWidth) { p.fillRect(rtlrect(_st.outlineWidth, 0, width() - _st.outlineWidth, height(), width()), (over || down) ? _st.textBgOver : _st.textBg); paintRipple(p, 0, 0, getms()); p.fillRect(rtlrect(0, 0, _st.outlineWidth, height(), width()), (over || down) ? _st.outlineFgOver : _st.outlineFg); } p.setFont(_st.font); p.setPen((over || down) ? _st.textFgOver : _st.textFg); p.drawTextLeft(_st.padding.left(), _st.padding.top(), width(), _text, _textWidth); }
void SendButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); auto over = (isDown() || isOver()); auto changed = _a_typeChanged.current(ms, 1.); if (changed < 1.) { PainterHighQualityEnabler hq(p); p.setOpacity(1. - changed); auto targetRect = QRect((1 - kWideScale) / 2 * width(), (1 - kWideScale) / 2 * height(), kWideScale * width(), kWideScale * height()); auto hiddenWidth = anim::interpolate(0, (1 - kWideScale) / 2 * width(), changed); auto hiddenHeight = anim::interpolate(0, (1 - kWideScale) / 2 * height(), changed); p.drawPixmap(targetRect.marginsAdded(QMargins(hiddenWidth, hiddenHeight, hiddenWidth, hiddenHeight)), _contentFrom); p.setOpacity(changed); auto shownWidth = anim::interpolate((1 - kWideScale) / 2 * width(), 0, changed); auto shownHeight = anim::interpolate((1 - kWideScale) / 2 * height(), 0, changed); p.drawPixmap(targetRect.marginsAdded(QMargins(shownWidth, shownHeight, shownWidth, shownHeight)), _contentTo); } else if (_type == Type::Record) { auto recordActive = recordActiveRatio(); auto rippleColor = anim::color(st::historyAttachEmoji.ripple.color, st::historyRecordVoiceRippleBgActive, recordActive); paintRipple(p, (width() - st::historyAttachEmoji.rippleAreaSize) / 2, st::historyAttachEmoji.rippleAreaPosition.y(), ms, &rippleColor); auto fastIcon = [recordActive, over, this] { if (recordActive == 1.) { return &st::historyRecordVoiceActive; } else if (over) { return &st::historyRecordVoiceOver; } return &st::historyRecordVoice; }; fastIcon()->paintInCenter(p, rect()); if (recordActive > 0. && recordActive < 1.) { p.setOpacity(recordActive); st::historyRecordVoiceActive.paintInCenter(p, rect()); p.setOpacity(1.); } } else if (_type == Type::Save) { auto &saveIcon = over ? st::historyEditSaveIconOver : st::historyEditSaveIcon; saveIcon.paint(p, st::historySendIconPosition, width()); } else if (_type == Type::Cancel) { paintRipple(p, (width() - st::historyAttachEmoji.rippleAreaSize) / 2, st::historyAttachEmoji.rippleAreaPosition.y(), ms); auto &cancelIcon = over ? st::historyReplyCancelIconOver : st::historyReplyCancelIcon; cancelIcon.paintInCenter(p, rect()); } else { auto &sendIcon = over ? st::historySendIconOver : st::historySendIcon; sendIcon.paint(p, st::historySendIconPosition, width()); } }
void UiButton::update(sf::Vector2i mouse) { if(isOver(mouse) ) { if(state == 1) { image.setTextureRect( sf::IntRect(0, 0, width, height ) ); state = 2; } } else if(state == 2) { image.setTextureRect( sf::IntRect(width, 0, width, height ) ); state = 1; } }
void IconButton::onStateChanged(State was, StateChangeSource source) { RippleButton::onStateChanged(was, source); auto over = isOver(); auto wasOver = static_cast<bool>(was & StateFlag::Over); if (over != wasOver) { if (_st.duration) { auto from = over ? 0. : 1.; auto to = over ? 1. : 0.; _a_over.start([this] { update(); }, from, to, _st.duration); } else { update(); } } }
void CollisionListener::BeginContact(b2Contact* contact) { //衝突オブジェクトA&B b2Body * bodyA = contact->GetFixtureA()->GetBody(); b2Body * bodyB = contact->GetFixtureB()->GetBody(); RigidSprite *spriteA = static_cast<RigidSprite *>(bodyA->GetUserData()); RigidSprite *spriteB = static_cast<RigidSprite *>(bodyB->GetUserData()); if (spriteA && spriteB) { //enum型のタグを取得 int tagA = spriteA->getTag(); int tagB = spriteB->getTag(); if (isEqualsTag(tagB, kTag_Enemy) && isEqualsTag(tagA, kTag_Wisp)) { //火花が散るアクション OM::getInstance()->collisionWisp(); //敵NPC消滅アクション OM::getInstance()->destroyEnemy(spriteB); } else if (isEqualsTag(tagB, kTag_Wisp) && isEqualsTag(tagA, kTag_Enemy)) { //火花が散るアクション OM::getInstance()->collisionWisp(); //敵NPC消滅アクション OM::getInstance()->destroyEnemy(spriteA); } RigidSprite *enemy = NULL; b2Body *obstacles = NULL; if (isEqualsTag(tagA, kTag_Enemy)) { enemy = spriteA; obstacles = bodyB; } else if (isEqualsTag(tagB, kTag_Enemy)) { enemy = spriteB; obstacles = bodyA; } if (enemy && isOver(obstacles)){ OM::getInstance()->destroyEnemy(enemy); } } }
void NewAvatarButton::paintEvent(QPaintEvent *e) { Painter p(this); if (!_image.isNull()) { p.drawPixmap(0, 0, _image); return; } p.setPen(Qt::NoPen); p.setBrush(isOver() ? st::defaultActiveButton.textBgOver : st::defaultActiveButton.textBg); { PainterHighQualityEnabler hq(p); p.drawEllipse(rect()); } paintRipple(p, 0, 0, getms()); st::newGroupPhotoIcon.paint(p, _position, width()); }
void IconButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); paintRipple(p, _st.rippleAreaPosition.x(), _st.rippleAreaPosition.y(), ms, _rippleColorOverride ? &(*_rippleColorOverride)->c : nullptr); auto down = isDown(); auto overIconOpacity = (down || forceRippled()) ? 1. : _a_over.current(getms(), isOver() ? 1. : 0.); auto overIcon = [this] { if (_iconOverrideOver) { return _iconOverrideOver; } else if (!_st.iconOver.empty()) { return &_st.iconOver; } else if (_iconOverride) { return _iconOverride; } return &_st.icon; }; auto justIcon = [this] { if (_iconOverride) { return _iconOverride; } return &_st.icon; }; auto icon = (overIconOpacity == 1.) ? overIcon() : justIcon(); auto position = _st.iconPosition; if (position.x() < 0) { position.setX((width() - icon->width()) / 2); } if (position.y() < 0) { position.setY((height() - icon->height()) / 2); } icon->paint(p, position, width()); if (overIconOpacity > 0. && overIconOpacity < 1.) { auto iconOver = overIcon(); if (iconOver != icon) { p.setOpacity(overIconOpacity); iconOver->paint(p, position, width()); } } }
void ofxMtPhoto::tuioAdded(ofxTuioCursor &tuioCursor){ ofVec2f loc = ofVec2f(tuioCursor.getX()*ofGetWidth(),tuioCursor.getY()*ofGetHeight()); if (isOver(loc)){ tCursor c; c.idN = tuioCursor.getSessionId(); c.loc = loc; // PRIMER dedo sobre la imagen if (cursorsOnBorder.size() == 0){ cursorsOnBorder.push_back(c); } // SEGUNDO dedo sobre la imagen else if (cursorsOnBorder.size() == 1){ cursorsOnBorder.push_back(c); oldLoc[0] = cursorsOnBorder[0].loc; oldLoc[1] = cursorsOnBorder[1].loc; } } }
void Game::keyEvent(const KeyPressEvent &event) { if (event.getCode() == SDLK_ESCAPE && (isOver() || event.withShift())) { close(); return; } if (event.getCode() == SDLK_TAB && (!getRound().hasWinner())) { displayScoreTab = !displayScoreTab; } if (!getRound().isLast()) { if (event.getCode() == SDLK_F1 && (getRound().hasWinner() || event.withShift())) { nextRound(); return; } if (getRound().hasWinner() && ((D6_GAME_OVER_WAIT - getRound().getRemainingGameOverWait()) > 3.0f)) { nextRound(); return; } } getRound().keyEvent(event); }
void HistoryDownButton::paintEvent(QPaintEvent *e) { Painter p(this); auto ms = getms(); auto over = isOver(); auto down = isDown(); ((over || down) ? _st.iconBelowOver : _st.iconBelow).paint(p, _st.iconPosition, width()); paintRipple(p, _st.rippleAreaPosition.x(), _st.rippleAreaPosition.y(), ms); ((over || down) ? _st.iconAboveOver : _st.iconAbove).paint(p, _st.iconPosition, width()); if (_unreadCount > 0) { auto unreadString = QString::number(_unreadCount); if (unreadString.size() > 4) { unreadString = qsl("..") + unreadString.mid(unreadString.size() - 4); } Dialogs::Layout::UnreadBadgeStyle st; st.align = style::al_center; st.font = st::historyToDownBadgeFont; st.size = st::historyToDownBadgeSize; st.sizeId = Dialogs::Layout::UnreadBadgeInHistoryToDown; Dialogs::Layout::paintUnreadCount(p, unreadString, width(), 0, st, nullptr); } }