Changeset b769ca0 in mainline
- Timestamp:
- 2026-02-19T00:01:36Z (15 hours ago)
- Branches:
- master
- Parents:
- 39f67f1
- Location:
- uspace/lib/ui
- Files:
-
- 6 edited
-
include/types/ui/pbutton.h (modified) (2 diffs)
-
include/ui/pbutton.h (modified) (2 diffs)
-
private/pbutton.h (modified) (2 diffs)
-
src/pbutton.c (modified) (4 diffs)
-
src/scrollbar.c (modified) (5 diffs)
-
src/wdecor.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/ui/include/types/ui/pbutton.h
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 2Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 56 56 } ui_pbutton_cb_t; 57 57 58 /** Push button decoration ops */ 59 typedef struct ui_pbutton_decor_ops { 60 errno_t (*paint)(ui_pbutton_t *, void *, gfx_coord2_t *); 61 } ui_pbutton_decor_ops_t; 58 /** Push button ops */ 59 typedef struct ui_pbutton_ops { 60 errno_t (*decor_paint)(ui_pbutton_t *, void *, gfx_coord2_t *); 61 errno_t (*paint)(ui_pbutton_t *, void *); 62 } ui_pbutton_ops_t; 62 63 63 64 #endif -
uspace/lib/ui/include/ui/pbutton.h
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 51 51 extern ui_control_t *ui_pbutton_ctl(ui_pbutton_t *); 52 52 extern void ui_pbutton_set_cb(ui_pbutton_t *, ui_pbutton_cb_t *, void *); 53 extern void ui_pbutton_set_ decor_ops(ui_pbutton_t *, ui_pbutton_decor_ops_t *,53 extern void ui_pbutton_set_ops(ui_pbutton_t *, ui_pbutton_ops_t *, 54 54 void *); 55 55 extern void ui_pbutton_set_flags(ui_pbutton_t *, ui_pbutton_flags_t); -
uspace/lib/ui/private/pbutton.h
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 55 55 /** Callback argument */ 56 56 void *arg; 57 /** Custom decorationops or @c NULL */58 struct ui_pbutton_ decor_ops *decor_ops;59 /** Decorationargument */60 void * decor_arg;57 /** Custom ops or @c NULL */ 58 struct ui_pbutton_ops *ops; 59 /** Ops argument */ 60 void *ops_arg; 61 61 /** Push button rectangle */ 62 62 gfx_rect_t rect; -
uspace/lib/ui/src/pbutton.c
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 142 142 } 143 143 144 /** Set push button decoration ops. 145 * 146 * @param pbutton Push button 147 * @param ops Push button decoration callbacks 144 /** Set push button ops. 145 * 146 * These allow overriding the function for painting the button or 147 * painting the button decoration. 148 * 149 * @param pbutton Push button 150 * @param ops Push button ops 148 151 * @param arg Decoration ops argument 149 152 */ 150 void ui_pbutton_set_decor_ops(ui_pbutton_t *pbutton, 151 ui_pbutton_decor_ops_t *ops, void *arg) 152 { 153 pbutton->decor_ops = ops; 154 pbutton->decor_arg = arg; 153 void ui_pbutton_set_ops(ui_pbutton_t *pbutton, ui_pbutton_ops_t *ops, void *arg) 154 { 155 pbutton->ops = ops; 156 pbutton->ops_arg = arg; 155 157 } 156 158 … … 379 381 } 380 382 381 if (pbutton-> decor_ops != NULL && pbutton->decor_ops->paint != NULL) {383 if (pbutton->ops != NULL && pbutton->ops->decor_paint != NULL) { 382 384 /* Custom decoration */ 383 rc = pbutton-> decor_ops->paint(pbutton, pbutton->decor_arg,385 rc = pbutton->ops->decor_paint(pbutton, pbutton->ops_arg, 384 386 &pos); 385 387 if (rc != EOK) … … 503 505 errno_t ui_pbutton_paint(ui_pbutton_t *pbutton) 504 506 { 505 if (pbutton->res->textmode) 507 if (pbutton->ops != NULL && pbutton->ops->paint != NULL) { 508 /* Custom paint routine */ 509 return pbutton->ops->paint(pbutton, pbutton->ops_arg); 510 } else if (pbutton->res->textmode) { 506 511 return ui_pbutton_paint_text(pbutton); 507 else512 } else { 508 513 return ui_pbutton_paint_gfx(pbutton); 514 } 509 515 } 510 516 -
uspace/lib/ui/src/scrollbar.c
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 3Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 112 112 }; 113 113 114 static ui_pbutton_ decor_ops_t ui_scrollbar_up_btn_decor_ops = {115 . paint = ui_scrollbar_up_btn_decor_paint114 static ui_pbutton_ops_t ui_scrollbar_up_btn_ops = { 115 .decor_paint = ui_scrollbar_up_btn_decor_paint 116 116 }; 117 117 … … 121 121 }; 122 122 123 static ui_pbutton_ decor_ops_t ui_scrollbar_down_btn_decor_ops = {124 . paint = ui_scrollbar_down_btn_decor_paint123 static ui_pbutton_ops_t ui_scrollbar_down_btn_ops = { 124 .decor_paint = ui_scrollbar_down_btn_decor_paint 125 125 }; 126 126 … … 202 202 scrollbar); 203 203 204 ui_pbutton_set_ decor_ops(scrollbar->up_btn,205 &ui_scrollbar_up_btn_decor_ops, (void *)scrollbar);204 ui_pbutton_set_ops(scrollbar->up_btn, &ui_scrollbar_up_btn_ops, 205 (void *)scrollbar); 206 206 207 207 ui_pbutton_set_flags(scrollbar->up_btn, ui_pbf_no_text_depress); … … 212 212 213 213 ui_pbutton_set_cb(scrollbar->down_btn, &ui_scrollbar_down_btn_cb, 214 (void *) scrollbar);215 216 ui_pbutton_set_ decor_ops(scrollbar->down_btn,217 &ui_scrollbar_down_btn_decor_ops, (void *)scrollbar);214 (void *)scrollbar); 215 216 ui_pbutton_set_ops(scrollbar->down_btn, &ui_scrollbar_down_btn_ops, 217 (void *)scrollbar); 218 218 219 219 ui_pbutton_set_flags(scrollbar->down_btn, ui_pbf_no_text_depress); -
uspace/lib/ui/src/wdecor.c
r39f67f1 rb769ca0 1 1 /* 2 * Copyright (c) 202 4Jiri Svoboda2 * Copyright (c) 2026 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 66 66 }; 67 67 68 static ui_pbutton_ decor_ops_t ui_wdecor_btn_min_decor_ops = {69 . paint = ui_wdecor_btn_min_paint68 static ui_pbutton_ops_t ui_wdecor_btn_min_ops = { 69 .decor_paint = ui_wdecor_btn_min_paint 70 70 }; 71 71 … … 74 74 }; 75 75 76 static ui_pbutton_ decor_ops_t ui_wdecor_btn_max_decor_ops = {77 . paint = ui_wdecor_btn_max_paint76 static ui_pbutton_ops_t ui_wdecor_btn_max_ops = { 77 .decor_paint = ui_wdecor_btn_max_paint 78 78 }; 79 79 … … 82 82 }; 83 83 84 static ui_pbutton_ decor_ops_t ui_wdecor_btn_close_decor_ops = {85 . paint = ui_wdecor_btn_close_paint84 static ui_pbutton_ops_t ui_wdecor_btn_close_ops = { 85 .decor_paint = ui_wdecor_btn_close_paint 86 86 }; 87 87 … … 175 175 (void *)wdecor); 176 176 177 ui_pbutton_set_ decor_ops(wdecor->btn_min,178 &ui_wdecor_btn_min_decor_ops,(void *)wdecor);177 ui_pbutton_set_ops(wdecor->btn_min, &ui_wdecor_btn_min_ops, 178 (void *)wdecor); 179 179 } 180 180 … … 189 189 (void *)wdecor); 190 190 191 ui_pbutton_set_ decor_ops(wdecor->btn_max,192 &ui_wdecor_btn_max_decor_ops,(void *)wdecor);191 ui_pbutton_set_ops(wdecor->btn_max, &ui_wdecor_btn_max_ops, 192 (void *)wdecor); 193 193 } 194 194 … … 203 203 (void *)wdecor); 204 204 205 ui_pbutton_set_ decor_ops(wdecor->btn_close,206 &ui_wdecor_btn_close_decor_ops,(void *)wdecor);205 ui_pbutton_set_ops(wdecor->btn_close, &ui_wdecor_btn_close_ops, 206 (void *)wdecor); 207 207 } 208 208
Note:
See TracChangeset
for help on using the changeset viewer.
