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

Classes

struct  _wlclient_icon_t

Typedefs

typedef struct _wlclient_icon_t wlclient_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 _wlclient_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)
wlclient_icon_twlclient_icon_create (wlclient_t *wlclient_ptr)
void wlclient_icon_destroy (wlclient_icon_t *icon_ptr)
bool wlclient_icon_supported (wlclient_t *wlclient_ptr)
void wlclient_icon_register_ready_callback (wlclient_icon_t *icon_ptr, bool(*callback)(bs_gfxbuf_t *gfxbuf_ptr, void *ud_ptr), void *ud_ptr)
void wlclient_icon_register_position_callback (wlclient_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 _wlclient_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.

Typedef Documentation

◆ wlclient_icon_t

State of the icon.

Forward declaration of an icon's state.

Function Documentation

◆ _wlclient_icon_input_position_observer_position()

void _wlclient_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

◆ wlclient_icon_create()

wlclient_icon_t * wlclient_icon_create ( wlclient_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 wlclient_icon_destroy.

◆ wlclient_icon_destroy()

void wlclient_icon_destroy ( wlclient_icon_t * icon_ptr)

Destroys the icon.

Parameters
icon_ptr

◆ wlclient_icon_register_position_callback()

void wlclient_icon_register_position_callback ( wlclient_icon_t * icon_ptr,
void(* callback )(double x, double y, void *ud_ptr),
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

◆ wlclient_icon_register_ready_callback()

void wlclient_icon_register_ready_callback ( wlclient_icon_t * icon_ptr,
bool(* callback )(bs_gfxbuf_t *gfxbuf_ptr, void *ud_ptr),
void * ud_ptr )

Sets a callback to invoke when the background buffer is ready for drawing.

See also
wlcl_dblbuf_register_ready_callback.
Parameters
icon_ptr
callback
ud_ptr

◆ wlclient_icon_supported()

bool wlclient_icon_supported ( wlclient_t * wlclient_ptr)

Returns whether the icon protocol is supported on the client.

Parameters
wlclient_ptr

Variable Documentation

◆ _wlclient_icon_tracker_listener

const struct ext_input_position_observer_v1_listener _wlclient_icon_tracker_listener
static
Initial value:
= {
}
static void _wlclient_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:291

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:248

Listener implementation for toplevel icon.