File: background.h

package info (click to toggle)
afterstep 2.2.12-18.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,184 kB
  • sloc: ansic: 201,695; sh: 5,894; xml: 3,721; makefile: 2,094; perl: 1,558; cpp: 811
file content (71 lines) | stat: -rw-r--r-- 1,783 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef BACKGROUND_H_INCLUDED
#define BACKGROUND_H_INCLUDED

#ifdef __cplusplus
extern "C" {
#endif

#define 	BGFLAG_FILE	(1<<1)	/* if not FILE then MyStyle or CMD */
#define 	BGFLAG_MYSTYLE	(1<<2)
#define   	BGFLAG_CUT	(1<<3)
#define   	BGFLAG_TINT	(1<<4)
#define   	BGFLAG_SCALE	(1<<5)
#define   	BGFLAG_ALIGN	(1<<6)
#define 	BGFLAG_ALIGN_CENTER  (1<<7)
#define 	BGFLAG_ALIGN_RIGHT   (1<<8)
#define 	BGFLAG_ALIGN_BOTTOM  (1<<9)
#define   	BGFLAG_PAD	(1<<10)
#define 	BGFLAG_PAD_VERT (1<<11)
#define 	BGFLAG_PAD_HOR	(1<<12)
#define 	BGFLAG_BAD	(1<<14)
#define 	BGFLAG_COMPLETE	(1<<15)

typedef union
  {
	Atom atom;
	Pixmap pixmap;
  }
StoredBackData;

typedef struct ASDeskBack
  {
	unsigned long desk;
	Atom data_type;		/* XA_PIXMAP if Pixmap 0 if InternAtom */
	StoredBackData data;
	Atom MyStyle;		/* we should watch for MyStyles's updates
				   if this is not NULL */
  }
ASDeskBack;

typedef struct
  {
	ASDeskBack *desks;
	unsigned long desks_num;
  }
ASDeskBackArray;

ASDeskBack *FindDeskBack (ASDeskBackArray * backs, long desk);
int IsPurePixmap (ASDeskBack * back);
void SetRootPixmapPropertyID (Atom id);
void BackgroundSetForDesk (ASDeskBackArray * backs, long desk);
void FreeDeskBackArray (ASDeskBackArray * backs, int free_pixmaps);
ASDeskBackArray *UpdateDeskBackArray (ASDeskBackArray * old_info, ASDeskBackArray * new_info);

#define AS_BACKGROUND_ATOM_DEF   {None,"_AS_BACKGROUND", XA_INTEGER}
#define XROOTPMAP_ID_ATOM_DEF    {None,"_XROOTPMAP_ID", XA_PIXMAP}

void SetBackgroundsProperty (ASDeskBackArray * backs, Atom property);
void GetBackgroundsProperty (ASDeskBackArray * backs, Atom property);

#ifdef DEBUG_BACKGROUNDS
void PrintDeskBackArray (ASDeskBackArray * backs);
#else
#define PrintDeskBackArray(x)
#endif

#ifdef __cplusplus
}
#endif


#endif