summaryrefslogtreecommitdiffstats
path: root/graphics/src/window/compositor.rs
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/src/window/compositor.rs')
-rw-r--r--graphics/src/window/compositor.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/graphics/src/window/compositor.rs b/graphics/src/window/compositor.rs
index 04a87bc6..0c4cadcd 100644
--- a/graphics/src/window/compositor.rs
+++ b/graphics/src/window/compositor.rs
@@ -1,3 +1,5 @@
+//! A compositor is responsible for initializing a renderer and managing window
+//! surfaces.
use crate::{Color, Error, Viewport};
use raw_window_handle::HasRawWindowHandle;
@@ -38,6 +40,9 @@ pub trait Compositor: Sized {
height: u32,
);
+ /// Returns [`GraphicsInformation`] used by this [`Compositor`].
+ fn fetch_information(&self) -> Information;
+
/// Presents the [`Renderer`] primitives to the next frame of the given [`Surface`].
///
/// [`Renderer`]: Self::Renderer
@@ -72,3 +77,12 @@ pub enum SurfaceError {
#[error("There is no more memory left to allocate a new frame")]
OutOfMemory,
}
+
+/// Contains informations about the graphics (e.g. graphics adapter, graphics backend).
+#[derive(Debug)]
+pub struct Information {
+ /// Contains the graphics adapter.
+ pub adapter: String,
+ /// Contains the graphics backend.
+ pub backend: String,
+}