Mercurial > audlegacy-plugins
view src/aosd/ghosd.h @ 2860:2e081c64a529
transform UiSkinnedTextbox into windowless widget
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 03 Aug 2008 15:28:02 +0200 |
parents | 0010163f8e25 |
children |
line wrap: on
line source
/* ghosd -- OSD with fake transparency, cairo, and pango. * Copyright (C) 2006 Evan Martin <martine@danga.com> * * With further development by Giacomo Lozito <james@develia.org> * for the ghosd-based Audacious OSD * - added real transparency with X Composite Extension * - added mouse event handling on OSD window * - added/changed some other stuff */ #ifndef __GHOSD_H__ #define __GHOSD_H__ #include <cairo/cairo.h> #include <limits.h> /* INT_MAX */ #include <sys/time.h> /* timeval */ #include "aosd_common.h" typedef struct _Ghosd Ghosd; /* minimal struct to handle button events */ typedef struct { int x, y; int send_event; int x_root, y_root; unsigned int button; unsigned long time; } GhosdEventButton; typedef void (*GhosdRenderFunc)(Ghosd *ghosd, cairo_t *cr, void *user_data); typedef void (*GhosdEventButtonCb)(Ghosd *ghosd, GhosdEventButton *event, void *user_data); Ghosd *ghosd_new(void); void ghosd_destroy(Ghosd* ghosd); #ifdef HAVE_XCOMPOSITE Ghosd *ghosd_new_with_argbvisual(void); int ghosd_check_composite_ext(void); int ghosd_check_composite_mgr(void); #endif #define GHOSD_COORD_CENTER INT_MAX void ghosd_set_transparent(Ghosd *ghosd, int transparent); void ghosd_set_position(Ghosd *ghosd, int x, int y, int width, int height); void ghosd_set_render(Ghosd *ghosd, GhosdRenderFunc render_func, void* user_data, void (*user_data_d)(void*)); void ghosd_render(Ghosd *ghosd); void ghosd_show(Ghosd *ghosd); void ghosd_hide(Ghosd *ghosd); void ghosd_set_event_button_cb(Ghosd *ghosd, GhosdEventButtonCb cb, void *user_data ); void ghosd_main_iterations(Ghosd *ghosd); void ghosd_main_until(Ghosd *ghosd, struct timeval *until); void ghosd_flash(Ghosd *ghosd, int fade_ms, int total_display_ms); int ghosd_get_socket(Ghosd *ghosd); #endif /* __GHOSD_H__ */ /* vim: set ts=2 sw=2 et cino=(0 : */