summaryrefslogtreecommitdiffstats
path: root/glow/src
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2022-05-11 18:08:36 +0200
committerLibravatar GitHub <noreply@github.com>2022-05-11 18:08:36 +0200
commit2e7757a42819fba3757c5b88e77e184b09649910 (patch)
tree80b0a55ff3834647a6527d8856632e79d8352789 /glow/src
parentd4ed8afa1ed15486144dc7afee52c09e044a92e0 (diff)
parentb440df9afbb2b63717e84d209a0995ada0e72e6d (diff)
downloadiced-2e7757a42819fba3757c5b88e77e184b09649910.tar.gz
iced-2e7757a42819fba3757c5b88e77e184b09649910.tar.bz2
iced-2e7757a42819fba3757c5b88e77e184b09649910.zip
Merge pull request #1314 from derezzedex/dev/system-information
feat: fetch system information
Diffstat (limited to 'glow/src')
-rw-r--r--glow/src/settings.rs14
-rw-r--r--glow/src/window/compositor.rs13
2 files changed, 25 insertions, 2 deletions
diff --git a/glow/src/settings.rs b/glow/src/settings.rs
index f3dddfaf..3691747b 100644
--- a/glow/src/settings.rs
+++ b/glow/src/settings.rs
@@ -4,7 +4,7 @@ pub use iced_graphics::Antialiasing;
/// The settings of a [`Backend`].
///
/// [`Backend`]: crate::Backend
-#[derive(Debug, Clone, Copy, PartialEq, Eq)]
+#[derive(Clone, Copy, PartialEq, Eq)]
pub struct Settings {
/// The bytes of the font that will be used by default.
///
@@ -39,6 +39,18 @@ impl Default for Settings {
}
}
+impl std::fmt::Debug for Settings {
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+ f.debug_struct("Settings")
+ // Instead of printing the font bytes, we simply show a `bool` indicating if using a default font or not.
+ .field("default_font", &self.default_font.is_none())
+ .field("default_text_size", &self.default_text_size)
+ .field("text_multithreading", &self.text_multithreading)
+ .field("antialiasing", &self.antialiasing)
+ .finish()
+ }
+}
+
impl Settings {
/// Creates new [`Settings`] using environment configuration.
///
diff --git a/glow/src/window/compositor.rs b/glow/src/window/compositor.rs
index 44019fb2..622d7fc0 100644
--- a/glow/src/window/compositor.rs
+++ b/glow/src/window/compositor.rs
@@ -2,7 +2,7 @@ use crate::{Backend, Color, Error, Renderer, Settings, Viewport};
use core::ffi::c_void;
use glow::HasContext;
-use iced_graphics::{Antialiasing, Size};
+use iced_graphics::{compositor, Antialiasing, Size};
/// A window graphics backend for iced powered by `glow`.
#[allow(missing_debug_implementations)]
@@ -20,6 +20,8 @@ impl iced_graphics::window::GLCompositor for Compositor {
) -> Result<(Self, Self::Renderer), Error> {
let gl = glow::Context::from_loader_function(loader_function);
+ log::info!("{:#?}", settings);
+
let version = gl.version();
log::info!("Version: {:?}", version);
log::info!("Embedded: {}", version.is_embedded);
@@ -65,6 +67,15 @@ impl iced_graphics::window::GLCompositor for Compositor {
}
}
+ fn fetch_information(&self) -> compositor::Information {
+ let adapter = unsafe { self.gl.get_parameter_string(glow::RENDERER) };
+
+ compositor::Information {
+ backend: format!("{:?}", self.gl.version()),
+ adapter,
+ }
+ }
+
fn present<T: AsRef<str>>(
&mut self,
renderer: &mut Self::Renderer,