summaryrefslogtreecommitdiff
path: root/xframes/frames.h
blob: 4f765ea583931764e09ee60ed812841310ad3c21 (plain)
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
#ifndef _FRAMES_INC
#define _FRAMES_INC

void PositionFrames();
void SetCListVisible(BOOL visible);

void InitFrames();
void DeinitFrames();

// my own alignment enum
typedef enum {AL_TOP, AL_BOTTOM, AL_LEFT, AL_RIGHT} FrameAlign;

struct FrameListNode {
	CLISTFrame frame_data;
	HWND hwndParent;
	int id;
	struct FrameListNode *next;
	LONG origStyle, origExStyle;
	bool moving, hiding, style_override;
	LONG overrideStyle, overrideExStyle;
	char alpha;
	FrameAlign align;
	int width, height; // for frame (frame_data->height is client - which is only used as input from API [addframe, set frame options])

	int off_x, off_y; // offsets from clist location for non-floating mode

	bool sizing, size_move;
};

extern struct FrameListNode *frame_list;

void SaveFrameState(struct FrameListNode *node);
extern CRITICAL_SECTION cs;

#endif