mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 02:31:03 -08:00
Add background transparency support for GTK+Cairo
This commit is contained in:
parent
35cd9197fc
commit
b944841173
11 changed files with 157 additions and 15 deletions
29
src/frame.c
29
src/frame.c
|
|
@ -3907,6 +3907,7 @@ static const struct frame_parm_table frame_parms[] =
|
|||
{"z-group", SYMBOL_INDEX (Qz_group)},
|
||||
{"override-redirect", SYMBOL_INDEX (Qoverride_redirect)},
|
||||
{"no-special-glyphs", SYMBOL_INDEX (Qno_special_glyphs)},
|
||||
{"alpha-background", SYMBOL_INDEX (Qalpha_background)},
|
||||
#ifdef NS_IMPL_COCOA
|
||||
{"ns-appearance", SYMBOL_INDEX (Qns_appearance)},
|
||||
{"ns-transparent-titlebar", SYMBOL_INDEX (Qns_transparent_titlebar)},
|
||||
|
|
@ -5024,6 +5025,33 @@ gui_set_alpha (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
gui_set_alpha_background (struct frame *f, Lisp_Object arg, Lisp_Object oldval)
|
||||
{
|
||||
double alpha = 1.0;
|
||||
|
||||
if (NILP (arg))
|
||||
alpha = 1.0;
|
||||
else if (FLOATP (arg))
|
||||
{
|
||||
alpha = XFLOAT_DATA (arg);
|
||||
if (! (0 <= alpha && alpha <= 1.0))
|
||||
args_out_of_range (make_float (0.0), make_float (1.0));
|
||||
}
|
||||
else if (FIXNUMP (arg))
|
||||
{
|
||||
EMACS_INT ialpha = XFIXNUM (arg);
|
||||
if (! (0 <= ialpha && ialpha <= 100))
|
||||
args_out_of_range (make_fixnum (0), make_fixnum (100));
|
||||
alpha = ialpha / 100.0;
|
||||
}
|
||||
else
|
||||
wrong_type_argument (Qnumberp, arg);
|
||||
|
||||
f->alpha_background = alpha;
|
||||
|
||||
SET_FRAME_GARBAGED (f);
|
||||
}
|
||||
|
||||
/**
|
||||
* gui_set_no_special_glyphs:
|
||||
|
|
@ -6100,6 +6128,7 @@ syms_of_frame (void)
|
|||
#endif
|
||||
|
||||
DEFSYM (Qalpha, "alpha");
|
||||
DEFSYM (Qalpha_background, "alpha-background");
|
||||
DEFSYM (Qauto_lower, "auto-lower");
|
||||
DEFSYM (Qauto_raise, "auto-raise");
|
||||
DEFSYM (Qborder_color, "border-color");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue