Hi! I'm trying to code a widget-wrapper around HGE. And I have troubles with input. Mouse events are handled where HGE doesn't render and are not handled where HGE renders. Screenshot Zone 1 is painted by HGE in paintEvent. Zone 2 is just a piece of Widget.
Here is some code:
{
if(event->button() == Qt::LeftButton)
isInsidePointer = pointQuad_.IsPointInside(event->x(), event->y());
event->ignore();
}
{
if(event->button() == Qt::LeftButton)
isInsidePointer = false;
event->ignore();
}
void TestWidget::mousePressEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
isInsidePointer = pointQuad_.IsPointInside(event->x(), event->y());
event->ignore();
}
void TestWidget::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button() == Qt::LeftButton)
isInsidePointer = false;
event->ignore();
}
To copy to clipboard, switch view to plain text mode
I tried to handle events by HGE's functionality but it failed too:
bool TestWidget::FrameFunc()
{
float mx, my;
hge_->Input_GetMousePos(&mx, &my); //this works, but all code below doesn't
if(hge_->Input_KeyUp(HGEK_LBUTTON))
{
//some code
}
if(hge_->Input_KeyDown(HGEK_LBUTTON))
{
//some code
}
if(hge_->Input_GetKeyState(HGEK_LBUTTON))
{
//some code
}
return false;
}
bool TestWidget::FrameFunc()
{
float mx, my;
hge_->Input_GetMousePos(&mx, &my); //this works, but all code below doesn't
if(hge_->Input_KeyUp(HGEK_LBUTTON))
{
//some code
}
if(hge_->Input_KeyDown(HGEK_LBUTTON))
{
//some code
}
if(hge_->Input_GetKeyState(HGEK_LBUTTON))
{
//some code
}
return false;
}
To copy to clipboard, switch view to plain text mode
Can anyone suggest solution to this problem?
Bookmarks