core: Changed Player::set_quality to take in a StageQuality directly
This commit is contained in:
parent
b270d1bbd7
commit
12bd38b338
|
@ -3695,6 +3695,7 @@ dependencies = [
|
|||
"getrandom",
|
||||
"js-sys",
|
||||
"ruffle_core",
|
||||
"ruffle_render",
|
||||
"ruffle_render_canvas",
|
||||
"ruffle_render_webgl",
|
||||
"ruffle_render_wgpu",
|
||||
|
|
|
@ -776,12 +776,9 @@ impl Player {
|
|||
})
|
||||
}
|
||||
|
||||
pub fn set_quality(&mut self, quality: &str) {
|
||||
pub fn set_quality(&mut self, quality: StageQuality) {
|
||||
self.mutate_with_update_context(|context| {
|
||||
let stage = context.stage;
|
||||
if let Ok(quality) = StageQuality::from_str(quality) {
|
||||
stage.set_quality(context.gc_context, quality);
|
||||
}
|
||||
context.stage.set_quality(context.gc_context, quality);
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
@ -34,6 +34,7 @@ tracing-subscriber = { version = "0.3.16", default-features = false, features =
|
|||
tracing-wasm = "0.2.1"
|
||||
ruffle_render_canvas = { path = "../render/canvas", optional = true }
|
||||
ruffle_web_common = { path = "common" }
|
||||
ruffle_render = { path = "../render" }
|
||||
ruffle_render_webgl = { path = "../render/webgl", optional = true }
|
||||
ruffle_render_wgpu = { path = "../render/wgpu", optional = true }
|
||||
ruffle_video_software = { path = "../video/software" }
|
||||
|
|
|
@ -17,6 +17,7 @@ use ruffle_core::external::{
|
|||
};
|
||||
use ruffle_core::tag_utils::SwfMovie;
|
||||
use ruffle_core::{Color, Player, PlayerBuilder, PlayerEvent, StaticCallstack, ViewportDimensions};
|
||||
use ruffle_render::quality::StageQuality;
|
||||
use ruffle_video_software::backend::SoftwareVideoBackend;
|
||||
use ruffle_web_common::JsResult;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
@ -540,6 +541,13 @@ impl Ruffle {
|
|||
.with_player_version(config.player_version)
|
||||
.build();
|
||||
|
||||
let default_quality = if ruffle_web_common::is_mobile_or_tablet() {
|
||||
tracing::info!("Running on a mobile device; defaulting to low quality");
|
||||
StageQuality::Low
|
||||
} else {
|
||||
StageQuality::High
|
||||
};
|
||||
|
||||
let mut callstack = None;
|
||||
if let Ok(mut core) = core.try_lock() {
|
||||
// Set config parameters.
|
||||
|
@ -548,7 +556,12 @@ impl Ruffle {
|
|||
}
|
||||
core.set_show_menu(config.show_menu);
|
||||
core.set_stage_align(config.salign.as_deref().unwrap_or(""));
|
||||
core.set_quality(config.quality.as_deref().unwrap_or("high"));
|
||||
core.set_quality(
|
||||
config
|
||||
.quality
|
||||
.and_then(|q| StageQuality::from_str(&q).ok())
|
||||
.unwrap_or(default_quality),
|
||||
);
|
||||
core.set_scale_mode(config.scale.as_deref().unwrap_or("showAll"));
|
||||
core.set_window_mode(config.wmode.as_deref().unwrap_or("window"));
|
||||
|
||||
|
|
Loading…
Reference in New Issue