diff --git a/src/scroller_page.cpp b/src/scroller_page.cpp index ec918ed..d40ca9a 100644 --- a/src/scroller_page.cpp +++ b/src/scroller_page.cpp @@ -99,72 +99,6 @@ void ScrollerPage::onPush(AppState &state) { } }); } -{ - state_ = &state; - - // Save the current logical presentation (LETTERBOX at design resolution) - // and switch to NONE so we render into the full physical window. This - // lets the scroller scroll the entire vertical extent of tall/rotated - // displays while keeping text at the same pixel scale. onPop restores - // the original presentation for other pages. - SDL_GetRenderLogicalPresentation(state.renderer, &savedLogicalW_, - &savedLogicalH_, &savedMode_); - - SDL_Window *window = SDL_GetRenderWindow(state.renderer); - int windowW = 0; - int windowH = 0; - if (window) { - SDL_GetWindowSize(window, &windowW, &windowH); - } - if (windowW <= 0) { - windowW = radiantwave::kDesignWidth; - } - if (windowH <= 0) { - windowH = radiantwave::kDesignHeight; - } - - SDL_SetRenderLogicalPresentation(state.renderer, windowW, windowH, - SDL_LOGICAL_PRESENTATION_DISABLED); - - screenW_ = static_cast(windowW); - screenH_ = static_cast(windowH); - // Lines are capped at the full screen width; the widest Fibonacci lines - // are sized to fill it with whole words (peak word count derived from the - // screen), independent of resolution. - maxLineWidth_ = screenW_; - - TTF_Init(); - buildStreams(state); - createFont(state); - createPatterns(); - - prefilling_ = true; - prefillLines(); - prefilling_ = false; - - // Start audio. In dynamic mode the current stream's solfeggio-frequency - // track wins (when its file exists); otherwise the configured manual track - // plays. A frequency file that is not on disk yet falls back to the manual - // track rather than playing nothing. - std::string track = state.config.get().audio.current_track; - if (state.config.get().audio.dynamic_audio && !streams_.empty()) { - const ProclamationStream &stream = streams_[streamIndex_]; - if (stream.solfeggio_frequency_id != 0 && - !stream.audioFilename.empty() && - std::filesystem::exists(audioFilePath(stream.audioFilename))) { - track = stream.audioFilename; - } - } - if (std::filesystem::exists(audioFilePath(track))) { - state.audio.playTrackFadeIn(track, kFadeSeconds); - } - - state.keybinds.bind(SDLK_ESCAPE, "scroller_exit", [this]() { - if (state_) { - state_->pages.pop(*state_); - } - }); -} void ScrollerPage::onResume(AppState &state) { state_ = &state;