Use base colors iff program style's background color is not opaque for IME preedit
This commit is contained in:
parent
594ed5cfbe
commit
84f3210819
1 changed files with 17 additions and 4 deletions
|
|
@ -11,7 +11,7 @@ use crate::core::input_method;
|
||||||
use crate::core::mouse;
|
use crate::core::mouse;
|
||||||
use crate::core::renderer;
|
use crate::core::renderer;
|
||||||
use crate::core::text;
|
use crate::core::text;
|
||||||
use crate::core::theme;
|
use crate::core::theme::{self, Base};
|
||||||
use crate::core::time::Instant;
|
use crate::core::time::Instant;
|
||||||
use crate::core::{
|
use crate::core::{
|
||||||
Color, Element, InputMethod, Padding, Point, Rectangle, Size, Text, Vector,
|
Color, Element, InputMethod, Padding, Point, Rectangle, Size, Text, Vector,
|
||||||
|
|
@ -266,10 +266,16 @@ where
|
||||||
let mut overlay =
|
let mut overlay =
|
||||||
self.preedit.take().unwrap_or_else(Preedit::new);
|
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(
|
overlay.update(
|
||||||
cursor,
|
cursor,
|
||||||
&preedit,
|
&preedit,
|
||||||
self.state.background_color(),
|
background_color,
|
||||||
&self.renderer,
|
&self.renderer,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
@ -300,10 +306,17 @@ where
|
||||||
|
|
||||||
pub fn draw_preedit(&mut self) {
|
pub fn draw_preedit(&mut self) {
|
||||||
if let Some(preedit) = &self.preedit {
|
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(
|
preedit.draw(
|
||||||
&mut self.renderer,
|
&mut self.renderer,
|
||||||
self.state.text_color(),
|
text_color,
|
||||||
self.state.background_color(),
|
background_color,
|
||||||
&Rectangle::new(
|
&Rectangle::new(
|
||||||
Point::ORIGIN,
|
Point::ORIGIN,
|
||||||
self.state.viewport().logical_size(),
|
self.state.viewport().logical_size(),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue