27 #include "swe_object.h" 33 void clearAllSignals(
void);
80 const char*
className(
void)
const override {
return "SWE::SignalMember"; }
113 ButtonNone, ButtonLeft = SDL_BUTTON(SDL_BUTTON_LEFT), ButtonRight = SDL_BUTTON(SDL_BUTTON_RIGHT), ButtonMiddle = SDL_BUTTON(SDL_BUTTON_MIDDLE),
114 ButtonX1 = SDL_BUTTON(SDL_BUTTON_WHEELUP), ButtonX2 = SDL_BUTTON(SDL_BUTTON_WHEELDOWN), FingerTap = SDL_BUTTON(ButtonLeft)
121 ButtonNone, ButtonLeft = SDL_BUTTON(SDL_BUTTON_LEFT), ButtonRight = SDL_BUTTON(SDL_BUTTON_RIGHT), ButtonMiddle = SDL_BUTTON(SDL_BUTTON_MIDDLE),
122 ButtonX1 = SDL_BUTTON(SDL_BUTTON_X1), ButtonX2 = SDL_BUTTON(SDL_BUTTON_X2), FingerTap = SDL_BUTTON(ButtonLeft)
135 bool isButton(
ButtonType type)
const {
return btn == type; }
136 bool isButtonLeft(
void)
const {
return btn == ButtonLeft; }
137 bool isButtonRight(
void)
const {
return btn == ButtonRight; }
138 bool isButtonMiddle(
void)
const {
return btn == ButtonMiddle; }
139 bool isButtonX1(
void)
const {
return btn == ButtonX1; }
140 bool isButtonX2(
void)
const {
return btn == ButtonX2; }
141 const ButtonType & button(
void)
const {
return btn; }
154 void setPosition(
const Point & pos) { coord = pos; }
155 const Point & position(
void)
const {
return coord; }
169 bool isClick(
const Rect & rt)
const {
170 return (rt & coord1.position()) && (rt & coord2.position()); }
172 void setPress(
const Point & pos) { coord1.setPosition(pos); }
173 void setRelease(
const Point & pos) { coord2.setPosition(pos); }
175 const ButtonEvent & press(
void)
const {
return coord1; }
176 const ButtonEvent & release(
void)
const {
return coord2; }
178 bool isButtonLeft(
void)
const {
return press().isButtonLeft(); }
179 bool isButtonRight(
void)
const {
return press().isButtonRight(); }
180 bool isButtonMiddle(
void)
const {
return press().isButtonMiddle(); }
181 bool isButtonX1(
void)
const {
return press().isButtonX1(); }
182 bool isButtonX2(
void)
const {
return press().isButtonX2(); }
192 UserEvent() : code(0), data1(
nullptr), data2(
nullptr) {}
193 UserEvent(
int v,
void* p1,
void* p2) : code(v), data1(p1), data2(p2) {}
194 UserEvent(
const SDL_UserEvent & ev) : code(ev.code), data1(ev.data1), data2(ev.data2) {}
196 bool operator== (
const UserEvent & ev)
const 198 return code == ev.code && data1 == ev.data1 && data2 == ev.data2;
206 EventNone = 0x01000000,
208 WindowCreated, WindowCheckFocus, WindowScrolledPrev, WindowScrolledNext, WindowPageUp, WindowPageDown,
209 ListWidgetScrolled, ListWidgetChanged, ListWidgetRemoveItem, ListWidgetTakeItem,
211 LineEditTextChanged, LineEditCursorChanged, LineEditReturnPressed,
213 ButtonPressed, ButtonReleased, ButtonClicked, ButtonSetFocus, ButtonResetFocus, ButtonTimerComplete,
214 GestureFingerUp, GestureFingerDown, GestureFingerLeft, GestureFingerRight,
215 FingerMoveUp, FingerMoveDown, FingerMoveLeft, FingerMoveRight,
класс объектов сцены DisplayScene, с возможностью отправки/получения сигналов
Definition: swe_events.h:56
класс объектов сцены DisplayScene, с возможностью отправки/получения сообщений
Definition: swe_object.h:79
static bool signalSubscribed(const SignalMember &sender, int sig=0)
функция проверки на подписку сигнала
Definition: swe_events.cpp:66
Signal
перечисление системных сигналов
Definition: swe_events.h:204
пространство SWE.
Definition: swe_binarybuf.cpp:30
класс прямоугольника
Definition: swe_rect.h:144
ButtonType
перечисление тип кнопки мышки
Definition: swe_events.h:119
класс точки с двумя координатами
Definition: swe_rect.h:72
базовый класс не графических объектов сцены DisplayScene.
Definition: swe_events.h:98
static void signalSubscribe(const SignalMember &sender, int sig, SignalMember &receiver)
функция подписки на сигнал
Definition: swe_events.cpp:61
const char * className(void) const override
идентификацинная метка класса
Definition: swe_events.h:80
virtual bool isValidObject(void) const
функция состояния объекта, используется для авторизации получения событий ObjectEvent::tickEvent и Ob...
Definition: swe_events.h:105
static void signalEmit(const SignalMember &sender, int sig)
функция отправки сигнала с подстановкой отправителя
Definition: swe_events.cpp:91
event класс пользовательских данных
Definition: swe_events.h:186
virtual void signalReceive(int sig, const SignalMember *sender)
метод получатель, вызывается при signalEmit со стороны отправителя
Definition: swe_events.h:94
static void signalUnsubscribe(const SignalMember &receiver)
функция отписки от сигнала
Definition: swe_events.cpp:77