Commit Graph

1242 Commits

Author SHA1 Message Date
24c0f1873e Fix part of #26850: Cocoa OS X game player was not working, two issues:
* Unlike blender, the game player draws only on windows update callbacks,
  and those wer not implemented.
* Going fullscreen for player was not implemented correct, it expected an
  existing window but actually it should create one.
2011-06-27 13:57:27 +00:00
ec48695de1 suppressed annoying log in Mac NDOF system 2011-06-25 18:48:53 +00:00
da79ab5acc GHOST Cocoa: some changes to Y coordinate conversion in previous commit,
to fix continuous grab being broken (bug report #27760).
2011-06-25 02:10:13 +00:00
c518aa1383 GHOST Cocoa: move y origin top/bottom conversions out of windowmanager module
and into GHOST. Also fixes a problem where e.g. the user preferences window
would not open under the mouse cursor correctly.
2011-06-23 19:55:47 +00:00
015b0ea00a small fix to turntable mode, first attempt at trackball code, ndof now respects view locking and updates 'User Persp' etc. 2011-06-20 01:54:49 +00:00
85051eff69 disabled debug logging now that a workaround is in place (Win32 ndof buttons) 2011-06-18 20:32:14 +00:00
412da91a47 SpacePilotPro has 31 buttons, not 29 -- '+' and '-' work again 2011-06-18 19:40:30 +00:00
598c54f0e9 ndof device detection on Windows, safer button handling 2011-06-18 16:50:54 +00:00
ebc2f7064d tiny fix for Linux 2011-06-17 22:45:33 +00:00
56e312a88e filled out USB product IDs for all 3Dconnexion devices 2011-06-17 22:19:16 +00:00
d53801e8f6 updated Mac code to work with latest 3Dx beta driver -- all buttons work now 2011-06-17 21:04:23 +00:00
e7591d177b finished Mac NDOF device detection, moved core device ID to base NDOFManager, clarified info/error messages 2011-06-17 19:48:26 +00:00
b13e12a7bb NDOF device detection on Mac -- phase 1 2011-06-17 16:10:06 +00:00
18b5dac5ca Standard views (front, top, etc.) work from buttons on SpaceExplorer and SpacePilotPro. Linux can now determine which NDOF device is plugged in. 2011-06-16 19:45:38 +00:00
d7ef491845 cleaned up event logging, added HID -> function table for SpacePilot PRO 2011-06-15 20:56:42 +00:00
d5cafb808f fixed typos, renamed the HID -> function lookup tables 2011-06-15 19:57:10 +00:00
060e2b295b mapping HID button codes -> functions, for SpaceNavigator and SpaceExplorer 2011-06-15 19:45:00 +00:00
04584806cc handle up to 32 buttons (up from 16), for SpacePilot PRO 2011-06-15 16:05:10 +00:00
6aa7777144 removed temporary debug logging 2011-06-15 02:40:25 +00:00
450f176a8f split Win32 NDOF manager into 2 files to fix Mac scons build 2011-06-11 02:26:28 +00:00
6c7daf58be one small change -- SpaceNav works on Windows 2011-06-11 00:58:49 +00:00
7b124242e7 SpaceNav works on Linux 2011-06-11 00:25:48 +00:00
30fb5710b6 Made WinXP or later required, SpaceNav (almost) working on Windows 2011-06-10 01:34:53 +00:00
e75ff53452 migrated NDOF code from soc-2010-merwin, SpaceNavigator now works on Mac blender 2011-06-08 21:18:03 +00:00
a79072c80d SVN maintenance. 2011-06-05 00:10:20 +00:00
4a59928484 CMake option 'WITH_HEADLESS' to build blender in headless mode (no x11/xlib) with NULL ghost classe. 2011-06-04 14:12:55 +00:00
09da9d4393 cmake maintenance
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
2011-05-31 01:15:44 +00:00
d635a2b143 Disabling xinput wasn't done completely. 2011-05-28 15:34:02 +00:00
1e00590f1c Fix #26728: crash with load/save on Mac, on files that close & open a window
when loading them. Custom cursor shown during load was not freed correctly
when closing the old window, which resulted in unpredictable crashes later on.
2011-05-23 15:56:26 +00:00
57c626d11c Forgot to close clipboard when lock fails.
Thanks to jesterKing!
2011-05-12 18:04:24 +00:00
1d6278f80a Fix #27359: Pasting long text crashes blender
Actual problem was caused by insufficient buffer size
in ui_text_leftclip()

Also fixed possible invalid memory write in GHOST_SystemWin32::getClipboard
which was caused by accessing clipboard buffer after closing
clipboard. This mustn't happen.
Also fixed possible crush when buffer was failed to be locked.
2011-05-12 16:49:53 +00:00
Nathan Letwory
56c5d71f1c Apply patch from Ryakiotakis Antonis as posted on ML
Should fix MingW build problems - mingw users, please test too :)
2011-05-10 23:54:15 +00:00
Nathan Letwory
fab1ee1f78 MingW apparently doesn't know about RIM_INPUTSINK, define it if it isn't already. 2011-05-10 23:38:40 +00:00
1e0c3d315b minor cleanup, no functional changes. 2011-05-09 14:41:44 +00:00
88a13d7395 fixed scrolling lists with the mousewheel for some X11 windowmanagers.
some WMs not only send 'crossing' events when really moving from one
window to another, but also when mousewheeling.
distinguishing those events 'mode' property fixed this.

