30#ifndef __CH_WINDOW_H__
31#define __CH_WINDOW_H__
34#include "../chitralekha.h"
41#define CHITRALEKHA_DEFAULT_WIN_WIDTH 400
42#define CHITRALEKHA_DEFAULT_WIN_HEIGHT 300
43#define CHITRALEKHA_WINDOW_DEFAULT_PAD_Y 26
44#define CHITRALEKHA_WINDOW_DEFAULT_PAD_X 1
46#define WINDOW_GLOBAL_CONTROL_CLOSE 1
47#define WINDOW_GLOBAL_CONTROL_MAXIMIZE 2
48#define WINDOW_GLOBAL_CONTROL_MINIMIZE 3
49#define WINDOW_GLOBAL_CONTROL_CUSTOM 4
51#define WINDOW_FLAG_MOVABLE (1 << 0)
52#define WINDOW_FLAG_STATIC (1 << 1)
53#define WINDOW_FLAG_ALWAYS_ON_TOP (1 << 2)
54#define WINDOW_FLAG_NON_RESIZABLE (1 << 3)
55#define WINDOW_FLAG_BROADCAST_LISTENER (1 << 4)
56#define WINDOW_FLAG_ANIMATED (1 << 5)
57#define WINDOW_FLAG_BLOCKED (1 << 6)
58#define WINDOW_FLAG_MESSAGEBOX (1 << 7)
59#define WINDOW_FLAG_DIALOGBOX (1 << 8)
60#define WINDOW_FLAG_ANIMATION_FADE_IN (1 << 9)
61#define WINDOW_FLAG_ANIMATION_FADE_OUT (1 << 10)
62#define WINDOW_FLAG_POPUP (1 << 11)
69#define WINDOW_FLAG_GLASS (1 << 12)
71#define CHITRALEKHA_WIDGET_TYPE_CONTROL (1 << 1)
72#define CHITRALEKHA_WIDGET_TYPE_POPUP (1 << 2)
74#define CHITRALEKHA_WIDGET_SCROLL_HORIZONTAL 0
75#define CHITRALEKHA_WIDGET_SCROLL_VERTICAL 1
77#define WINDOW_HANDLE_TYPE_NORMAL 1
78#define WINDOW_HANDLE_TYPE_POPUP 2
97static inline bool ChSharedFlagLoad(
const bool*
flag) {
98 return __atomic_load_n(
flag, __ATOMIC_ACQUIRE);
101static inline void ChSharedFlagStore(
bool*
flag,
bool value) {
102 __atomic_store_n(
flag, value, __ATOMIC_RELEASE);
uint8_t flags
Definition virtio.h:0
ChWindow * mainWin
Definition main.cpp:58
ChitralekhaApp * app
Definition main.cpp:57
#define XE_LIB
Definition _xeneva.h:55
#define XE_EXTERN
Definition _xeneva.h:50
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
flag
Definition bytecode.h:29
char title[128]
Definition d_main.c:877
struct kobject * parent
Definition kobject.h:91
int y
Definition layout.c:118
int h
Definition layout.c:118
int x
Definition layout.c:118
int w
Definition layout.c:118
ChWindow * win
Definition namdapha.cpp:60
long long jmp_buf[_JBLEN]
Definition setjmp.h:35
Definition chitralekha.h:40
bool windowReady
Definition window.h:93
bool alpha
Definition window.h:90
int width
Definition window.h:88
int y
Definition window.h:87
bool dirty
Definition window.h:84
int x
Definition window.h:86
double alphaValue
Definition window.h:92
int height
Definition window.h:89
ChRect rect[256]
Definition window.h:82
uint32_t rect_count
Definition window.h:83
bool hide
Definition window.h:91
bool updateEntireWindow
Definition window.h:85
bool zoomed
Definition window.h:94
void * selectedMenuItem
Definition window.h:123
void * sharedwin
Definition window.h:109
uint32_t color
Definition window.h:115
ChSharedWinInfo * info
Definition window.h:112
list_t * popup
Definition window.h:120
list_t * widgets
Definition window.h:118
list_t * GlobalControls
Definition window.h:117
void(* ChWinPaint)(struct _chwin_ *win)
Definition window.h:126
list_t * subwindow
Definition window.h:119
ChitralekhaApp * app
Definition window.h:113
struct _chwin_ * parent
Definition window.h:121
jmp_buf jump
Definition window.h:125
bool focused
Definition window.h:116
void * focusedWidget
Definition window.h:124
char * title
Definition window.h:111
ChCanvas * canv
Definition window.h:110
void(* ChCloseWin)(struct _chwin_ *win)
Definition window.h:127
void * currentPopupMenu
Definition window.h:122
uint16_t flags
Definition window.h:107
uint32_t * buffer
Definition window.h:108
uint32_t handle
Definition window.h:114
uint32_t hoverOutlineColor
Definition window.h:165
void(* ChGlobalMouseEvent)(ChWindow *win, struct _global_ctrl_ *glbl, int x, int y, int button)
Definition window.h:169
uint32_t clickedFillColor
Definition window.h:166
int x
Definition window.h:156
uint32_t fillColor
Definition window.h:163
bool hover
Definition window.h:161
uint32_t clickedOutlineColor
Definition window.h:167
int w
Definition window.h:158
bool clicked
Definition window.h:162
int y
Definition window.h:157
void(* ChGlobalTouchEvent)(ChWindow *win, struct _global_ctrl_ *glbl, int x, int y)
Definition window.h:170
void(* ChGlobalActionEvent)(ChWindow *win, struct _global_ctrl_ *glbl)
Definition window.h:171
int h
Definition window.h:159
uint8_t type
Definition window.h:160
void(* ChGlobalButtonPaint)(ChWindow *win, struct _global_ctrl_ *glbl)
Definition window.h:168
uint32_t outlineColor
Definition window.h:164
bool dirty
Definition term.cpp:55