i do that, the following is my resize code:
void SS3DCanvas::OnSize(wxSizeEvent& event)
{
// this is also necessary to update the context on some platforms
wxGLCanvas::OnSize(event);
// set GL viewport (not called by wxGLCanvas::OnSize on all
platforms...)
int width = event.GetSize().x, height = event.GetSize().y;
//GetClientSize(&width, &height);
width = max(5, width);
height = max(5, height);
// update the window dimensions, in case the window has been resized.
getEventQueue()->windowResize(0, 0, width, height);
resized(0, 0, width, height);
m_HUD->OnSize(width, height);
// This is a HACK to un-stick the canvas windows on startup.
// For some unknown reason, the canvas windows require a single mouse
event before they'll start
// responding to user events. By posting a single, mouse up event we
un-stick the windows so they'll
// respond to the first user event.
//wxMouseEvent mouseEvent;
//mouseEvent.m_x = 10;
//mouseEvent.m_y = 10;
//mouseEvent.m_leftDown = true;
//mouseEvent.SetEventType(wxEVT_MOTION);
//wxPostEvent(this, mouseEvent);
}
Thibault Genessay wrote:
Hi Tamer,
Have you tried to pass the new graphics window size to the OSG when it
changes ? Your canvas should intercept the resize events and send the
updated sizes to all OSG views, e.g.
myView->getEventQueue()->windowResize(0, 0, width, height);
Thibault
On Jan 20, 2008 1:37 AM, Tamer El Nashar <[EMAIL PROTECTED]>
<[EMAIL PROTECTED]> wrote:
Hi,
I am using OSG with wx and I am getting a strange bug on my canvas when
dragging and dropping on the canvas, specifically after resizing the canvas.
So initially after the canvas is resized and I drag and drop, items show up
in the wrong place. Then I click once on the canvas and then when I drag
and drop they show up in the write place, as if clicking initializes/fixes
something, then everything works. I tried sending my own wxMouseEvent in
every size event, and the event does get handled by the osgGA::EventQueue,
however that doesnt work. Only actually clicking on the canvas fixes the
problem. The code that reports the wrong values is:
osgUtil::LineSegmentIntersector::getWorldIntersectPoint(). After clicking
once on the canvas, the same code reports correct values! Anyone crossed
this before, or any ideas what it could be? I wouldn't even qualify as a
OSG novice, so any tips would be much appreciated.
Thanks in advancce
Tamer El Nashar
VRSonic Inc.
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org