wlmaker
Loading...
Searching...
No Matches
Classes | Functions | Variables
icon.c File Reference
#include "icon.h"
#include <inttypes.h>
#include <libbase/libbase.h>
#include <stdlib.h>
#include <wayland-client-protocol.h>
#include "ext-input-observation-v1-client-protocol.h"
#include "wlclient.h"
#include "wlmaker-icon-unstable-v1-client-protocol.h"
Include dependency graph for icon.c:

Classes

struct  _wlmcl_icon_t
 

Functions

static void handle_toplevel_icon_configure (void *data_ptr, struct zwlmaker_toplevel_icon_v1 *zwlmaker_toplevel_icon_v1_ptr, int32_t width, int32_t height, uint32_t serial)
 
static void _wlmcl_icon_input_position_observer_position (void *data_ptr, struct ext_input_position_observer_v1 *input_position_observer_ptr, struct wl_surface *wl_surface_ptr, uint32_t instance, int32_t relative_x, int32_t relative_y)
 
wlmcl_icon_twlmcl_icon_create (wlmcl_client_t *wlclient_ptr)
 
void wlmcl_icon_destroy (wlmcl_icon_t *icon_ptr)
 
bool wlmcl_icon_supported (wlmcl_client_t *wlclient_ptr)
 
struct wl_surface * wlmcl_icon_wl_surface (wlmcl_icon_t *icon_ptr)
 
void wlmcl_icon_register_configure_callback (wlmcl_icon_t *icon_ptr, void(*callback)(void *ud_ptr, uint32_t width, uint32_t height), void *ud_ptr)
 
void wlmcl_icon_register_position_callback (wlmcl_icon_t *icon_ptr, void(*callback)(double x, double y, void *ud_ptr), void *callback_ud_ptr)
 

Variables

static const struct zwlmaker_toplevel_icon_v1_listener toplevel_icon_listener
 
static const struct ext_input_position_observer_v1_listener _wlmcl_icon_tracker_listener
 

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.

Function Documentation

◆ _wlmcl_icon_input_position_observer_position()

void _wlmcl_icon_input_position_observer_position ( void *  data_ptr,
struct ext_input_position_observer_v1 *  input_position_observer_ptr,
struct wl_surface *  wl_surface_ptr,
uint32_t  instance,
int32_t  relative_x,
int32_t  relative_y 
)
static

Callback for when a position event is received.

◆ handle_toplevel_icon_configure()

void handle_toplevel_icon_configure ( void *  data_ptr,
struct zwlmaker_toplevel_icon_v1 *  zwlmaker_toplevel_icon_v1_ptr,
int32_t  width,
int32_t  height,
uint32_t  serial 
)
static

Handles the 'configure' event: Creates appropriately sized buffer.

Parameters
data_ptr
zwlmaker_toplevel_icon_v1_ptr
width
height
serial

◆ wlmcl_icon_create()

wlmcl_icon_t * wlmcl_icon_create ( wlmcl_client_t wlclient_ptr)

Creates an icon.

Parameters
wlclient_ptr
Returns
An icon state or NULL on error. The state must be free'd by calling wlmcl_icon_destroy.

◆ wlmcl_icon_destroy()

void wlmcl_icon_destroy ( wlmcl_icon_t icon_ptr)

Destroys the icon.

Parameters
icon_ptr

◆ wlmcl_icon_register_configure_callback()

void wlmcl_icon_register_configure_callback ( wlmcl_icon_t icon_ptr,
void(*)(void *ud_ptr, uint32_t width, uint32_t height)  callback,
void *  ud_ptr 
)

Registers the callback to notify when the icon size is determined or updated.

Parameters
icon_ptr
callback
ud_ptr

◆ wlmcl_icon_register_position_callback()

void wlmcl_icon_register_position_callback ( wlmcl_icon_t icon_ptr,
void(*)(double x, double y, void *ud_ptr)  callback,
void *  callback_ud_ptr 
)

Registers the callback to notify the pointer position relative to the icon's surface.

Parameters
icon_ptr
callback
callback_ud_ptr

◆ wlmcl_icon_supported()

bool wlmcl_icon_supported ( wlmcl_client_t wlclient_ptr)

Returns whether the icon protocol is supported on the client.

Parameters
wlclient_ptr

◆ wlmcl_icon_wl_surface()

struct wl_surface * wlmcl_icon_wl_surface ( wlmcl_icon_t icon_ptr)

Returns the underlying Wayland surface of the icon.

Parameters
icon_ptr
Returns
The wl_surface pointer.

Variable Documentation

◆ _wlmcl_icon_tracker_listener

const struct ext_input_position_observer_v1_listener _wlmcl_icon_tracker_listener
static
Initial value:
= {
}
static void _wlmcl_icon_input_position_observer_position(void *data_ptr, struct ext_input_position_observer_v1 *input_position_observer_ptr, struct wl_surface *wl_surface_ptr, uint32_t instance, int32_t relative_x, int32_t relative_y)
Definition icon.c:269

Listeners for the icon's surface's pointer position Tracker.

◆ toplevel_icon_listener

const struct zwlmaker_toplevel_icon_v1_listener toplevel_icon_listener
static
Initial value:
={
}
static void handle_toplevel_icon_configure(void *data_ptr, struct zwlmaker_toplevel_icon_v1 *zwlmaker_toplevel_icon_v1_ptr, int32_t width, int32_t height, uint32_t serial)
Definition icon.c:245

Listener implementation for toplevel icon.