wlmaker
|
#include "button.h"
#include <libbase/libbase.h>
#include <linux/input-event-codes.h>
#include <wlr/types/wlr_scene.h>
#include <wlr/types/wlr_cursor.h>
Classes | |
struct | wlmaker_button_t |
Functions | |
static wlmaker_button_t * | button_from_interactive (wlmaker_interactive_t *interactive_ptr) |
static void | button_press (wlmaker_button_t *button_ptr, bool pressed) |
static void | _button_enter (wlmaker_interactive_t *interactive_ptr) |
static void | _button_leave (wlmaker_interactive_t *interactive_ptr) |
static void | _button_motion (wlmaker_interactive_t *interactive_ptr, double x, double y) |
static void | _button_focus (wlmaker_interactive_t *interactive_ptr) |
static void | _button_button (wlmaker_interactive_t *interactive_ptr, double x, double y, struct wlr_pointer_button_event *wlr_pointer_button_event_ptr) |
static void | _button_destroy (wlmaker_interactive_t *interactive_ptr) |
wlmaker_interactive_t * | wlmaker_button_create (struct wlr_scene_buffer *wlr_scene_buffer_ptr, wlmaker_cursor_t *cursor_ptr, wlmaker_interactive_callback_t button_callback, void *button_callback_arg, struct wlr_buffer *button_released_ptr, struct wlr_buffer *button_pressed_ptr, struct wlr_buffer *button_blurred_ptr) |
void | wlmaker_button_set_textures (wlmaker_interactive_t *interactive_ptr, struct wlr_buffer *button_released_ptr, struct wlr_buffer *button_pressed_ptr, struct wlr_buffer *button_blurred_ptr) |
Variables | |
static const wlmaker_interactive_impl_t | wlmaker_interactive_button_impl |
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.
|
static |
Interactive callback: Handle cursor button, ie. button press or release.
interactive_ptr | |
x | |
y | |
wlr_pointer_button_event_ptr |
|
static |
Destroys the button interactive.
interactive_ptr |
|
static |
Interactive callback: Cursor enters the button area.
interactive_ptr |
|
static |
Interactive callback: Focus state changes.
interactive_ptr |
|
static |
Interactive callback: Cursor leaves the button area.
interactive_ptr |
|
static |
Interactive callback: Handle cursor motion.
interactive_ptr | |
x | |
y |
|
static |
Cast (with assertion) |interactive_ptr| to the |wlmaker_button_t|.
interactive_ptr |
|
static |
Changes the "pressed" state of this button, and updates the buffer texture.
button_ptr | |
pressed |
wlmaker_interactive_t * wlmaker_button_create | ( | struct wlr_scene_buffer * | wlr_scene_buffer_ptr, |
wlmaker_cursor_t * | cursor_ptr, | ||
wlmaker_interactive_callback_t | button_callback, | ||
void * | button_callback_arg, | ||
struct wlr_buffer * | button_released_ptr, | ||
struct wlr_buffer * | button_pressed_ptr, | ||
struct wlr_buffer * | button_blurred_ptr ) |
Creates a button interactive.
wlr_scene_buffer_ptr | Buffer scene node to contain the button. |
cursor_ptr | |
button_callback | Will be called if/when the button is clicked. |
button_callback_arg | Extra arg to |button_callback|. |
button_released_ptr | WLR buffer, button texture in "released" state. The button will hold a consumer lock on it. |
button_pressed_ptr | WLR buffer, button texture in "pressed" state. The button will hold a consumer lock on it. |
button_blurred_ptr | WLR buffer, button texture in "blurred" state. The button will hold a consumer lock on it. |
void wlmaker_button_set_textures | ( | wlmaker_interactive_t * | interactive_ptr, |
struct wlr_buffer * | button_released_ptr, | ||
struct wlr_buffer * | button_pressed_ptr, | ||
struct wlr_buffer * | button_blurred_ptr ) |
Sets (replaces) the textures for the button interactive.
interactive_ptr | |
button_released_ptr | WLR buffer, button texture in "released" state. The button will hold a consumer lock on it. |
button_pressed_ptr | WLR buffer, button texture in "pressed" state. The button will hold a consumer lock on it. |
button_blurred_ptr | WLR buffer, button texture in "blurred" state. The button will hold a consumer lock on it. |
|
static |
Implementation: callbacks for the interactive.