summaryrefslogtreecommitdiffstats
path: root/glow
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-08 11:44:40 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-07-08 11:44:40 +0200
commitf3dfaa2c43bad16fc91660b2b73cb9173549e7ec (patch)
tree353365f4dd1e3136bc651ac8c1572f62fff1304b /glow
parent072ec69d53d2708d8fd1693151bcec7305efccf8 (diff)
parent5c4f5ae5ecb36703a95cafb2cd58692529c9466d (diff)
downloadiced-f3dfaa2c43bad16fc91660b2b73cb9173549e7ec.tar.gz
iced-f3dfaa2c43bad16fc91660b2b73cb9173549e7ec.tar.bz2
iced-f3dfaa2c43bad16fc91660b2b73cb9173549e7ec.zip
Merge branch 'master' into feature/pane-grid-titlebar
Diffstat (limited to 'glow')
-rw-r--r--glow/src/backend.rs6
-rw-r--r--glow/src/settings.rs6
-rw-r--r--glow/src/widget/slider.rs2
-rw-r--r--glow/src/window/compositor.rs8
4 files changed, 18 insertions, 4 deletions
diff --git a/glow/src/backend.rs b/glow/src/backend.rs
index 882dd605..8b5b4f9c 100644
--- a/glow/src/backend.rs
+++ b/glow/src/backend.rs
@@ -18,6 +18,7 @@ pub struct Backend {
quad_pipeline: quad::Pipeline,
text_pipeline: text::Pipeline,
triangle_pipeline: triangle::Pipeline,
+ default_text_size: u16,
}
impl Backend {
@@ -33,6 +34,7 @@ impl Backend {
quad_pipeline,
text_pipeline,
triangle_pipeline,
+ default_text_size: settings.default_text_size,
}
}
@@ -192,6 +194,10 @@ impl backend::Text for Backend {
const ICON_FONT: Font = font::ICONS;
const CHECKMARK_ICON: char = font::CHECKMARK_ICON;
+ fn default_size(&self) -> u16 {
+ self.default_text_size
+ }
+
fn measure(
&self,
contents: &str,
diff --git a/glow/src/settings.rs b/glow/src/settings.rs
index dce30029..c2c605ef 100644
--- a/glow/src/settings.rs
+++ b/glow/src/settings.rs
@@ -11,6 +11,11 @@ pub struct Settings {
/// If `None` is provided, a default system font will be chosen.
pub default_font: Option<&'static [u8]>,
+ /// The default size of text.
+ ///
+ /// By default, it will be set to 20.
+ pub default_text_size: u16,
+
/// The antialiasing strategy that will be used for triangle primitives.
pub antialiasing: Option<Antialiasing>,
}
@@ -19,6 +24,7 @@ impl Default for Settings {
fn default() -> Settings {
Settings {
default_font: None,
+ default_text_size: 20,
antialiasing: None,
}
}
diff --git a/glow/src/widget/slider.rs b/glow/src/widget/slider.rs
index cf036829..3a8c2595 100644
--- a/glow/src/widget/slider.rs
+++ b/glow/src/widget/slider.rs
@@ -13,4 +13,4 @@ pub use iced_native::slider::State;
/// values.
///
/// This is an alias of an `iced_native` slider with an `iced_wgpu::Renderer`.
-pub type Slider<'a, Message> = iced_native::Slider<'a, Message, Renderer>;
+pub type Slider<'a, T, Message> = iced_native::Slider<'a, T, Message, Renderer>;
diff --git a/glow/src/window/compositor.rs b/glow/src/window/compositor.rs
index 2f504ff7..3ad10b59 100644
--- a/glow/src/window/compositor.rs
+++ b/glow/src/window/compositor.rs
@@ -1,4 +1,4 @@
-use crate::{Backend, Renderer, Settings, Viewport};
+use crate::{Backend, Color, Renderer, Settings, Viewport};
use core::ffi::c_void;
use glow::HasContext;
@@ -21,8 +21,6 @@ impl iced_graphics::window::GLCompositor for Compositor {
) -> (Self, Self::Renderer) {
let gl = glow::Context::from_loader_function(loader_function);
- gl.clear_color(1.0, 1.0, 1.0, 1.0);
-
// Enable auto-conversion from/to sRGB
gl.enable(glow::FRAMEBUFFER_SRGB);
@@ -60,12 +58,16 @@ impl iced_graphics::window::GLCompositor for Compositor {
&mut self,
renderer: &mut Self::Renderer,
viewport: &Viewport,
+ color: Color,
output: &<Self::Renderer as iced_native::Renderer>::Output,
overlay: &[T],
) -> mouse::Interaction {
let gl = &self.gl;
+ let [r, g, b, a] = color.into_linear();
+
unsafe {
+ gl.clear_color(r, g, b, a);
gl.clear(glow::COLOR_BUFFER_BIT);
}