brecht++ for figuring out the details.
2011-05-09 12:46:59 +00:00
Dalai Felinto
0b03268c17 Patch [#26799] embedded blenderplayer not receiving keyboard input by Sebastian Korczak
(patch co-reviewed by Nathan Letwory)

Overview: GHOST using rawinput for keyboard input. GHOST window receives WM_INPUT only when it is the active window. Child window cannot be active, so when embedding blenderplayer, WM_INPUT is consumed by top level parent window (for Burster it is the web browser window). Patch register raw input device as 'inputsink' - it makes GHOST window receives all keyboard messages. Window procedure check if GHOST window is active or focused.

::TranslateMessage(&msg) generates WM_CHAR etc. messages from WM_KEYDOWN, WM_KEYUP etc. Because of using RawInput only WM_INPUT messages are processed, so we doesn't need WM_CHAR, WM_KEYDOWN etc. [this is why ::TranslateMessage is no longer getting called].

Note: It's responsibility of the parent window (aka the wrapper) to send WM_SETFOCUS to child window (embedded blenderplayer).
However some parent windows (e.g. webbrowsers) will not send WM_SETFOCUS to the child window when someone clicks on it.
In those cases the blenderplayer needs to be patched to call setFocus(&msg); in the event of WM_LBUTTONDOWN (see GHOST_SystemWin32.cpp)
2011-05-07 22:28:56 +00:00
Dalai Felinto
c56fe3efe6 Patch [#26799] 2.5x blenderplayer (BGE) anti-aliasing & embedding by Sebastian Korczak (with some small tweaks) + adding GHOST_PRINTF
The patch can also be found in http://codereview.appspot.com/4431072/

##############
This patch fix anti-aliasing (multisampling) implementation for win32 platform. It also gives opportunity to embed blenderplayer inside parent window.

Usage:
blenderplayer.exe -i 123456 -m 16 file.blend

where:
123456 - parent window handler (integer, default: 0)
16 - multisample level (integer, default: 0, max: 16. Put there maximum level you want. If not supported, player will automatically try 15,14,13,...,3,2,1)
##############

This patch was originally created as part of the Burster (aka webplugin) project but benefit any one embedding the bge in a custom OpenGL context. By the way, to embed the BGE in a .Net application is really straightforward now =)
The Multisampling work for blenderplayer as a whole.

Missing functionalities:
- to expose the multisampling to the ui (so far it only works in console)
- window focus and keyboard messages for embedded blenderplayer (supported in their previous patch for 2.49, yet to be ported over)
- handle resizing (to be investigated, indeed the changes in getState() in GHOST_WindowWin32.cpp are going to get in the way of that if I'm not mistaken. To be addressed together.

Doxygen documentation to be added whenever I sort out how to do so. Sorry Nathan too many stuff to deal with at the same time. The sooner this patch gets in, the sooner the missing functionalities can be patched on top of that.
2011-05-04 01:50:17 +00:00
08a914095e change ghost/x11 toggleConsole to use dummy function in the header. 2011-05-03 07:05:01 +00:00
e910bf1ef5 fix for building windows/mingw 2011-05-02 14:18:47 +00:00
Nathan Letwory
aecb892e19 Also add build fix for OSX (not-tested, so OSXers, please do test). 2011-05-02 08:39:17 +00:00
e9e9f89f1a x11 builds again. 2011-05-02 08:36:00 +00:00
Nathan Letwory
d197ec74e3 Fix [#26981] Command window is not opening in 2.57.0
Reported by Thomas Engel
Fix [#26938] Blender Zoom not working after startup (Windows)
  Reported by Ilija Boshkov

by applying patch [#26881] Fix for console disappearing in debug mode [Windows]
  Submitted by Alexander Kuznetsov (AlexK)

The patch moves console toggling code into GHOST and improves on the toggling behaviour.

The patch changes handling of WM_SYSCOMMAND so that alt-key toggling isn't a problem anymore.
2011-05-02 08:07:24 +00:00
f86565c90e whitespace edits for bpy api, split some really long lines. 2011-04-30 13:58:31 +00:00
d6d2f09dd9 quiet some clang warnings & fix for bugs in exceptional cases.
- ghost C api, BLI_get_folder_version() could assign garbage values.
- pointcache ptcache_find_frames_around() had a superfluous NULL check which would have crashed anyway if actually NULL.
2011-04-23 12:57:03 +00:00
b3a04b4ea7 Fix crash for Intel G45 video cards
This video card need a bit different approach to buffer swapping.
Patch provided by nico_ga from IRC.
2011-04-12 14:31:59 +00:00
e210d82f17 FIx crash when opening User Preferences even with NVidia card
This crash was discovered by Dalai and this happened because of
unset current context (as result of call wglMakeCurrent(NULL, NULL)).
In this case glGetString(GL_VENDOR) returns NULL. Rather than add check
for vendor != NULL before string comparison, I've changed a bit logic of
context creation:
- Create context and set it as current
- If it's crappy Intel card -- delete this context and
  share the only one context between all Windows
- Otherwise, use initial logic (with sharing lists and so on)

This could also fix crash when opening userprefs from a menu with Intel card.
2011-04-11 19:22:43 +00:00
Nathan Letwory
28478967f4 doxygen fix 2011-04-09 19:46:17 +00:00
Nathan Letwory
b344fe05ec whitespace 2011-04-09 19:23:49 +00:00
66cee63665 Fix crash for Windows+Intel video card configuration
Intel video cards don't work fine with multiple contexts and
have to share the same context for all windows. This could work
incorrect with multiple video cards configuration, so suppose
there'll be no such situation (Intel cards are mostly in portable
devices like notebooks and laptops, where there's actually no
dual video cards). Anyway, it should work much better now.

Non-Intel cards behavior was kept unchanged.

Thanks to Ton for debug session :)
2011-04-09 18:29:43 +00:00
ca254dd37b add option WITH_BUILTIN_GLEW, so linux packagers can disable to use their own glew library. 2011-04-05 23:31:01 +00:00