I already checked the fWndProc, it is not NULL but still raises the exception, 
very weird.

Regards,
Date: Mon, 11 Aug 2014 12:43:28 +0200
From: trajce.nikolov.n...@gmail.com
To: osg-users@lists.openscenegraph.org
Subject: Re: [osg-users] Integrating OSG in C::B wxWidgets

No, you are calling the WndProc in the last line explicitly. It has to be in a 
loop for example where you are calling viewer->frame(); Also check if  fWndProc 
is NULL

Nick

On Mon, Aug 11, 2014 at 12:39 PM, Sonya Blade <sonyablade2...@hotmail.com> 
wrote:




Hi Nick,
>this belongs in a loop. Here is the lib::postMessage
With this I assume you mean that we have to embed/hook the first code poriton 
into WndProc loop, right ??Because all this are runing under the OnButtonClick 
for me, I'll chage it hooked into main window WndProc 
but for time being I use it for testing purposes.
I tried to simplfy the code as below but it raises segmentation fault at the 
last line fWndProc.Am I really messing something with pointers there ? 

osgViewer::CompositeViewer::Windows wins;g_viewer->getWindows(wins);
        MSG msg;        if (::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))
        {        ::GetMessage(&msg, NULL, 0, 0);            if (wins.size())    
        {                osgViewer::GraphicsHandleWin32 *hdl = 
dynamic_cast<osgViewer::GraphicsHandleWin32*>(wins.at(0));
                if(hdl)                {                    MSG message =msg;   
                 WNDPROC fWndProc = (WNDPROC)::GetWindowLongPtr(hdl->getHWND(), 
GWLP_WNDPROC);
                    fWndProc(hdl->getHWND(), message.message, message.wParam, 
message.lParam);                }            }
        }

Regards,

Date: Mon, 11 Aug 2014 11:37:36 +0200
From: trajce.nikolov.n...@gmail.com
To: osg-users@lists.openscenegraph.org

Subject: Re: [osg-users] Integrating OSG in C::B wxWidgets

Hi Sonya,
although on Windows is sufficient to set the window handle in the traits, based 
on your app you might really want to pass the messages explicitly. Here is a 
snippet of an example:


                        MSG msg;                        if 
(::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE))                   {

                                ::GetMessage(&msg, NULL, 0, 0);                 
        lib->postMessage((void*)&msg);                  }


this belongs in a loop. Here is the lib::postMessage
osgViewer::CompositeViewer::Windows wins;               
_viewer->getWindows(wins);

                #ifdef WIN32            if (wins.size())                {
                        osgViewer::GraphicsHandleWin32 *hdl = 
dynamic_cast<osgViewer::GraphicsHandleWin32*>(wins.at(0));                      
  if(hdl)

                        {                               MSG* message = 
(MSG*)msg;                               WNDPROC fWndProc = 
(WNDPROC)::GetWindowLongPtr(hdl->getHWND(), GWLP_WNDPROC);

                                fWndProc(hdl->getHWND(), message->message, 
message->wParam, message->lParam);                   }               }

#endif
Cheers,Nick

On Mon, Aug 11, 2014 at 10:45 AM, Sonya Blade <sonyablade2...@hotmail.com> 
wrote:





Dear All,
When we try to integrate the OSG rendering context into another Win32/64 window 
via window handle 

do we need to hook also the message handling mechanism ? If so can you give me 
an example for that ?
Regards,




From: sonyablade2...@hotmail.com
To: osg-users@lists.openscenegraph.org


Date: Sat, 9 Aug 2014 11:32:27 +0100
Subject: [osg-users] Integrating OSG in C::B wxWidgets




Dear All,
I'm trying to integrate the OSG view into wxWidgets actually wxFrame object in 
C::B IDE, I configure 

the Window handles to match with wxFrame and OSG graphic context but I get only 
a blue screen without cessna loaded. 


I place the code which deals with window handle equalization in a kinda unusual 
way, under the button click, after clicking the button blue screen shows up but 
cessna is not loading, I mean physically the cessna is not loaded,

I can not spot/testify exactly whether the malfuncitoning is due to the unusual 
way of placing the window handle dealing code under the button click or 
something else ? 


So basically is there any workaround to load the object  ?
void wid_testFrame::OnButton1Click(wxCommandEvent& event)

    osg::ref_ptr<osg::Referenced> windata = new 
osgViewer::GraphicsWindowWin32::WindowData( HWND( wxFrame::GetHandle() ) );


    osg::ref_ptr<osg::GraphicsContext::Traits> traits = new 
osg::GraphicsContext::Traits;
    traits->x = 0;

    traits->y = 0;    traits->width = 800;    traits->height = 600;    
traits->windowDecoration = false;

    traits->doubleBuffer = true;    traits->inheritedWindowData = windata;
    osg::ref_ptr<osg::GraphicsContext> gc = 
osg::GraphicsContext::createGraphicsContext( traits.get() );


...........    osg::ref_ptr<osg::Node> load_model = 
osgDB::readNodeFile("cessna.osg");


if (!load_model )    {       ............     /////////////////ALWAYS FALSE     
        }

............   viewer.run();                                      

_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org       
                                  

_______________________________________________

osg-users mailing list

osg-users@lists.openscenegraph.org

http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




-- 
trajce nikolov nick



_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org       
                                  


_______________________________________________

osg-users mailing list

osg-users@lists.openscenegraph.org

http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org




-- 
trajce nikolov nick



_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org       
                                  
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to