XenevaOS
Loading...
Searching...
No Matches
window.h
Go to the documentation of this file.
1
33#ifndef __WINDOW_H__
34#define __WINDOW_H__
35
36#include <stdint.h>
37#include <widgets/list.h>
38#include "deodxr.h"
39
40#define WINDOW_FLAG_MOVABLE (1 << 0)
41#define WINDOW_FLAG_STATIC (1 << 1)
42#define WINDOW_FLAG_ALWAYS_ON_TOP (1 << 2)
43#define WINDOW_FLAG_NON_RESIZABLE (1 << 3)
44#define WINDOW_FLAG_BROADCAST_LISTENER (1 << 4)
45#define WINDOW_FLAG_ANIMATED (1 << 5)
46#define WINDOW_FLAG_BLOCKED (1 << 6)
47#define WINDOW_FLAG_MESSAGEBOX (1 << 7)
48#define WINDOW_FLAG_DIALOGBOX (1 << 8)
49#define WINDOW_FLAG_ANIMATION_FADE_IN (1 << 9)
50#define WINDOW_FLAG_ANIMATION_FADE_OUT (1 << 10)
51#define WINDOW_FLAG_POPUP (1 << 11)
52#define WINDOW_FLAG_GLASS (1 << 12)
53
54#ifdef SHADOW_ENABLED
55#define SHADOW_SIZE 20
56#define SHADOW_BLUR 8
57#define SHADOW_ALPHA 180
58#define SHADOW_OFFSET_X 4
59#define SHADOW_OFFSET_Y 6
60#else
61#define SHADOW_SIZE 0
62#define SHADOW_BLUR 0
63#define SHADOW_ALPHA 0
64#define SHADOW_OFFSET_X 0
65#define SHADOW_OFFSET_Y 0
66#endif
67
68//#pragma pack(push,1)
69typedef struct _win_info_ {
70 Rect rect[256];
72 bool dirty;
74 int x;
75 int y;
76 int width;
77 int height;
78 bool alpha;
79 bool hide;
80 double alphaValue;
81 bool windowReady;
83
84static inline bool WinSharedFlagLoad(const bool* flag) {
85 return __atomic_load_n(flag, __ATOMIC_ACQUIRE);
86}
87
88static inline void WinSharedFlagStore(bool* flag, bool value) {
89 __atomic_store_n(flag, value, __ATOMIC_RELEASE);
90}
91//#pragma pack(pop)
92
93typedef struct _win_ {
105 int dragX;
106 int dragY;
107 int resz_h;
108 int resz_b;
109 bool markForClose;
111 int animAlphaVal;
112 bool animdirection;
113 char* title;
114 struct _win_* firstPopupWin;
115 struct _win_* lastPopupWin;
116 struct _win_* parent;
117 _win_* next;
118 _win_* prev;
120
127
145extern Window*
146CreateWindow(int x, int y, int w, int h, uint16_t flags, uint16_t ownerId, char* title);
147#endif
uint32_t * CreateSharedWinSpace(uint16_t *shkey, uint16_t ownerId)
CreateSharedWinSpace – Create a shared window space.
Definition window.cpp:46
struct _win_info_ WinSharedInfo
void * CreateNewBackBuffer(uint16_t ownerId, uint32_t sz, uint16_t *key)
CreateNewBackBuffer –Create a back buffer window.
Definition window.cpp:61
struct _win_ Window
Window * CreateWindow(int x, int y, int w, int h, uint16_t flags, uint16_t ownerId, char *title)
CreateWindow – create a new window.
Definition window.cpp:91
unsigned int uint32_t
Definition acefiex.h:163
unsigned char uint8_t
Definition acefiex.h:161
unsigned short int uint16_t
Definition acefiex.h:162
Definition deodhai.h:66
Definition window.h:77
uint16_t ownerId
Definition window.h:79
uint32_t * sharedInfo
Definition window.h:81
struct _win_ * firstPopupWin
Definition window.h:95
int resz_h
Definition window.h:88
uint32_t * shadowBuffers
Definition window.h:82
uint32_t * glassTmp
Definition window.h:100
bool animdirection
Definition window.h:93
_win_ * next
Definition window.h:98
_win_ * prev
Definition window.h:99
struct _win_ * lastPopupWin
Definition window.h:96
uint16_t flags
Definition window.h:78
uint16_t shWinKey
Definition window.h:83
uint32_t * shadowTmp
Definition window.h:99
int dragY
Definition window.h:87
int resz_b
Definition window.h:89
char * title
Definition window.h:94
int animAlphaVal
Definition window.h:92
uint16_t backBufferKey
Definition window.h:84
uint32_t * backBuffer
Definition window.h:80
uint32_t handle
Definition window.h:85
bool markForClose
Definition window.h:90
int dragX
Definition window.h:86
uint32_t * glassBlur
Definition window.h:101
uint8_t animFrameCount
Definition window.h:91
struct _win_ * parent
Definition window.h:97
Definition window.h:61
int height
Definition window.h:69
bool alpha
Definition window.h:70
uint32_t rect_count
Definition window.h:63
bool dirty
Definition window.h:64
int y
Definition window.h:67
bool updateEntireWindow
Definition window.h:65
int width
Definition window.h:68
double alphaValue
Definition window.h:72
bool hide
Definition window.h:71
int x
Definition window.h:66
Rect rect[256]
Definition window.h:62
bool windowReady
Definition window.h:73