10#ifndef GUIEVENTHANDLER__H_
11#define GUIEVENTHANDLER__H_
13#include "eC_TList_doubleLinked.h"
18#include "GUIComponentManager.h"
22#define GETEVENTHDL CGUIComponentManager::GetInstance().GetEventHandler()
25const eC_UInt cuiDefaultLongClickTime = 1000;
27const eC_UInt cuiDefaultDoubleClickTime = 300;
262 void SetZoom(
const eC_Value& vZoomFactor,
const CGUIRect& kZoomRect)
264 m_bZoomActive =
true;
265 m_vZoomFactor = vZoomFactor;
266 m_kZoomArea = kZoomRect;
271 m_bZoomActive =
false;
272 m_vZoomFactor = eC_FromInt(1);
292 void HandleLongClick(eC_Bool& bHandled);
302 void HandleChar(
CGUIEvent* pEvent, eC_Bool& bHandled);
308 void HandleKeyUp(
CGUIEvent* pEvent, eC_Bool& bHandled);
314 void HandleKeyDown(
CGUIEvent* pEvent, eC_Bool& bHandled);
320 void HandleMouseWheel(
CGUIEvent* pEvent, eC_Bool& bHandled);
326 void HandleMouseMove(
CGUIEvent* pEvent, eC_Bool& bHandled);
332 void HandleRButtonDown(
CGUIEvent* pEvent, eC_Bool& bHandled);
338 void HandleLButtonDown(
CGUIEvent* pEvent, eC_Bool& bHandled);
344 void HandleRButtonUp(
CGUIEvent* pEvent, eC_Bool& bHandled);
350 void HandleLButtonUp(
CGUIEvent* pEvent, eC_Bool& bHandled);
383 void SetPressedObject(
CGUIObject* pObj, eC_Bool bOverwriteOriginal =
false);
388 void SetHighlightedObject(
CGUIObject* pHighlightedObject);
448 eC_Bool m_bLeftButtonPressed;
450 eC_Bool m_bRightButtonPressed;
458 eC_Bool m_bMouseUsed;
464 eC_Bool m_bDisableEventHandling;
474 eC_UInt m_uiScrollModifiers;
484 eC_Int m_iDragStartX;
486 eC_Int m_iDragStartY;
489 eC_Int m_iDragThreshold;
504 eC_Bool m_bHighlightingDisabled;
507 eC_Bool m_bIsDragging;
510 eC_UInt m_uiLastClickTime;
513 eC_UInt m_uiDoubleClickTime;
516 eC_UInt m_uiLastButtonDownTime;
520 eC_UInt m_uiLongClickTime;
523 eC_Bool m_bLongClickGenerated;
531 eC_Bool m_bForceDoButtonUpToPressedObject;
537 eC_Bool m_bIgnorePressedObjectRect;
542 eC_Bool m_bDragAndClick;
545 eC_Bool m_bZoomActive;
546 eC_Value m_vZoomFactor;
Helper Macros in Guiliani
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
central component-manager
Definition: GUIComponentManager.h:62
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
This is the event handler.
Definition: GUIEventHandler.h:44
void SetHighlightingDisabled(const eC_Bool bDisabled)
CGUIObject * GetHighlightedObject() const
const CGUIEvent * GetCurrentEvent() const
void GetDragStart(eC_Int &iDragStartX, eC_Int &iDragStartY)
void SetModalDialog(CGUICompositeObject *pModalDialog)
void RemoveModalDialogException(CGUICompositeObject *pkException)
CGUIObject * GetFocussedObject() const
CGUIObject * GetObjectUnderMousePointer() const
void SetDisableEventHandling(eC_Bool bDisableEventHandling)
void SetDragThreshold(const eC_Int iDragThreshold)
eC_Bool GetDisableEventHandling() const
void SetScrollModifiers(eC_UInt uiScrollModifiers)
static void CreateInstance()
eC_Bool IsWithinModalDialogIfAny(const CGUIObject *pObj) const
void SetMouseWasUsed(eC_Bool bMouseUsed)
eC_Bool IsObjModalDialog(CGUICompositeObject *const pObj) const
eC_Bool ExecuteClickHandler(CGUIObject *pkObject)
void GetLastMousePos(eC_UInt &uiMouseX, eC_UInt &uiMouseY) const
void AddModalDialogException(CGUICompositeObject *pkException)
void ReleaseModalDialog(CGUICompositeObject *pModalDialog)
CGUIObject * GetDraggedObject() const
eC_UInt GetDoubleClickTime() const
void SetDoubleClickTime(const eC_UInt uiDoubleClickTime)
eC_UInt GetLongClickTime() const
void SetLongClickTime(const eC_UInt uiLongClickTime)
eC_Bool MouseWasUsed() const
CGUIObject * GetPressedObject() const
static void DeleteInstance()
void SetLegacyBehaviour(const eC_Bool bLegacyBehaviour)
CGUIObject * GetFormerlyUnderMouseObject() const
CGUIObject * GetFormerlyFocussedObject() const
CGUICompositeObject * GetCurrentModalDialog() const
eC_Int GetDragThreshold() const
eC_UInt GetLastButtonDownTime()
Base class for Guiliani Events.
Definition: GUIEvent.h:26
GUI base class for any Guiliani application.
Definition: GUI.h:47
Represents platform-independent mouse events.
Definition: GUIEvent.h:159
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63