Changes in uspace/lib/ui/src/rbutton.c [4583015:b433f68] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/src/rbutton.c
r4583015 rb433f68 186 186 } 187 187 188 /** Paint radio button in graphics mode.188 /** Paint radio button. 189 189 * 190 190 * @param rbutton Radio button 191 191 * @return EOK on success or an error code 192 192 */ 193 errno_t ui_rbutton_paint _gfx(ui_rbutton_t *rbutton)193 errno_t ui_rbutton_paint(ui_rbutton_t *rbutton) 194 194 { 195 195 gfx_coord2_t pos; … … 202 202 center.y = rbutton->rect.p0.y + rbutton_oframe_r; 203 203 204 /* Paint r adiobutton frame */204 /* Paint rbutton frame */ 205 205 206 206 rc = gfx_set_color(rbutton->group->res->gc, … … 244 244 goto error; 245 245 246 /* Paint r adiobutton interior */246 /* Paint rbutton interior */ 247 247 depressed = rbutton->held && rbutton->inside; 248 248 … … 278 278 279 279 gfx_text_fmt_init(&fmt); 280 fmt.font = rbutton->group->res->font;281 280 fmt.color = rbutton->group->res->wnd_text_color; 282 281 fmt.halign = gfx_halign_left; 283 282 fmt.valign = gfx_valign_center; 284 283 285 rc = gfx_puttext(&pos, &fmt, rbutton->caption); 284 rc = gfx_puttext(rbutton->group->res->font, &pos, &fmt, 285 rbutton->caption); 286 286 if (rc != EOK) 287 287 goto error; … … 296 296 } 297 297 298 /** Paint radio button in text mode.299 *300 * @param rbutton Radio button301 * @return EOK on success or an error code302 */303 errno_t ui_rbutton_paint_text(ui_rbutton_t *rbutton)304 {305 gfx_coord2_t pos;306 gfx_text_fmt_t fmt;307 bool depressed;308 errno_t rc;309 310 /* Paint radio button */311 312 depressed = rbutton->held && rbutton->inside;313 314 pos.x = rbutton->rect.p0.x;315 pos.y = rbutton->rect.p0.y;316 317 gfx_text_fmt_init(&fmt);318 fmt.font = rbutton->group->res->font;319 fmt.color = depressed ? rbutton->group->res->entry_act_bg_color :320 rbutton->group->res->wnd_text_color;321 fmt.halign = gfx_halign_left;322 fmt.valign = gfx_valign_top;323 324 rc = gfx_puttext(&pos, &fmt, rbutton->group->selected == rbutton ?325 "(\u2022)" : "( )");326 if (rc != EOK)327 goto error;328 329 /* Paint radio button label */330 331 pos.x += 4;332 333 fmt.color = rbutton->group->res->wnd_text_color;334 335 rc = gfx_puttext(&pos, &fmt, rbutton->caption);336 if (rc != EOK)337 goto error;338 339 rc = gfx_update(rbutton->group->res->gc);340 if (rc != EOK)341 goto error;342 343 return EOK;344 error:345 return rc;346 }347 348 /** Paint radio button.349 *350 * @param rbutton Radio button351 * @return EOK on success or an error code352 */353 errno_t ui_rbutton_paint(ui_rbutton_t *rbutton)354 {355 if (rbutton->group->res->textmode)356 return ui_rbutton_paint_text(rbutton);357 else358 return ui_rbutton_paint_gfx(rbutton);359 }360 361 298 /** Press down button. 362 299 * … … 379 316 void ui_rbutton_release(ui_rbutton_t *rbutton) 380 317 { 318 ui_rbutton_t *old_selected; 319 381 320 if (!rbutton->held) 382 321 return; … … 386 325 if (rbutton->inside) { 387 326 /* Activate radio button */ 388 ui_rbutton_select(rbutton); 327 old_selected = rbutton->group->selected; 328 329 if (old_selected != rbutton) { 330 rbutton->group->selected = rbutton; 331 ui_rbutton_paint(old_selected); 332 } 333 334 /* Repaint and notify */ 335 (void) ui_rbutton_paint(rbutton); 336 337 if (old_selected != rbutton) 338 ui_rbutton_selected(rbutton); 389 339 } 390 340 } … … 418 368 } 419 369 420 /** Select radio button. 421 * 422 * @param rbutton Radio button 423 */ 424 void ui_rbutton_select(ui_rbutton_t *rbutton) 425 { 426 ui_rbutton_t *old_selected; 427 428 old_selected = rbutton->group->selected; 429 430 if (old_selected != rbutton) { 431 rbutton->group->selected = rbutton; 432 ui_rbutton_paint(old_selected); 433 } 434 435 /* Repaint and notify */ 436 (void) ui_rbutton_paint(rbutton); 437 438 if (old_selected != rbutton) 439 ui_rbutton_selected(rbutton); 440 } 441 442 /** Notify that button was selected. 370 /** Button was selected. 443 371 * 444 372 * @param rbutton Radio button … … 490 418 } 491 419 break; 492 case POS_DCLICK:493 break;494 420 } 495 421
Note:
See TracChangeset
for help on using the changeset viewer.