wlmaker
|
#include "titlebar_button.h"
#include <libbase/libbase.h>
#include <linux/input-event-codes.h>
#include <stdlib.h>
#include <wlr/interfaces/wlr_buffer.h>
#include "buffer.h"
#include "button.h"
#include "content.h"
#include "gfxbuf.h"
#include "input.h"
#include "primitives.h"
Classes | |
struct | _wlmtk_titlebar_button_t |
Functions | |
static void | titlebar_button_element_destroy (wlmtk_element_t *element_ptr) |
static void | titlebar_button_clicked (wlmtk_button_t *button_ptr) |
static void | update_buffers (wlmtk_titlebar_button_t *titlebar_button_ptr) |
static struct wlr_buffer * | create_buf (bs_gfxbuf_t *gfxbuf_ptr, int position, bool pressed, bool focussed, const wlmtk_titlebar_style_t *style_ptr, wlmtk_titlebar_button_draw_t draw) |
wlmtk_titlebar_button_t * | wlmtk_titlebar_button_create (void(*click_handler)(wlmtk_window_t *window_ptr), wlmtk_window_t *window_ptr, wlmtk_titlebar_button_draw_t draw) |
void | wlmtk_titlebar_button_destroy (wlmtk_titlebar_button_t *titlebar_button_ptr) |
void | wlmtk_titlebar_button_set_activated (wlmtk_titlebar_button_t *titlebar_button_ptr, bool activated) |
bool | wlmtk_titlebar_button_redraw (wlmtk_titlebar_button_t *titlebar_button_ptr, bs_gfxbuf_t *focussed_gfxbuf_ptr, bs_gfxbuf_t *blurred_gfxbuf_ptr, int position, const wlmtk_titlebar_style_t *style_ptr) |
wlmtk_element_t * | wlmtk_titlebar_button_element (wlmtk_titlebar_button_t *titlebar_button_ptr) |
static void | test_button (bs_test_t *test_ptr) |
Variables | |
static const wlmtk_element_vmt_t | titlebar_button_element_vmt |
static const wlmtk_button_vmt_t | titlebar_button_vmt |
const bs_test_case_t | wlmtk_titlebar_button_test_cases [] |
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 |
Helper: Creates a WLR buffer for the button.
|
static |
Tests button visualization.
|
static |
Handles button clicks: Passes the request to the window.
|
static |
Virtual destructor, wraps to wlmtk_titlebar_button_destroy.
|
static |
Updates the button's buffer depending on activation status.
wlmtk_titlebar_button_t * wlmtk_titlebar_button_create | ( | void(*)(wlmtk_window_t *window_ptr) | click_handler, |
wlmtk_window_t * | window_ptr, | ||
wlmtk_titlebar_button_draw_t | draw | ||
) |
Creates a button for the titlebar.
click_handler | |
window_ptr | |
draw |
void wlmtk_titlebar_button_destroy | ( | wlmtk_titlebar_button_t * | titlebar_button_ptr | ) |
Destroys the titlebar button.
titlebar_button_ptr |
wlmtk_element_t * wlmtk_titlebar_button_element | ( | wlmtk_titlebar_button_t * | titlebar_button_ptr | ) |
Returns the titlebar button's super element.
titlebar_button_ptr |
bool wlmtk_titlebar_button_redraw | ( | wlmtk_titlebar_button_t * | titlebar_button_ptr, |
bs_gfxbuf_t * | focussed_gfxbuf_ptr, | ||
bs_gfxbuf_t * | blurred_gfxbuf_ptr, | ||
int | position, | ||
const wlmtk_titlebar_style_t * | style_ptr | ||
) |
Redraws the titlebar button for given textures, position and style.
titlebar_button_ptr | |
focussed_gfxbuf_ptr | |
blurred_gfxbuf_ptr | |
position | |
style_ptr |
void wlmtk_titlebar_button_set_activated | ( | wlmtk_titlebar_button_t * | titlebar_button_ptr, |
bool | activated | ||
) |
Sets the activation status (focussed / blurred) of the titlebar button.
titlebar_button_ptr | |
activated |
|
static |
Extension to the superclass element's virtual method table.
|
static |
Extension to the parent button class' virtual methods.
const bs_test_case_t wlmtk_titlebar_button_test_cases[] |
Unit test cases.