This add support for the different window state in Linux/X11.
Two think to take care:
1) m_post_*
2) motifFullScreen
1) This is only need if we want start a window in FullScreen or Maximized
state. The basic problem is that we can't set this property to a window
until it's really map, so i add a "post init" proccess for this two
special case (check the code for more info).
2) The Motif Hint isn't really a "FullScreen" mode, it's only a
"NO DECORATIONS" options, so if the window manager don't support WM-spec
this function only remove the border of the window, don't make it
FullScreen. A simple fix (hack) is check if the Window Manager support
WM-spec, in case that not, remove the decorations and move/resize the
window.
Test in different WM (gnome, kde, etc) and comment are welcome :)
- first work on getting area/screen handling back
- added structure for where to put stuff, is still under
review, wait a bit for docs?
Campbell is working on removing every bad level include from
sources, so we can safely rebuild the src/ directory.
* made win32 ghost getClientBounds so that it returns area compatible with osx getClientBounds
- if a window is non-fullscreen, substract decoration, since that'll be added by GHOST_WindowWin32()
* use SetWindowLongPtr/GetWindowLongPtr (instead of SetWindowLong) as it is compatible with 64bit windows.
Result: windows open default with decoration (or as your default WM
defines).
Todo: platform maintainers re-implement a cogent way for giving
commandline options for defaults, and test how this can be stored even
- Added GHOST_kEventWindowMove event, for sending event that the
window has moved
- Fixed GHOST_GetClientBounds() for OSX (get window rect)
Todos:
- add same event for X11 and Windows
- solve why ghost doesn't call client event-proc while scaling window
(at least, not in osx)
* tweak other SConscripts for editors/include
* commented BKE_bad_level_calls.h in writeframeserver.c - please check it doesn't break make builds
This compiles until final linking, which still fails.
Modified these three to include blender/editors/include instead of
blender/include maybe not needed at this stage but I'm guessing its good
to do this.
Kent
(which was not even a working blender yet!)
Todo for dec 26th: finish the task:
- remove entire src/ and python/ dirs, and get blender to compile and
link again, using a new stubs.c temporary
(note; bad level calls stubs.c was also removed, this was a MESS!)
Then there's the task
- solve the bad level calls (can use help with that!)
So then I can do:
- move the screen code and subwindow code from old src/ to new editors
module and windowmanager
More will follow on mailing list, and wiki.
Merry xmas!