acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
e_window_flag.h
1#pragma once
2
3
4// Camilo Sasuke Thomas Borregaard Soerensen 2020-04-15 // from ewindowflag
5#pragma once
6
7
8DECLARE_C_FLAG(e_window_flag, enum_window_flag);
9
10//class e_window_flag
11//{
12//public:
13//
14//
15// enum_window_flag m_ewindowflag;
16//
17//
18// e_window_flag() { m_ewindowflag = (enum_window_flag)0; }
19// ewindowflag(const std::initializer_list < enum_window_flag >& list_base) { m_ewindowflag = (enum_window_flag)0; for (auto& e : list_base) add(e); }
20// ewindowflag(enum_window_flag e) { m_ewindowflag = e; }
21// ewindowflag(::i64 i) { m_ewindowflag = (enum_window_flag)i; }
22// ewindowflag(const ewindowflag& e) { m_ewindowflag = e.m_ewindowflag; }
23//
24// inline void add(enum_window_flag e) { m_ewindowflag = (enum_window_flag)(e | m_ewindowflag); }
25//
26// inline ewindowflag& operator |= (enum_window_flag e) { add(e); return *this; }
27// inline ewindowflag& operator &= (enum_window_flag e) { m_ewindowflag = (enum_window_flag)(m_ewindowflag & e); return *this; }
28//
29// inline ewindowflag& operator |= (const ewindowflag& e) { m_ewindowflag = (enum_window_flag)(e.m_ewindowflag | m_ewindowflag); return *this; }
30// inline ewindowflag& operator &= (const ewindowflag& e) { m_ewindowflag = (enum_window_flag)(m_ewindowflag & e.m_ewindowflag); return *this; }
31//
32// inline ewindowflag& operator += (enum_window_flag e) { return operator |= (e); }
33// inline ewindowflag& operator -= (enum_window_flag e) { return operator &= ((enum_window_flag)~(::i64)(e)); }
34//
35// inline ewindowflag& operator += (const ewindowflag& e) { return operator |= ((enum_window_flag)e.m_ewindowflag); }
36// inline ewindowflag& operator -= (const ewindowflag& e) { return operator &= ((enum_window_flag)~(::i64)(e.m_ewindowflag)); }
37//
38// inline ewindowflag& operator ^= (const ewindowflag& e) { toggle(e); return *this; }
39//
40// inline ewindowflag operator + (const ewindowflag& t) const { auto copy = *this; copy.add(t); return copy; }
41//
42// inline ewindowflag operator - (enum_window_flag e) const { return (enum_window_flag)(m_ewindowflag & ~((::i64)e)); }
43//
44// //template < typename TYPE >
45// //ewindowflag operator + (const TYPE & t) const { auto copy = *this; copy.add(t); return copy; }
46//
47//
48// inline ewindowflag operator | (enum_window_flag e) const { return (enum_window_flag)(m_ewindowflag | e); }
49// inline ewindowflag operator & (enum_window_flag e) const { return (enum_window_flag)(m_ewindowflag & e); }
50//
51// inline bool is(enum_window_flag e) const { return (::i64)(m_ewindowflag & e) == (::i64)e; }
52// inline bool has(enum_window_flag e) const { return is(e); }
53//
54// void erase(enum_window_flag e) { operator -= (e); }
55// void add(const ewindowflag& e) { operator += (e); }
56// void unset(const ewindowflag& e) { erase(e); }
57// void set(const ewindowflag& e) { add(e); }
58// void erase(const ewindowflag& e) { operator -= (e); }
59// void clear() { m_ewindowflag = (enum_window_flag)0; }
60//
61// void set(enum_window_flag e, bool bSet) { if (bSet) set(e); else unset(e); }
62// void toggle(enum_window_flag e) { if (is(e)) unset(e); else set(e); }
63//
64// ewindowflag& operator = (const ewindowflag& e) { m_ewindowflag = e.m_ewindowflag; return *this; }
65//
66//
67// bool operator == (const ewindowflag& e) const { return m_ewindowflag == e.m_ewindowflag; }
68// bool operator == (enum_window_flag e) const { return m_ewindowflag == e; }
69//
70//
71// enum_window_flag& eflag() { return (enum_window_flag&)m_ewindowflag; }
72// enum_window_flag eflag() const { return (enum_window_flag)m_ewindowflag; }
73//
74// operator enum_window_flag& ()
75// {
76// return (enum_window_flag&)m_ewindowflag;
77// }
78//
79// operator enum_window_flag() const
80// {
81//
82// return (enum_window_flag)m_ewindowflag;
83// }
84//
85//
86// ewindowflag& operator ++(::i32)
87// {
88//
89// m_ewindowflag = (enum_window_flag)((::i64) m_ewindowflag + 1);
90//
91// return *this;
92//
93// }
94//
95//
96// ewindowflag& operator %=(const enum_window_flag& eenum)
97// {
98//
99// m_ewindowflag = (enum_window_flag)((::i64) m_ewindowflag % (::i64) eenum);
100//
101// return *this;
102//
103// }
104//
105// ewindowflag& rotate(const enum_window_flag& eenum)
106// {
107//
108// if ((::i64) m_ewindowflag < 0)
109// {
110//
111// m_ewindowflag = (enum_window_flag)0;
112//
113// }
114//
115// this->operator ++(0);
116//
117// return this->operator %=(eenum);
118//
119// }
120//
121//#ifndef __OBJC__
122// IMPL_OPERATOR_PLUS(ewindowflag);
123//#endif
124//
125//
126//};
127
128
129
130