Changeset cd74fa8 in mainline
- Timestamp:
- 2021-03-01T22:20:27Z (4 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- d6f46c8
- Parents:
- 9c7dc8e
- Location:
- uspace
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/calculator/calculator.c
r9c7dc8e rcd74fa8 1 1 /* 2 * Copyright (c) 202 0Jiri Svoboda2 * Copyright (c) 2021 Jiri Svoboda 3 3 * Copyright (c) 2016 Martin Decky 4 4 * All rights reserved. … … 738 738 params.rect.p0.x = 0; 739 739 params.rect.p0.y = 0; 740 params.rect.p1.x = 250;741 params.rect.p1.y = 270;742 740 743 741 if (ui_is_textmode(ui)) { 742 params.rect.p1.x = 38; 743 params.rect.p1.y = 18; 744 744 745 calc.geom.entry_rect.p0.x = 4; 745 calc.geom.entry_rect.p0.y = 2;746 calc.geom.entry_rect.p1.x = 60;746 calc.geom.entry_rect.p0.y = 3; 747 calc.geom.entry_rect.p1.x = 34; 747 748 calc.geom.entry_rect.p1.y = 4; 748 749 calc.geom.btn_orig.x = 4; 749 calc.geom.btn_orig.y = 4;750 calc.geom.btn_dim.x = 12;751 calc.geom.btn_dim.y = 7;752 calc.geom.btn_stride.x = 15;753 calc.geom.btn_stride.y = 6;750 calc.geom.btn_orig.y = 5; 751 calc.geom.btn_dim.x = 6; 752 calc.geom.btn_dim.y = 2; 753 calc.geom.btn_stride.x = 8; 754 calc.geom.btn_stride.y = 3; 754 755 } else { 756 params.rect.p1.x = 250; 757 params.rect.p1.y = 270; 758 755 759 calc.geom.entry_rect.p0.x = 15; 756 760 calc.geom.entry_rect.p0.y = 45; -
uspace/lib/ui/src/entry.c
r9c7dc8e rcd74fa8 189 189 } 190 190 191 /* Paint inset frame */ 192 193 rc = ui_paint_inset_frame(entry->res, &entry->rect, &inside); 194 if (rc != EOK) 195 goto error; 191 if (entry->res->textmode == false) { 192 /* Paint inset frame */ 193 rc = ui_paint_inset_frame(entry->res, &entry->rect, &inside); 194 if (rc != EOK) 195 goto error; 196 } else { 197 inside = entry->rect; 198 } 196 199 197 200 /* Paint entry background */ … … 214 217 break; 215 218 case gfx_halign_right: 216 pos.x = inside.p1.x - hpad ;219 pos.x = inside.p1.x - hpad - 1; 217 220 break; 218 221 } -
uspace/lib/ui/src/pbutton.c
r9c7dc8e rcd74fa8 239 239 } 240 240 241 /** Paint push button. 242 * 243 * @param pbutton Push button 244 * @return EOK on success or an error code 245 */ 246 errno_t ui_pbutton_paint(ui_pbutton_t *pbutton) 241 /** Paint button text shadow. 242 * 243 * @param pbutton Push button 244 * @return EOK on success or an error code 245 */ 246 static errno_t ui_pbutton_paint_text_shadow(ui_pbutton_t *pbutton) 247 { 248 gfx_rect_t rect; 249 errno_t rc; 250 251 rect.p0.x = pbutton->rect.p0.x + 1; 252 rect.p0.y = pbutton->rect.p0.y + 1; 253 rect.p1.x = pbutton->rect.p1.x; 254 rect.p1.y = pbutton->rect.p1.y; 255 256 rc = gfx_set_color(pbutton->res->gc, pbutton->res->btn_shadow_color); 257 if (rc != EOK) 258 goto error; 259 260 rc = gfx_fill_rect(pbutton->res->gc, &rect); 261 if (rc != EOK) 262 goto error; 263 264 return EOK; 265 error: 266 return rc; 267 } 268 269 /** Paint push button in graphic mode. 270 * 271 * @param pbutton Push button 272 * @return EOK on success or an error code 273 */ 274 static errno_t ui_pbutton_paint_gfx(ui_pbutton_t *pbutton) 247 275 { 248 276 gfx_coord2_t pos; … … 308 336 error: 309 337 return rc; 338 } 339 340 /** Paint push button in text mode. 341 * 342 * @param pbutton Push button 343 * @return EOK on success or an error code 344 */ 345 static errno_t ui_pbutton_paint_text(ui_pbutton_t *pbutton) 346 { 347 gfx_coord2_t pos; 348 gfx_text_fmt_t fmt; 349 gfx_rect_t rect; 350 bool depressed; 351 errno_t rc; 352 353 depressed = pbutton->held && pbutton->inside; 354 355 rc = gfx_set_color(pbutton->res->gc, pbutton->res->wnd_face_color); 356 if (rc != EOK) 357 goto error; 358 359 rc = gfx_fill_rect(pbutton->res->gc, &pbutton->rect); 360 if (rc != EOK) 361 goto error; 362 363 rect.p0.x = pbutton->rect.p0.x + (depressed ? 1 : 0); 364 rect.p0.y = pbutton->rect.p0.y; 365 rect.p1.x = pbutton->rect.p1.x - 1 + (depressed ? 1 : 0); 366 rect.p1.y = pbutton->rect.p0.y + 1; 367 368 rc = gfx_set_color(pbutton->res->gc, pbutton->res->btn_highlight_color); 369 if (rc != EOK) 370 goto error; 371 372 rc = gfx_fill_rect(pbutton->res->gc, &rect); 373 if (rc != EOK) 374 goto error; 375 376 /* Center of button rectangle */ 377 pos.x = (rect.p0.x + rect.p1.x) / 2; 378 pos.y = (rect.p0.y + rect.p1.y) / 2; 379 380 gfx_text_fmt_init(&fmt); 381 fmt.color = pbutton->res->btn_text_color; 382 fmt.halign = gfx_halign_center; 383 fmt.valign = gfx_valign_center; 384 385 rc = gfx_puttext(pbutton->res->font, &pos, &fmt, pbutton->caption); 386 if (rc != EOK) 387 goto error; 388 389 if (!depressed) { 390 rc = ui_pbutton_paint_text_shadow(pbutton); 391 if (rc != EOK) 392 goto error; 393 } 394 395 rc = gfx_update(pbutton->res->gc); 396 if (rc != EOK) 397 goto error; 398 399 return EOK; 400 error: 401 return rc; 402 } 403 404 /** Paint push button. 405 * 406 * @param pbutton Push button 407 * @return EOK on success or an error code 408 */ 409 errno_t ui_pbutton_paint(ui_pbutton_t *pbutton) 410 { 411 if (pbutton->res->textmode) 412 return ui_pbutton_paint_text(pbutton); 413 else 414 return ui_pbutton_paint_gfx(pbutton); 310 415 } 311 416 -
uspace/lib/ui/src/wdecor.c
r9c7dc8e rcd74fa8 59 59 wdecor_corner_h = 24, 60 60 wdecor_edge_w = 4, 61 wdecor_edge_h = 4 61 wdecor_edge_h = 4, 62 wdecor_tbar_h = 22, 63 wdecor_tbar_h_text = 1, 64 wdecor_frame_w = 4, 65 wdecor_frame_w_text = 1 62 66 }; 63 67 … … 180 184 return rc; 181 185 182 rc = ui_paint_bevel(wdecor->res->gc, &rect, 183 wdecor->res->wnd_highlight_color, 184 wdecor->res->wnd_shadow_color, 1, &rect); 185 if (rc != EOK) 186 return rc; 187 188 rc = ui_paint_bevel(wdecor->res->gc, &rect, 189 wdecor->res->wnd_face_color, 190 wdecor->res->wnd_face_color, 2, &rect); 191 if (rc != EOK) 192 return rc; 186 if (wdecor->res->textmode == false) { 187 rc = ui_paint_bevel(wdecor->res->gc, &rect, 188 wdecor->res->wnd_highlight_color, 189 wdecor->res->wnd_shadow_color, 1, &rect); 190 if (rc != EOK) 191 return rc; 192 193 rc = ui_paint_bevel(wdecor->res->gc, &rect, 194 wdecor->res->wnd_face_color, 195 wdecor->res->wnd_face_color, 2, &rect); 196 if (rc != EOK) 197 return rc; 198 } 193 199 } 194 200 … … 196 202 trect = geom.title_bar_rect; 197 203 198 rc = ui_paint_bevel(wdecor->res->gc, &trect, 199 wdecor->res->wnd_shadow_color, 200 wdecor->res->wnd_highlight_color, 1, &trect); 201 if (rc != EOK) 202 return rc; 204 if (wdecor->res->textmode == false) { 205 rc = ui_paint_bevel(wdecor->res->gc, &trect, 206 wdecor->res->wnd_shadow_color, 207 wdecor->res->wnd_highlight_color, 1, &trect); 208 if (rc != EOK) 209 return rc; 210 } 203 211 204 212 rc = gfx_set_color(wdecor->res->gc, wdecor->active ? … … 292 300 void ui_wdecor_get_geom(ui_wdecor_t *wdecor, ui_wdecor_geom_t *geom) 293 301 { 302 gfx_coord_t frame_w; 303 gfx_coord_t tbar_h; 304 294 305 /* Does window have a frame? */ 295 306 if ((wdecor->style & ui_wds_frame) != 0) { 296 geom->interior_rect.p0.x = wdecor->rect.p0.x + 4; 297 geom->interior_rect.p0.y = wdecor->rect.p0.y + 4; 298 geom->interior_rect.p1.x = wdecor->rect.p1.x - 4; 299 geom->interior_rect.p1.y = wdecor->rect.p1.y - 4; 307 frame_w = wdecor->res->textmode ? 308 wdecor_frame_w_text : wdecor_frame_w; 309 310 geom->interior_rect.p0.x = wdecor->rect.p0.x + frame_w; 311 geom->interior_rect.p0.y = wdecor->rect.p0.y + frame_w; 312 geom->interior_rect.p1.x = wdecor->rect.p1.x - frame_w; 313 geom->interior_rect.p1.y = wdecor->rect.p1.y - frame_w; 300 314 } else { 301 315 geom->interior_rect = wdecor->rect; … … 304 318 /* Does window have a title bar? */ 305 319 if ((wdecor->style & ui_wds_titlebar) != 0) { 320 tbar_h = wdecor->res->textmode ? 321 wdecor_tbar_h_text : wdecor_tbar_h; 322 306 323 geom->title_bar_rect.p0 = geom->interior_rect.p0; 307 324 geom->title_bar_rect.p1.x = geom->interior_rect.p1.x; 308 geom->title_bar_rect.p1.y = geom->interior_rect.p0.y + 22;325 geom->title_bar_rect.p1.y = geom->interior_rect.p0.y + tbar_h; 309 326 310 327 geom->app_area_rect.p0.x = geom->interior_rect.p0.x; … … 322 339 /* Does window have a close button? */ 323 340 if ((wdecor->style & ui_wds_close_btn) != 0) { 324 geom->btn_close_rect.p0.x = geom->title_bar_rect.p1.x - 1 - 20; 325 geom->btn_close_rect.p0.y = geom->title_bar_rect.p0.y + 1; 326 geom->btn_close_rect.p1.x = geom->title_bar_rect.p1.x - 1; 327 geom->btn_close_rect.p1.y = geom->title_bar_rect.p0.y + 1 + 20; 341 if (wdecor->res->textmode == false) { 342 geom->btn_close_rect.p0.x = 343 geom->title_bar_rect.p1.x - 1 - 20; 344 geom->btn_close_rect.p0.y = 345 geom->title_bar_rect.p0.y + 1; 346 geom->btn_close_rect.p1.x = 347 geom->title_bar_rect.p1.x - 1; 348 geom->btn_close_rect.p1.y = 349 geom->title_bar_rect.p0.y + 1 + 20; 350 } else { 351 geom->btn_close_rect.p0.x = 352 geom->title_bar_rect.p1.x - 1 - 3; 353 geom->btn_close_rect.p0.y = 354 geom->title_bar_rect.p0.y; 355 geom->btn_close_rect.p1.x = 356 geom->title_bar_rect.p1.x - 1; 357 geom->btn_close_rect.p1.y = 358 geom->title_bar_rect.p0.y + 1; 359 } 328 360 } else { 329 361 geom->btn_close_rect.p0.x = 0;
Note:
See TracChangeset
for help on using the changeset viewer.