79 #if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT) 80 #error "Only <final/final.h> can be included directly." 87 #include "final/ftypes.h" 88 #include "final/util/fdata.h" 89 #include "final/util/fpoint.h" 105 auto getType()
const noexcept -> Event;
106 auto isQueued()
const noexcept -> bool;
107 auto wasSent()
const noexcept -> bool;
110 friend void setSend (
FEvent&,
bool);
111 friend void setQueued (
FEvent&,
bool);
114 Event t{Event::None};
129 auto key()
const noexcept -> FKey;
130 auto isAccepted()
const noexcept -> bool;
131 void accept() noexcept;
132 void ignore() noexcept;
150 auto getPos()
const noexcept ->
const FPoint&;
151 auto getTermPos()
const noexcept ->
const FPoint&;
152 auto getX()
const noexcept -> int;
153 auto getY()
const noexcept -> int;
154 auto getTermX()
const noexcept -> int;
155 auto getTermY()
const noexcept -> int;
156 auto getButton()
const noexcept -> MouseButton;
157 void setPos (
const FPoint&) noexcept;
158 void setTermPos (
const FPoint&) noexcept;
168 #if defined(__GNUC__) 169 __attribute__((noinline))
171 inline auto makeMouseMovementEvent (
const FPoint& p
173 , MouseButton b ) -> std::shared_ptr<FMouseEvent>
175 return std::make_shared<FMouseEvent>(Event::MouseMove, p, g, b);
188 auto getPos()
const noexcept ->
const FPoint&;
189 auto getTermPos()
const noexcept ->
const FPoint&;
190 auto getX()
const noexcept -> int;
191 auto getY()
const noexcept -> int;
192 auto getTermX()
const noexcept -> int;
193 auto getTermY()
const noexcept -> int;
194 auto getWheel()
const noexcept -> MouseWheel;
199 MouseWheel w{MouseWheel::None};
212 auto gotFocus()
const noexcept -> bool;
213 auto lostFocus()
const noexcept -> bool;
214 auto getFocusType()
const noexcept -> FocusTypes;
215 void setFocusType (FocusTypes) noexcept;
216 auto isAccepted()
const noexcept -> bool;
217 void accept() noexcept;
218 void ignore() noexcept;
222 FocusTypes focus_type{FocusTypes::DefiniteWidget};
238 auto focusedWidget()
const noexcept ->
FWidget*;
239 auto isAccepted()
const noexcept -> bool;
240 void accept() noexcept;
241 void ignore() noexcept;
258 auto isAccepted()
const noexcept -> bool;
259 void accept() noexcept;
260 void ignore() noexcept;
298 auto isAccepted()
const noexcept -> bool;
299 void accept() noexcept;
300 void ignore() noexcept;
316 auto getTimerId()
const noexcept -> int;
332 auto getUserId()
const noexcept -> int;
333 template <
typename T>
334 auto getFDataObject()
const noexcept ->
FData<T>&&;
335 template <
typename T>
336 auto getData()
const noexcept -> clean_fdata_t<T>&;
337 template <
typename T>
338 void setFDataObject (T&&) noexcept;
339 template <
typename T>
340 void setData (T&&) noexcept;
344 using FDataAccessPtr = std::shared_ptr<FDataAccess>;
348 FDataAccessPtr data_pointer{
nullptr};
352 template <
typename T>
353 inline auto FUserEvent::getFDataObject()
const noexcept ->
FData<T>&&
355 return static_cast<FData<T>&&
>(*data_pointer);
359 template <
typename T>
360 inline auto FUserEvent::getData()
const noexcept -> clean_fdata_t<T>&
366 template <
typename T>
367 inline void FUserEvent::setFDataObject (T&& fdata) noexcept
369 data_pointer.reset(&(std::forward<T>(fdata)));
373 template <
typename T>
374 inline void FUserEvent::setData (T&& data) noexcept
376 data_pointer = makeFData(std::forward<T>(data));
Definition: class_template.cpp:25