2020-01-01 20:24:46 -05:00
|
|
|
#include "PLInvisibleWidget.h"
|
2020-01-20 02:17:07 -05:00
|
|
|
#include "PLTimeTaggedVOSEvent.h"
|
|
|
|
|
#include "PLWidgets.h"
|
2020-01-01 20:24:46 -05:00
|
|
|
|
|
|
|
|
namespace PortabilityLayer
|
|
|
|
|
{
|
|
|
|
|
InvisibleWidget::InvisibleWidget(const WidgetBasicState &state)
|
2021-03-29 21:41:11 -04:00
|
|
|
: WidgetSpec<InvisibleWidget, WidgetTypes::kInvisible>(state)
|
2020-01-20 02:17:07 -05:00
|
|
|
, m_clickable(state.m_enabled)
|
2020-01-01 20:24:46 -05:00
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
InvisibleWidget::~InvisibleWidget()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
2020-05-18 02:03:17 -04:00
|
|
|
bool InvisibleWidget::Init(const WidgetBasicState &state, const void *additionalData)
|
2020-01-01 20:24:46 -05:00
|
|
|
{
|
|
|
|
|
(void)state;
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
2020-01-20 02:17:07 -05:00
|
|
|
|
2020-09-12 22:29:57 -04:00
|
|
|
WidgetHandleState_t InvisibleWidget::ProcessEvent(void *captureContext, const TimeTaggedVOSEvent &evt)
|
2020-01-20 02:17:07 -05:00
|
|
|
{
|
2020-02-26 12:17:04 -05:00
|
|
|
if (!m_visible || !m_enabled)
|
|
|
|
|
return WidgetHandleStates::kIgnored;
|
|
|
|
|
|
2020-01-20 02:17:07 -05:00
|
|
|
if (m_clickable && evt.IsLMouseDownEvent() && m_rect.Contains(m_window->MouseToLocal(evt.m_vosEvent.m_event.m_mouseInputEvent)))
|
|
|
|
|
return WidgetHandleStates::kActivated;
|
|
|
|
|
else
|
|
|
|
|
return WidgetHandleStates::kIgnored;
|
|
|
|
|
}
|
2021-03-29 21:41:11 -04:00
|
|
|
|
|
|
|
|
int16_t InvisibleWidget::Capture(void *captureContext, const Point &pos, WidgetUpdateCallback_t callback)
|
|
|
|
|
{
|
|
|
|
|
return DefaultCapture(captureContext, pos, callback);
|
|
|
|
|
}
|
2020-01-01 20:24:46 -05:00
|
|
|
}
|
2021-03-29 21:41:11 -04:00
|
|
|
|
|
|
|
|
PL_IMPLEMENT_WIDGET_TYPE(PortabilityLayer::WidgetTypes::kInvisible, PortabilityLayer::InvisibleWidget)
|