Changeset 8eeffc1 in mainline for uspace/lib
- Timestamp:
- 2024-06-29T00:49:17Z (16 months ago)
- Children:
- 9a664b6d
- Parents:
- af3235d
- Location:
- uspace/lib/wndmgt
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/wndmgt/include/ipc/wndmgt.h
raf3235d r8eeffc1 43 43 WNDMGT_GET_WINDOW_INFO, 44 44 WNDMGT_ACTIVATE_WINDOW, 45 WNDMGT_DEACTIVATE_WINDOW, 45 46 WNDMGT_CLOSE_WINDOW, 46 47 WNDMGT_GET_EVENT, -
uspace/lib/wndmgt/include/wndmgt.h
raf3235d r8eeffc1 48 48 extern void wndmgt_free_window_info(wndmgt_window_info_t *); 49 49 extern errno_t wndmgt_activate_window(wndmgt_t *, sysarg_t, sysarg_t); 50 extern errno_t wndmgt_deactivate_window(wndmgt_t *, sysarg_t, sysarg_t); 50 51 extern errno_t wndmgt_close_window(wndmgt_t *, sysarg_t); 51 52 -
uspace/lib/wndmgt/include/wndmgt_srv.h
raf3235d r8eeffc1 53 53 errno_t (*get_window_info)(void *, sysarg_t, wndmgt_window_info_t **); 54 54 errno_t (*activate_window)(void *, sysarg_t, sysarg_t); 55 errno_t (*deactivate_window)(void *, sysarg_t, sysarg_t); 55 56 errno_t (*close_window)(void *, sysarg_t); 56 57 errno_t (*get_event)(void *, wndmgt_ev_t *); -
uspace/lib/wndmgt/src/wndmgt.c
raf3235d r8eeffc1 308 308 } 309 309 310 /** Deactivate (minimize) window. 311 * 312 * @param wndmgt Window management session 313 * @param dev_id ID of input device belonging to seat whose 314 * focus is to be switched 315 * @param wnd_id Window ID 316 * @return EOK on success or an error code 317 */ 318 errno_t wndmgt_deactivate_window(wndmgt_t *wndmgt, sysarg_t dev_id, 319 sysarg_t wnd_id) 320 { 321 async_exch_t *exch; 322 errno_t rc; 323 324 exch = async_exchange_begin(wndmgt->sess); 325 rc = async_req_2_0(exch, WNDMGT_DEACTIVATE_WINDOW, dev_id, 326 wnd_id); 327 328 async_exchange_end(exch); 329 return rc; 330 } 331 310 332 /** Close window. 311 333 * -
uspace/lib/wndmgt/src/wndmgt_srv.c
raf3235d r8eeffc1 222 222 } 223 223 224 static void wndmgt_deactivate_window_srv(wndmgt_srv_t *srv, ipc_call_t *icall) 225 { 226 sysarg_t dev_id; 227 sysarg_t wnd_id; 228 errno_t rc; 229 230 dev_id = ipc_get_arg1(icall); 231 wnd_id = ipc_get_arg2(icall); 232 233 if (srv->ops->deactivate_window == NULL) { 234 async_answer_0(icall, ENOTSUP); 235 return; 236 } 237 238 rc = srv->ops->deactivate_window(srv->arg, dev_id, wnd_id); 239 async_answer_0(icall, rc); 240 } 241 224 242 static void wndmgt_close_window_srv(wndmgt_srv_t *srv, ipc_call_t *icall) 225 243 { … … 308 326 case WNDMGT_ACTIVATE_WINDOW: 309 327 wndmgt_activate_window_srv(srv, &call); 328 break; 329 case WNDMGT_DEACTIVATE_WINDOW: 330 wndmgt_deactivate_window_srv(srv, &call); 310 331 break; 311 332 case WNDMGT_CLOSE_WINDOW:
Note:
See TracChangeset
for help on using the changeset viewer.