Changes in uspace/lib/ui/src/checkbox.c [307d4d2:806d761] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/src/checkbox.c
r307d4d2 r806d761 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2024 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 52 52 checkbox_box_h = 16, 53 53 checkbox_label_margin = 8, 54 checkbox_cross_n = 5, 55 checkbox_cross_w = 2, 56 checkbox_cross_h = 2 54 57 }; 55 58 … … 136 139 } 137 140 138 /** Set buttonrectangle.139 * 140 * @param checkbox Button141 * @param rect New buttonrectangle141 /** Set check box rectangle. 142 * 143 * @param checkbox Check box 144 * @param rect New check box rectangle 142 145 */ 143 146 void ui_checkbox_set_rect(ui_checkbox_t *checkbox, gfx_rect_t *rect) 144 147 { 145 148 checkbox->rect = *rect; 149 } 150 151 /** Return if check box is checked. 152 * 153 * @param checkbox Check box 154 * @return @c true iff check box is checked 155 */ 156 bool ui_checkbox_get_checked(ui_checkbox_t *checkbox) 157 { 158 return checkbox->checked; 159 } 160 161 /** Set check box checked state. 162 * 163 * @param checkbox Check box 164 * @param checked @c true iff checkbox should be checked 165 */ 166 void ui_checkbox_set_checked(ui_checkbox_t *checkbox, bool checked) 167 { 168 checkbox->checked = checked; 146 169 } 147 170 … … 188 211 189 212 if (checkbox->checked) { 190 box_center.x = (box_inside.p0.x + box_inside.p1.x) / 2; 191 box_center.y = (box_inside.p0.y + box_inside.p1.y) / 2; 192 193 gfx_text_fmt_init(&fmt); 194 fmt.color = checkbox->res->entry_fg_color; 195 fmt.halign = gfx_halign_center; 196 fmt.valign = gfx_valign_center; 197 198 rc = gfx_puttext(checkbox->res->font, &box_center, &fmt, "X"); 213 rc = gfx_set_color(checkbox->res->gc, 214 checkbox->res->entry_fg_color); 199 215 if (rc != EOK) 200 216 goto error; 217 218 box_center.x = (box_inside.p0.x + box_inside.p1.x) / 2 - 1; 219 box_center.y = (box_inside.p0.y + box_inside.p1.y) / 2 - 1; 220 221 rc = ui_paint_cross(checkbox->res->gc, &box_center, 222 checkbox_cross_n, checkbox_cross_w, checkbox_cross_h); 223 if (rc != EOK) 224 goto error; 201 225 } 202 226 … … 207 231 208 232 gfx_text_fmt_init(&fmt); 233 fmt.font = checkbox->res->font; 209 234 fmt.color = checkbox->res->wnd_text_color; 210 235 fmt.halign = gfx_halign_left; 211 236 fmt.valign = gfx_valign_center; 212 237 213 rc = gfx_puttext( checkbox->res->font,&pos, &fmt, checkbox->caption);238 rc = gfx_puttext(&pos, &fmt, checkbox->caption); 214 239 if (rc != EOK) 215 240 goto error; … … 244 269 245 270 gfx_text_fmt_init(&fmt); 271 fmt.font = checkbox->res->font; 246 272 fmt.color = depressed ? checkbox->res->entry_act_bg_color : 247 273 checkbox->res->wnd_text_color; … … 249 275 fmt.valign = gfx_valign_top; 250 276 251 rc = gfx_puttext(checkbox->res->font, &pos, &fmt, 252 checkbox->checked ? "[X]" : "[ ]"); 277 rc = gfx_puttext(&pos, &fmt, checkbox->checked ? "[X]" : "[ ]"); 253 278 if (rc != EOK) 254 279 goto error; … … 259 284 fmt.color = checkbox->res->wnd_text_color; 260 285 261 rc = gfx_puttext( checkbox->res->font,&pos, &fmt, checkbox->caption);286 rc = gfx_puttext(&pos, &fmt, checkbox->caption); 262 287 if (rc != EOK) 263 288 goto error; … … 397 422 } 398 423 break; 424 case POS_DCLICK: 425 break; 399 426 } 400 427
Note:
See TracChangeset
for help on using the changeset viewer.