void SHero::DrawIt() { if(GetPosition().y>480) SetPosition(GetPosition().x,-24); if(sf::Keyboard::IsKeyPressed(sf::Keyboard::LShift)) power=1.0F; else power=3.0F; if(sf::Keyboard::IsKeyPressed(sf::Keyboard::A)) { FlipX(true); xSpeed=-power; } else if(sf::Keyboard::IsKeyPressed(sf::Keyboard::D)) { FlipX(false); xSpeed=power; } else xSpeed=0; if(Collide(GetPosition().x,GetPosition().y+1)) { ySpeed=0; if(sf::Keyboard::IsKeyPressed(sf::Keyboard::W)) ySpeed-=jumpPower; } else ySpeed+=gravity; AdjustXPosition(); AdjustYPosition(); float oldx=GetPosition().x; float oldy=GetPosition().y; Move(SGame::GetInstance().camera_x,SGame::GetInstance().camera_y); SGame::GetInstance().Draw(*this); SetPosition(oldx,oldy); }
void MythNotificationScreen::AdjustIndex(int by, bool set) { if (set) { m_index = by; } else { m_index += by; } AdjustYPosition(); }
/** * Update the various fields of a MythNotificationScreen. */ void MythNotificationScreen::Init(void) { if (!m_refresh) // nothing got changed so far, return return; AdjustYPosition(); if (m_artworkImage && (m_update & kImage)) { if (!m_imagePath.isNull()) { // We have a path to the image, use it m_artworkImage->SetFilename(m_imagePath); m_artworkImage->Load(); } else if (!m_image.isNull()) { // We don't have a path to the image, but the image itself MythImage *img = m_artworkImage->GetPainter()->GetFormatImage(); img->Assign(m_image); m_artworkImage->SetImage(img); img->DecrRef(); } else { // Will default to displaying whatever placeholder image is defined // in the xml by the themer, means we can show _something_ rather than // a big empty hole. Generally you always want to call Reset() in // these circumstances m_artworkImage->Reset(); } } if (m_update != kNone) { InfoMap tmap; tmap["title"] = m_title; if (m_update & kImage) { tmap["image"] = m_imagePath; } tmap["origin"] = m_origin; tmap["description"] = m_description; tmap["extra"] = m_extra; if (m_update & kDuration) { tmap["progress_text"] = m_progresstext; tmap["progress"] = QString("%1").arg((int)(m_progress * 100)); } SetTextFromMap(tmap); } if (m_update & kMetaData) { if (m_titleText && m_title.isNull()) { m_titleText->Reset(); } if (m_originText && m_origin.isNull()) { m_originText->Reset(); } if (m_descriptionText && m_description.isNull()) { m_descriptionText->Reset(); } if (m_extraText && m_extra.isNull()) { m_extraText->Reset(); } } if (m_update & kDuration) { if (m_progresstextText && m_progresstext.isEmpty()) { m_progresstextText->Reset(); } if (m_progressBar) { if (m_progress >= 0) { m_progressBar->SetStart(0); m_progressBar->SetTotal(100); m_progressBar->SetUsed(100 * m_progress); } else { // Same as above, calling Reset() allows for a sane, themer defined //default to be displayed m_progressBar->Reset(); } } } if (m_progressBar) { m_progressBar->SetVisible((m_content & kDuration) != 0); } SetErrorState(); if (m_mediaState && (m_update & kImage)) { m_mediaState->DisplayState(m_update & kNoArtwork ? "noartwork" : "ok"); LOG(VB_GUI, LOG_DEBUG, LOC + QString("Init: Set media state to %1").arg(m_update & kNoArtwork ? "noartwork" : "ok")); } // No field will be refreshed the next time unless specified otherwise m_update = kNone; if (GetScreenStack() && !m_added) { GetScreenStack()->AddScreen(this); m_added = true; } m_refresh = false; }