|
|
Home » Community » Newbie corner » GLCtrl and Docking: do they work together as expected?
GLCtrl and Docking: do they work together as expected? [message #28734] |
Tue, 14 September 2010 13:45  |
281264
Messages: 272 Registered: June 2010 Location: Spain
|
Experienced Member |
|
|
Hi,
I have spotted a, IMO, weird behaviour of several GLCtrls when working with Docking. Please test attached code. Two GLCtrl structs are created: one is made dockable. When this one is made auto-hide and you further take advantage of it, the main Topwindow (which contains the other GLCtrl) fails to re-paint correctly.
I have noticed that GLPane::Init() function is called every time the auto-hide feature is used, and consequently a new OpenGL rendering context is generated and made current. Is this a desirable behaviour? Why is going on this weird behaviour?.
For example, when the other dockable controls (trees) are made auto-hide, this feature does not interfere at all with the OpenGL Ctrl in the main application Topwindow.
Cheers,
Javier
|
|
|
|
Re: GLCtrl and Docking: do they work together as expected? [message #28738 is a reply to message #28736] |
Tue, 14 September 2010 16:50   |
281264
Messages: 272 Registered: June 2010 Location: Spain
|
Experienced Member |
|
|
Roger. I shall do that.
Allow me to ask some more questions (I have poste one of them in this forum):
1.- How is Docking dealing with the OpenGL rendering context creation? I guess that for using the main TopWindow as OpenGL device context, GLCtrl does it (this is obvious); but what about the second GLCtrl object, is it treated like a new window and hence “new window”=>new hDc=> new hRc created?
2.- Then if we have two OpenGL hRC, which of them is the current?
Allow me to ask some more questions (I have poste don of them in this forum):
1.- How is Docking dealing with the OpenGL rendering context creation? I guess that for using the main TopWindow as OpenGL device context, GLCtrl does it (this is obvious); but what about the second GLCtrl object, is a new “window”=>hDc=>hRc created?
2.- Then if we have two OpenGL hRC, which of them is the current?
3.- How can I make one of them “current” (and therefore be able to control the rendering/interaction with the user?
4.- How a multithreading feature can work in this context?
5.- When a dockable ctrl is not docked, how is it considered? Like a new TopWindow?
6.- How to interact with it (for example how to “say” the others GLCtrls, “please Refresh() yourselves”?
Many thanks.
Best wishes,
Javier
Many thanks.
Best wishes,
Javier
|
|
|
|
|
Re: GLCtrl and Docking: do they work together as expected? [message #28780 is a reply to message #28777] |
Thu, 16 September 2010 12:16  |
281264
Messages: 272 Registered: June 2010 Location: Spain
|
Experienced Member |
|
|
Many thanks for the answer.
With regard to the visibility of GLCtrls, I have created pointers, so every control points the others. With this, one control can control the others, even being a TopWindow under Docking.
What amazes me is why auto-hide distorts the central GLCtrl.
Best wishes,
Javier
|
|
|
Goto Forum:
Current Time: Mon Apr 28 09:57:00 CEST 2025
Total time taken to generate the page: 0.04525 seconds
|
|
|