Hi Robert,
Am 22.10.2013 um 13:55 schrieb Robert Osfield <[email protected]>:
> I have just done a review of your changes and am getting ready to merge, but
> would like to make some changes. I do wonder if the menu behaviour might be
> better names task bar behaviour, as it's not the actual windows menu bar that
> the hint is affecting.
There's no task bar on osx, my changes affect the application menu-bar which is
pinned at the top of the screen. Afaik there's no such concept on other
platforms.
> I also inclined to think that default should something like
> MENUBAR/TASKBAR_DO_NOT_SET.
I'd stick to AUTO_HIDE, as this mimics the previous behavior on os x. If a
window gets fullscreen, the menu gets hidden, and reveals itself again, if the
mouse is near the menu. If we change that to do_not_set all fullscreen windows
on os x won't be fullscreen anymore.
I think I should find another way to set the menubar behavior as it's too
platform specific and asserts functionality which is not available on other
platforms.
All I want is some sort of mechanism to set some platform-specific attributes
for the WindowSystemInterface before it gets constructed (and use
command-line-options/env-vars to specify these parameters).
Something like an options-object for GraphicsWindowingInterface with several
virtual methods which get fired when parsing the command line, etc.
Platform-specific GraphicsWindowingInterface can create subclasses for their
platform-specific
Here's some pseudo-code:
class osg::GraphicsContext::WindowingSystem::Options : public osg::Referenced {
public:
virtual void readEnvironmentalVariables() {}
virtual void readCommandLine(ArgumentParser& arguments) {}
};
class CocoaWindowingSystemOptions : public
osg::GraphicsContext::WindowingSystem::Options {
public:
// platform-specific stuff
};
#ifdef _APPLE_
CocoaWindowingSystemOptions* options = new
CocoaWindowingSystemOptions();
// set the behavior per code
options->setMenuBarBehavior(…);
osg:: GraphicsContext ::GraphicsWindowingSystem::setOptions(options);
#endif
IMHO this is the cleanest approach. What do you think?
cheers,
Stephan
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org