Skip to content

Commit

Permalink
Use base colors iff program style's background color is not opaque
Browse files Browse the repository at this point in the history
  • Loading branch information
kenz-gelsoft committed Feb 26, 2025
1 parent beddf49 commit d1b9aea
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions winit/src/program/window_manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ use crate::core::input_method;
use crate::core::mouse;
use crate::core::renderer;
use crate::core::text;
use crate::core::theme;
use crate::core::theme::{self, Base};
use crate::core::time::Instant;
use crate::core::window::{Id, RedrawRequest};
use crate::core::{
Expand Down Expand Up @@ -225,10 +225,16 @@ where
let mut overlay =
self.preedit.take().unwrap_or_else(Preedit::new);

let mut background_color =
self.state.background_color();
if background_color.a < 1.0 {
let style = self.state.theme().base();
background_color = style.background_color;
}
overlay.update(
position,
&preedit,
self.state.background_color(),
background_color,
&self.renderer,
);

Expand All @@ -243,10 +249,17 @@ where

pub fn draw_preedit(&mut self) {
if let Some(preedit) = &self.preedit {
let mut text_color = self.state.text_color();
let mut background_color = self.state.background_color();
if background_color.a < 1.0 {
let style = self.state.theme().base();
text_color = style.text_color;
background_color = style.background_color;
}
preedit.draw(
&mut self.renderer,
self.state.text_color(),
self.state.background_color(),
text_color,
background_color,
&Rectangle::new(
Point::ORIGIN,
self.state.viewport().logical_size(),
Expand Down

0 comments on commit d1b9aea

Please sign in to comment.