Changeset 35cffea in mainline for uspace/lib/display/src/disp_srv.c
- Timestamp:
- 2022-05-19T08:02:31Z (3 years ago)
- Branches:
- master, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ad698f4
- Parents:
- fd05ea6
- git-author:
- Jiri Svoboda <jiri@…> (2022-05-18 17:02:12)
- git-committer:
- Jiri Svoboda <jiri@…> (2022-05-19 08:02:31)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/display/src/disp_srv.c
rfd05ea6 r35cffea 1 1 /* 2 * Copyright (c) 202 1Jiri Svoboda2 * Copyright (c) 2022 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 230 230 } 231 231 232 static void display_window_get_max_rect_srv(display_srv_t *srv, 233 ipc_call_t *icall) 234 { 235 sysarg_t wnd_id; 236 ipc_call_t call; 237 gfx_rect_t rect; 238 size_t size; 239 errno_t rc; 240 241 wnd_id = ipc_get_arg1(icall); 242 243 if (srv->ops->window_get_max_rect == NULL) { 244 async_answer_0(icall, ENOTSUP); 245 return; 246 } 247 248 if (!async_data_read_receive(&call, &size)) { 249 async_answer_0(icall, EREFUSED); 250 return; 251 } 252 253 rc = srv->ops->window_get_max_rect(srv->arg, wnd_id, &rect); 254 if (rc != EOK) { 255 async_answer_0(&call, rc); 256 async_answer_0(icall, rc); 257 return; 258 } 259 260 if (size != sizeof(gfx_rect_t)) { 261 async_answer_0(&call, EINVAL); 262 async_answer_0(icall, EINVAL); 263 return; 264 } 265 266 rc = async_data_read_finalize(&call, &rect, size); 267 if (rc != EOK) { 268 async_answer_0(&call, rc); 269 async_answer_0(icall, rc); 270 return; 271 } 272 273 async_answer_0(icall, EOK); 274 } 275 232 276 static void display_window_resize_req_srv(display_srv_t *srv, ipc_call_t *icall) 233 277 { … … 306 350 rc = srv->ops->window_resize(srv->arg, wnd_id, &wresize.offs, 307 351 &wresize.nrect); 352 async_answer_0(icall, rc); 353 } 354 355 static void display_window_maximize_srv(display_srv_t *srv, ipc_call_t *icall) 356 { 357 sysarg_t wnd_id; 358 errno_t rc; 359 360 wnd_id = ipc_get_arg1(icall); 361 362 if (srv->ops->window_maximize == NULL) { 363 async_answer_0(icall, ENOTSUP); 364 return; 365 } 366 367 rc = srv->ops->window_maximize(srv->arg, wnd_id); 368 async_answer_0(icall, rc); 369 } 370 371 static void display_window_unmaximize_srv(display_srv_t *srv, ipc_call_t *icall) 372 { 373 sysarg_t wnd_id; 374 errno_t rc; 375 376 wnd_id = ipc_get_arg1(icall); 377 378 if (srv->ops->window_unmaximize == NULL) { 379 async_answer_0(icall, ENOTSUP); 380 return; 381 } 382 383 rc = srv->ops->window_unmaximize(srv->arg, wnd_id); 308 384 async_answer_0(icall, rc); 309 385 } … … 445 521 display_window_get_pos_srv(srv, &call); 446 522 break; 523 case DISPLAY_WINDOW_GET_MAX_RECT: 524 display_window_get_max_rect_srv(srv, &call); 525 break; 447 526 case DISPLAY_WINDOW_RESIZE_REQ: 448 527 display_window_resize_req_srv(srv, &call); … … 450 529 case DISPLAY_WINDOW_RESIZE: 451 530 display_window_resize_srv(srv, &call); 531 break; 532 case DISPLAY_WINDOW_MAXIMIZE: 533 display_window_maximize_srv(srv, &call); 534 break; 535 case DISPLAY_WINDOW_UNMAXIMIZE: 536 display_window_unmaximize_srv(srv, &call); 452 537 break; 453 538 case DISPLAY_WINDOW_SET_CURSOR:
Note:
See TracChangeset
for help on using the changeset viewer.