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)
63#define WINDOW_FLAG_GLASS (1 << 12)
65#define CHITRALEKHA_WIDGET_TYPE_CONTROL (1 << 1)
66#define CHITRALEKHA_WIDGET_TYPE_POPUP (1 << 2)
68#define CHITRALEKHA_WIDGET_SCROLL_HORIZONTAL 0
69#define CHITRALEKHA_WIDGET_SCROLL_VERTICAL 1
71#define WINDOW_HANDLE_TYPE_NORMAL 1
72#define WINDOW_HANDLE_TYPE_POPUP 2
90static inline bool ChSharedFlagLoad(
const bool* flag) {
91 return __atomic_load_n(flag, __ATOMIC_ACQUIRE);
94static inline void ChSharedFlagStore(
bool* flag,
bool value) {
95 __atomic_store_n(flag, value, __ATOMIC_RELEASE);
246 ChWindow *
win,
int x,
int y,
int w,
int h,
bool updateEntireWin,
bool dirty);
ChWindow * mainWin
Definition main.cpp:54
ChitralekhaApp * app
Definition main.cpp:53
#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
ChWindow * win
Definition namdapha.cpp:54
long long jmp_buf[_JBLEN]
Definition setjmp.h:35
Definition chitralekha.h:40
bool windowReady
Definition window.h:87
bool alpha
Definition window.h:84
int width
Definition window.h:82
int y
Definition window.h:81
bool dirty
Definition window.h:78
int x
Definition window.h:80
double alphaValue
Definition window.h:86
int height
Definition window.h:83
ChRect rect[256]
Definition window.h:76
uint32_t rect_count
Definition window.h:77
bool hide
Definition window.h:85
bool updateEntireWindow
Definition window.h:79
void * selectedMenuItem
Definition window.h:116
void * sharedwin
Definition window.h:102
uint32_t color
Definition window.h:108
ChSharedWinInfo * info
Definition window.h:105
list_t * popup
Definition window.h:113
list_t * widgets
Definition window.h:111
list_t * GlobalControls
Definition window.h:110
void(* ChWinPaint)(struct _chwin_ *win)
Definition window.h:119
list_t * subwindow
Definition window.h:112
ChitralekhaApp * app
Definition window.h:106
struct _chwin_ * parent
Definition window.h:114
jmp_buf jump
Definition window.h:118
bool focused
Definition window.h:109
void * focusedWidget
Definition window.h:117
char * title
Definition window.h:104
ChCanvas * canv
Definition window.h:103
void(* ChCloseWin)(struct _chwin_ *win)
Definition window.h:120
void * currentPopupMenu
Definition window.h:115
uint16_t flags
Definition window.h:100
uint32_t * buffer
Definition window.h:101
uint32_t handle
Definition window.h:107
uint32_t hoverOutlineColor
Definition window.h:158
void(* ChGlobalMouseEvent)(ChWindow *win, struct _global_ctrl_ *glbl, int x, int y, int button)
Definition window.h:162
uint32_t clickedFillColor
Definition window.h:159
int x
Definition window.h:149
uint32_t fillColor
Definition window.h:156
bool hover
Definition window.h:154
uint32_t clickedOutlineColor
Definition window.h:160
int w
Definition window.h:151
bool clicked
Definition window.h:155
int y
Definition window.h:150
void(* ChGlobalTouchEvent)(ChWindow *win, struct _global_ctrl_ *glbl, int x, int y)
Definition window.h:163
void(* ChGlobalActionEvent)(ChWindow *win, struct _global_ctrl_ *glbl)
Definition window.h:164
int h
Definition window.h:152
uint8_t type
Definition window.h:153
void(* ChGlobalButtonPaint)(ChWindow *win, struct _global_ctrl_ *glbl)
Definition window.h:161
uint32_t outlineColor
Definition window.h:157
bool dirty
Definition term.cpp:54