wlmaker
|
#include "backend.h"
#include <libbase/libbase.h>
#include <libbase/plist.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <toolkit/toolkit.h>
#include <wayland-server-core.h>
#include <wayland-util.h>
#include <wlr/backend.h>
#include <wlr/backend/session.h>
#include <wlr/render/allocator.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_output_layout.h>
#include <wlr/types/wlr_scene.h>
#include <wlr/types/wlr_screencopy_v1.h>
#include <wlr/types/wlr_subcompositor.h>
#include <wlr/version.h>
#include "output.h"
#include "output_config.h"
#include "output_manager.h"
Classes | |
struct | _wlmbe_backend_t |
Functions | |
static void | _wlmbe_backend_handle_new_output (struct wl_listener *listener_ptr, void *data_ptr) |
static bool | _wlmbe_backend_decode_item (bspl_object_t *obj_ptr, size_t i, void *dest_ptr) |
static void | _wlmbe_backend_decode_fini (void *dest_ptr) |
static void | _wlmbe_backend_config_dlnode_destroy (bs_dllist_node_t *dlnode_ptr, void *ud_ptr) |
wlmbe_backend_t * | wlmbe_backend_create (struct wl_display *wl_display_ptr, struct wlr_scene *wlr_scene_ptr, struct wlr_output_layout *wlr_output_layout_ptr, int width, int height, bspl_dict_t *config_dict_ptr) |
void | wlmbe_backend_destroy (wlmbe_backend_t *backend_ptr) |
void | wlmbe_backend_switch_to_vt (wlmbe_backend_t *backend_ptr, unsigned vt_num) |
struct wlr_backend * | wlmbe_backend_wlr (wlmbe_backend_t *backend_ptr) |
struct wlr_compositor * | wlmbe_backend_compositor (wlmbe_backend_t *backend_ptr) |
struct wlr_output * | wlmbe_primary_output (struct wlr_output_layout *wlr_output_layout_ptr) |
size_t | wlmbe_num_outputs (struct wlr_output_layout *wlr_output_layout_ptr) |
bool | _wlmbe_backend_add_output (wlmbe_backend_t *backend_ptr, wlmbe_output_t *output_ptr) |
static void | _wlmbe_backend_test_find (bs_test_t *test_ptr) |
Variables | |
static const bspl_desc_t | _wlmbe_output_configs_desc [] |
static const bspl_desc_t | _wlmbe_outputs_state_desc [] |
const bs_test_case_t | wlmbe_backend_test_cases [] |
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.
bool _wlmbe_backend_add_output | ( | wlmbe_backend_t * | backend_ptr, |
wlmbe_output_t * | output_ptr | ||
) |
Adds the output to the backend.
backend_ptr | |
output_ptr |
|
static |
Iterator callback: Destroys a wlmbe_output_config_t.
dlnode_ptr | To wlmbe_output_config_t::dlnode, and identifies the config node to destroy. |
ud_ptr | unused. |
|
static |
Frees all resources of the wlmbe_output_config_t in the list.
|
static |
Decodes an item of Outputs
.
|
static |
Handles new output events: Creates wlmbe_output_t and adds them.
|
static |
Tests that output configurations are found as desired.
struct wlr_compositor * wlmbe_backend_compositor | ( | wlmbe_backend_t * | backend_ptr | ) |
Accessor. TODO(kaese.nosp@m.r@gu.nosp@m.bbe.c.nosp@m.h): Eliminate.
wlmbe_backend_t * wlmbe_backend_create | ( | struct wl_display * | wl_display_ptr, |
struct wlr_scene * | wlr_scene_ptr, | ||
struct wlr_output_layout * | wlr_output_layout_ptr, | ||
int | width, | ||
int | height, | ||
bspl_dict_t * | config_dict_ptr | ||
) |
Creates the backend drivers.
wl_display_ptr | |
wlr_scene_ptr | |
wlr_output_layout_ptr | |
width | |
height | |
config_dict_ptr |
void wlmbe_backend_destroy | ( | wlmbe_backend_t * | backend_ptr | ) |
Destroys the server backend.
backend_ptr |
void wlmbe_backend_switch_to_vt | ( | wlmbe_backend_t * | backend_ptr, |
unsigned | vt_num | ||
) |
Switches to the given virtual terminal, if a wlroots session is available.
Logs if wlr_session_change_vt() fails, but ignores the errors.
backend_ptr | |
vt_num |
struct wlr_backend * wlmbe_backend_wlr | ( | wlmbe_backend_t * | backend_ptr | ) |
Accessor. TODO(kaese.nosp@m.r@gu.nosp@m.bbe.c.nosp@m.h): Eliminate.
size_t wlmbe_num_outputs | ( | struct wlr_output_layout * | wlr_output_layout_ptr | ) |
Returns the number of outputs active in the output layout.
wlr_output_layout_ptr |
struct wlr_output * wlmbe_primary_output | ( | struct wlr_output_layout * | wlr_output_layout_ptr | ) |
Returns the primary output. Currently that is the first output found in the output layout.
wlr_output_layout_ptr |
struct wlr_output
for the primary output.
|
static |
Descriptor for the output configuration.
|
static |
Descriptor for the output state, stored as plist.
const bs_test_case_t wlmbe_backend_test_cases[] |
Unit test cases.