|
| void | wlmaker_view_init (wlmaker_view_t *view_ptr, const wlmaker_view_impl_t *view_impl_ptr, wlmaker_server_t *server_ptr, struct wlr_surface *wlr_surface_ptr, struct wlr_scene_tree *wlr_scene_tree_ptr, wlmaker_view_send_close_callback_t send_close_callback) |
| |
| void | wlmaker_view_fini (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_raise_to_top (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_set_active (wlmaker_view_t *view_ptr, bool active) |
| |
| wlmaker_view_t * | wlmaker_view_from_dlnode (bs_dllist_node_t *node_ptr) |
| |
| bs_dllist_node_t * | wlmaker_dlnode_from_view (wlmaker_view_t *view_ptr) |
| |
| struct wlr_scene_node * | wlmaker_wlr_scene_node_from_view (wlmaker_view_t *view_ptr) |
| |
| struct wlr_surface * | wlmaker_view_get_wlr_surface (wlmaker_view_t *view_ptr) |
| |
| wlmaker_view_t * | wlmaker_view_at (wlmaker_server_t *server_ptr, double x, double y, struct wlr_surface **wlr_surface_ptr_ptr, double *rel_x_ptr, double *rel_y_ptr) |
| |
| void | wlmaker_view_handle_motion (wlmaker_view_t *view_ptr, double x, double y) |
| |
| void | wlmaker_view_handle_button (wlmaker_view_t *view_ptr, double x, double y, struct wlr_pointer_button_event *event_ptr) |
| |
| void | wlmaker_view_handle_axis (wlmaker_view_t *view_ptr, double x, double y, struct wlr_pointer_axis_event *event_ptr) |
| |
| void | wlmaker_view_window_menu_show (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_window_menu_hide (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_cursor_leave (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_shade (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_get_size (wlmaker_view_t *view_ptr, uint32_t *width_ptr, uint32_t *height_ptr) |
| |
| void | wlmaker_view_set_size (wlmaker_view_t *view_ptr, int width, int height) |
| |
| void | wlmaker_view_set_maximized (wlmaker_view_t *view_ptr, bool maximize) |
| |
| void | wlmaker_view_set_fullscreen (wlmaker_view_t *view_ptr, bool fullscreen) |
| |
| void | wlmaker_view_set_iconified (wlmaker_view_t *view_ptr, bool iconified) |
| |
| void | wlmaker_view_get_position (wlmaker_view_t *view_ptr, int *x_ptr, int *y_ptr) |
| |
| void | wlmaker_view_set_position (wlmaker_view_t *view_ptr, int x, int y) |
| |
| void | wlmaker_view_set_title (wlmaker_view_t *view_ptr, const char *title_ptr) |
| |
| const char * | wlmaker_view_get_title (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_set_app_id (wlmaker_view_t *view_ptr, const char *app_id_ptr) |
| |
| const char * | wlmaker_view_get_app_id (wlmaker_view_t *view_ptr) |
| |
| void | wlmaker_view_map (wlmaker_view_t *view_ptr, wlmaker_workspace_t *workspace_ptr, wlmaker_workspace_layer_t layer) |
| |
| void | wlmaker_view_unmap (wlmaker_view_t *view_ptr) |
| |
| uint32_t | wlmaker_view_get_anchor (wlmaker_view_t *view_ptr) |
| |
| struct wlr_output * | wlmaker_view_get_wlr_output (wlmaker_view_t *view_ptr) |
| |
| const wlmaker_client_t * | wlmaker_view_get_client (wlmaker_view_t *view_ptr) |
| |
- Copyright
- Copyright 2023 Google LLC
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
The view is an abstraction to handle windows, eg. XDG shells.
A view has the following properties:
- A position, width and height.
- It has a surface.
- It has a position in the stack of other views & can be raised or lowered.
- It may be activated (or be configured to not be activate-able)
- It may be mapped (visible) or unmapped (not visible)
- It may be maximized, minimized, full-screen, (normal) or rolled up.
TODO: finalize.
Should have a state, which can be:
- unmapped
- iconified
- fullscreen
- maximized
- shaded (only applies to server-side decorated views)
- organic The current transition between these states is messy. Also, iconified is not just a state of the view, but also an object that wraps the view, leading to some weird interactions there. In C++ terminology, an iconified should be created via a method call to the view (ie. ctor for iconified should be protected and friend to view).