@@ -1177,7 +1177,12 @@ fn update_input_method<P, C>(
1177
1177
let text = window. state . preedit ( ) ;
1178
1178
if !text. is_empty ( ) {
1179
1179
preedit. update ( text. as_str ( ) , & window. renderer ) ;
1180
- preedit. fill ( & mut window. renderer , caret_info. position ) ;
1180
+ preedit. fill (
1181
+ & mut window. renderer ,
1182
+ window. state . text_color ( ) ,
1183
+ window. state . background_color ( ) ,
1184
+ caret_info. position ,
1185
+ ) ;
1181
1186
}
1182
1187
}
1183
1188
@@ -1211,7 +1216,13 @@ impl<P: Program> Preedit<P> {
1211
1216
) ;
1212
1217
}
1213
1218
1214
- fn fill ( & self , renderer : & mut P :: Renderer , caret_position : Point ) {
1219
+ fn fill (
1220
+ & self ,
1221
+ renderer : & mut P :: Renderer ,
1222
+ fore_color : core:: Color ,
1223
+ bg_color : core:: Color ,
1224
+ caret_position : Point ,
1225
+ ) {
1215
1226
use core:: text:: Paragraph as _;
1216
1227
use core:: text:: Renderer as _;
1217
1228
use core:: Renderer as _;
@@ -1229,20 +1240,21 @@ impl<P: Program> Preedit<P> {
1229
1240
) ;
1230
1241
let bounds = core:: Rectangle :: new ( top_left, content. min_bounds ( ) ) ;
1231
1242
renderer. with_layer ( bounds, |renderer| {
1232
- let quad = core:: renderer:: Quad {
1233
- bounds,
1234
- border : core:: Border :: default ( ) ,
1235
- shadow : core:: Shadow :: default ( ) ,
1236
- } ;
1237
- renderer
1238
- . fill_quad ( quad, core:: Background :: Color ( core:: Color :: WHITE ) ) ;
1239
-
1240
- renderer. fill_paragraph (
1241
- content,
1242
- top_left,
1243
- core:: Color :: BLACK ,
1243
+ renderer. fill_quad ( core:: renderer:: Quad {
1244
1244
bounds,
1245
- ) ;
1245
+ ..Default :: default ( )
1246
+ } , core:: Background :: Color ( bg_color) ) ;
1247
+
1248
+ let underline = 2. ;
1249
+ renderer. fill_quad ( core:: renderer:: Quad {
1250
+ bounds : bounds. shrink ( core:: Padding {
1251
+ top : bounds. height - underline,
1252
+ ..Default :: default ( )
1253
+ } ) ,
1254
+ ..Default :: default ( )
1255
+ } , core:: Background :: Color ( fore_color) ) ;
1256
+
1257
+ renderer. fill_paragraph ( content, top_left, fore_color, bounds) ;
1246
1258
} ) ;
1247
1259
}
1248
1260
}
0 commit comments