-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathWindowInfo.h
66 lines (48 loc) · 1.33 KB
/
WindowInfo.h
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
/*
* Copyright 2005-2008, Haiku.
* Distributed under the terms of the MIT License.
*
* Authors:
* Axel Dörfler, [email protected]
*/
#ifndef _WINDOW_INFO_H_
#define _WINDOW_INFO_H_
#include <SupportDefs.h>
struct window_info {
team_id team;
int32 server_token;
int32 thread;
int32 client_token;
int32 client_port;
uint32 workspaces;
int32 layer; // see ServerWindow::GetInfo()
uint32 feel;
uint32 flags;
int32 window_left;
int32 window_top;
int32 window_right;
int32 window_bottom;
int32 show_hide_level;
bool is_mini;
} _PACKED;
struct client_window_info : window_info {
float tab_height;
float border_size;
char name[1];
} _PACKED;
enum window_action {
B_MINIMIZE_WINDOW,
B_BRING_TO_FRONT
};
// Private BeOS compatible window API
void do_window_action(int32 window_id, int32 action, BRect zoomRect, bool zoom);
client_window_info* get_window_info(int32 token);
int32* get_token_list(team_id app, int32 *count);
void do_bring_to_front_team(BRect zoomRect, team_id app, bool zoom);
void do_minimize_team(BRect zoomRect, team_id app, bool zoom);
// Haiku additions
namespace BPrivate {
status_t get_application_order(int32 workspace, team_id** _apps, int32* _count);
status_t get_window_order(int32 workspace, int32** _tokens, int32* _count);
} // namespace BPrivate
#endif // _WINDOW_INFO_H_