wlmaker
Loading...
Searching...
No Matches
Typedefs | Functions | Variables
output_tracker.h File Reference
#include <libbase/libbase.h>
Include dependency graph for output_tracker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct _wlmtk_output_tracker_t wlmtk_output_tracker_t
 
typedef void *(* wlmtk_output_tracker_output_create_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr)
 
typedef void(* wlmtk_output_tracker_output_update_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr, void *output_ptr)
 
typedef void(* wlmtk_output_tracker_output_destroy_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr, void *output_ptr)
 

Functions

wlmtk_output_tracker_twlmtk_output_tracker_create (struct wlr_output_layout *wlr_output_layout_ptr, void *userdata_ptr, wlmtk_output_tracker_output_create_callback_t create_fn, wlmtk_output_tracker_output_update_callback_t update_fn, wlmtk_output_tracker_output_destroy_callback_t destroy_fn)
 
void wlmtk_output_tracker_destroy (wlmtk_output_tracker_t *tracker_ptr)
 
void * wlmtk_output_tracker_get_output (wlmtk_output_tracker_t *tracker_ptr, struct wlr_output *wlr_output_ptr)
 
struct wlr_output_layout * wlmtk_output_tracker_get_layout (wlmtk_output_tracker_t *tracker_ptr)
 

Variables

const bs_test_case_t wlmtk_output_tracker_test_cases []
 

Detailed Description

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.

Typedef Documentation

◆ wlmtk_output_tracker_output_create_callback_t

typedef void *(* wlmtk_output_tracker_output_create_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr)

Called when wlr_output_ptr got added to the layout.

Parameters
wlr_output_ptr
ud_ptrThe userdata_ptr of wlmtk_output_tracker_create.
Returns
NULL for error, or a pointer that will be passed to wlmtk_output_tracker_output_update_callback_t, respectively to wlmtk_output_tracker_output_destroy_callback_t.

◆ wlmtk_output_tracker_output_destroy_callback_t

typedef void(* wlmtk_output_tracker_output_destroy_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr, void *output_ptr)

Called when wlr_output_ptr got removed from the layout.

Parameters
wlr_output_ptr
ud_ptr
output_ptr

◆ wlmtk_output_tracker_output_update_callback_t

typedef void(* wlmtk_output_tracker_output_update_callback_t) (struct wlr_output *wlr_output_ptr, void *ud_ptr, void *output_ptr)

Called on layout updates, when wlr_output_ptr remains in layout.

That can happen eg. when resolution or position changes; or when an unrelated output is added or removed.

Parameters
wlr_output_ptr
ud_ptr
output_ptr

◆ wlmtk_output_tracker_t

State of the output tracker.

Function Documentation

◆ wlmtk_output_tracker_create()

wlmtk_output_tracker_t * wlmtk_output_tracker_create ( struct wlr_output_layout *  wlr_output_layout_ptr,
void *  userdata_ptr,
wlmtk_output_tracker_output_create_callback_t  create_fn,
wlmtk_output_tracker_output_update_callback_t  update_fn,
wlmtk_output_tracker_output_destroy_callback_t  destroy_fn 
)

Creates an output tracker.

Parameters
wlr_output_layout_ptr
userdata_ptrWill be passed to the callbacks below.
create_fn
update_fn
destroy_fn
Returns
A tracker handle, or NULL on error.

◆ wlmtk_output_tracker_destroy()

void wlmtk_output_tracker_destroy ( wlmtk_output_tracker_t tracker_ptr)

Destroys the output tracker.

wlmtk_output_tracker_output_destroy_callback_t will be called for any yet-remaining output.

Parameters
tracker_ptr

◆ wlmtk_output_tracker_get_layout()

struct wlr_output_layout * wlmtk_output_tracker_get_layout ( wlmtk_output_tracker_t tracker_ptr)

◆ wlmtk_output_tracker_get_output()

void * wlmtk_output_tracker_get_output ( wlmtk_output_tracker_t tracker_ptr,
struct wlr_output *  wlr_output_ptr 
)

Returns the "created output" for wlr_output_ptr.

Parameters
tracker_ptr
wlr_output_ptr
Returns
Return value of wlmtk_output_tracker_output_create_callback_t that was called for the value of wlr_output_ptr. Or NULL, if wlr_output_ptr is not tracked.

Variable Documentation

◆ wlmtk_output_tracker_test_cases

const bs_test_case_t wlmtk_output_tracker_test_cases[]
extern

Output tracker unit test.