libxputty
0.1
A damn tiny abstraction Layer to create X11 window/widgets with cairo surfaces
xlabel_private.c
Go to the documentation of this file.
1
/*
2
* 0BSD
3
*
4
* BSD Zero Clause License
5
*
6
* Copyright (c) 2019 Hermann Meyer
7
*
8
* Permission to use, copy, modify, and/or distribute this software for any
9
* purpose with or without fee is hereby granted.
10
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
12
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
13
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
14
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
15
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
16
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17
* PERFORMANCE OF THIS SOFTWARE.
18
*
19
*/
20
21
22
#include "
xlabel_private.h
"
23
24
25
void
_draw_label
(
void
*w_,
void
* user_data) {
26
Widget_t
*w = (
Widget_t
*)w_;
27
XWindowAttributes attrs;
28
XGetWindowAttributes(w->
app
->
dpy
, (Window)w->
widget
, &attrs);
29
int
width = attrs.width;
30
int
height = attrs.height;
31
32
cairo_text_extents_t extents;
33
use_text_color_scheme
(w,
get_color_state
(w));
34
cairo_set_font_size (w->
crb
, w->
app
->
normal_font
/w->
scale
.
ascale
);
35
cairo_text_extents(w->
crb
,w->
label
, &extents);
36
37
cairo_move_to (w->
crb
, (width*0.5)-(extents.width/2), height-(extents.height/4));
38
cairo_show_text(w->
crb
, w->
label
);
39
cairo_new_path (w->
crb
);
40
}
use_text_color_scheme
void use_text_color_scheme(Widget_t *w, Color_state st)
use_text_color_scheme - use text Colors to paint on Widget_t
Definition:
xcolor.c:199
get_color_state
Color_state get_color_state(Widget_t *wid)
get_color_state - get the Color_state to use in relation to the Widget_t state
Definition:
xcolor.c:155
Xputty::normal_font
int normal_font
Definition:
xputty.h:191
Widget_t::crb
cairo_t * crb
Definition:
xwidget.h:318
_draw_label
void _draw_label(void *w_, void *user_data)
_draw_label - internal draw the label to the buffer
Definition:
xlabel_private.c:25
Widget_t::scale
Resize_t scale
Definition:
xwidget.h:356
xlabel_private.h
Widget_t::app
Xputty * app
Definition:
xwidget.h:300
Xputty::dpy
Display * dpy
Definition:
xputty.h:181
Resize_t::ascale
float ascale
Definition:
xwidget.h:214
Widget_t::widget
Window widget
Definition:
xwidget.h:302
Widget_t
Widget_t - struct to hold the basic Widget_t info.
Definition:
xwidget.h:298
Widget_t::label
const char * label
Definition:
xwidget.h:326
libxputty
xputty
widgets
xlabel_private.c
Generated by
1.8.17