~ubuntu-branches/ubuntu/maverick/libaosd/maverick

« back to all changes in this revision

Viewing changes to libaosd/aosd-internal.h

  • Committer: Bazaar Package Importer
  • Author(s): William Pitcock
  • Date: 2007-11-30 07:42:21 UTC
  • Revision ID: james.westby@ubuntu.com-20071130074221-8yt6spn1ns6rfw7e
Tags: upstream-0.1.3
ImportĀ upstreamĀ versionĀ 0.1.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* aosd -- OSD with transparency, cairo, and pango.
 
2
 *
 
3
 * Copyright (C) 2006 Evan Martin <martine@danga.com>
 
4
 *
 
5
 * With further development by Giacomo Lozito <james@develia.org>
 
6
 * - added real transparency with X Composite Extension
 
7
 * - added mouse event handling on OSD window
 
8
 * - added/changed some other stuff
 
9
 */
 
10
 
 
11
#include "config.h"
 
12
 
 
13
#include "aosd.h"
 
14
 
 
15
#include "pango/pangocairo.h"
 
16
 
 
17
typedef struct
 
18
{
 
19
  AosdRenderer render_cb;
 
20
  void* data;
 
21
  void (*data_destroyer)(void*);
 
22
} RenderCallback;
 
23
 
 
24
typedef struct
 
25
{
 
26
  AosdMouseEventCb mouse_event_cb;
 
27
  void* data;
 
28
} MouseEventCallback;
 
29
 
 
30
typedef struct
 
31
{
 
32
  Pixmap pixmap;
 
33
  int set;
 
34
} AosdBackground;
 
35
 
 
36
struct _Aosd
 
37
{
 
38
  Display* display;
 
39
  int screen_num;
 
40
  unsigned int depth;
 
41
  Window root_win;
 
42
  Window win;
 
43
  Visual* visual;
 
44
  Colormap colormap;
 
45
  PangoLayout* layout;
 
46
  int x, y, width, height;
 
47
 
 
48
  AosdBackground background;
 
49
  RenderCallback renderer;
 
50
  AosdTransparency mode;
 
51
  MouseEventCallback mouse_processor;
 
52
};
 
53
 
 
54
void make_window(Aosd*);
 
55
void set_window_properties(Display*, Window);
 
56
Pixmap take_snapshot(Aosd*);
 
57
 
 
58
void aosd_destroy_text(Aosd*);
 
59
 
 
60
#ifdef HAVE_XCOMPOSITE
 
61
Bool composite_check_ext_and_mgr(Display*, int);
 
62
Visual* composite_find_argb_visual(Display*, int);
 
63
#endif
 
64
 
 
65
/* vim: set ts=2 sw=2 et : */