wlmaker
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
icon.c File Reference
#include "icon.h"
#include "buffer.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 handle_frame_done (void *data_ptr, struct wl_callback *callback, uint32_t time)
 
static void handle_buffer_ready (void *data_ptr)
 
static void state (wlclient_icon_t *icon_ptr)
 
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_callback_when_ready (wlclient_icon_t *icon_ptr, wlclient_icon_gfxbuf_callback_t callback, void *ud_ptr)
 

Variables

static const struct zwlmaker_toplevel_icon_v1_listener toplevel_icon_listener
 
static const struct wl_callback_listener frame_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.

Function Documentation

◆ handle_buffer_ready()

void handle_buffer_ready ( void * data_ptr)
static

Updates the information that there is a buffer ready to be drawn into.

Parameters
data_ptr

◆ handle_frame_done()

void handle_frame_done ( void * data_ptr,
struct wl_callback * callback,
uint32_t time )
static

Registers the frame got displayed, potentially triggers the callback.

Parameters
data_ptr
callback
time

◆ 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

◆ state()

void state ( wlclient_icon_t * icon_ptr)
static

Runs the ready callback, if due.

Parameters
icon_ptr

◆ wlclient_icon_callback_when_ready()

void wlclient_icon_callback_when_ready ( wlclient_icon_t * icon_ptr,
wlclient_icon_gfxbuf_callback_t callback,
void * ud_ptr )

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

If the background buffer is already ready, the callback will get executed right away. Otherwise, the callback will be registered for the icon, and executed as the background buffer becomes available.

The callback will be invoked once only. If repeated calls are desired, the callee should call wlclient_icon_callback_when_ready again from within the callback method.

Only one callback may be active at any time. Any further invocation will replace the already-registered callback. To unregister a callback, call the function with callback == NULL.

Parameters
icon_ptr
callback
ud_ptr

◆ 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_supported()

bool wlclient_icon_supported ( wlclient_t * wlclient_ptr)

Returns whether the icon protocol is supported on the client.

Parameters
wlclient_ptr

Variable Documentation

◆ frame_listener

const struct wl_callback_listener frame_listener
static
Initial value:
= {
}
static void handle_frame_done(void *data_ptr, struct wl_callback *callback, uint32_t time)
Definition icon.c:226

Listener implementation for the frame.

◆ 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:176

Listener implementation for toplevel icon.