PDA

View Full Version : QWidget, HGE and mouse input.



Filippok
23rd June 2010, 23:34
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 (http://dl.dropbox.com/u/335167/qtShit.png) Zone 1 is painted by HGE in paintEvent. Zone 2 is just a piece of Widget.

Here is some code:


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();
}


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;
}


Can anyone suggest solution to this problem?