Commit Graph

594 Commits

Author SHA1 Message Date
Mike Erwin
30b4ff8949 first attempt at CMake fix (untested) 2011-06-27 23:24:24 +00:00
Mike Erwin
5c2e4318b5 Windows ndof now uses blender view coordinates 2011-06-27 21:52:33 +00:00
Mike Erwin
798f59fe68 Mac ndof using blender view coordinates + small but important typo fixed 2011-06-27 20:44:23 +00:00
Mike Erwin
0f8a1ed8af removed unneeded cleanup code on Linux 2011-06-27 20:18:04 +00:00
Mike Erwin
edd5980436 now using blender view coordinates for ndof input -- core and Linux in place 2011-06-27 20:12:10 +00:00
Mike Erwin
ec48695de1 suppressed annoying log in Mac NDOF system 2011-06-25 18:48:53 +00:00
Mike Erwin
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
Mike Erwin
85051eff69 disabled debug logging now that a workaround is in place (Win32 ndof buttons) 2011-06-18 20:32:14 +00:00
Mike Erwin
412da91a47 SpacePilotPro has 31 buttons, not 29 -- '+' and '-' work again 2011-06-18 19:40:30 +00:00
Mike Erwin
598c54f0e9 ndof device detection on Windows, safer button handling 2011-06-18 16:50:54 +00:00
Mike Erwin
ebc2f7064d tiny fix for Linux 2011-06-17 22:45:33 +00:00
Mike Erwin
56e312a88e filled out USB product IDs for all 3Dconnexion devices 2011-06-17 22:19:16 +00:00
Mike Erwin
d53801e8f6 updated Mac code to work with latest 3Dx beta driver -- all buttons work now 2011-06-17 21:04:23 +00:00
Mike Erwin
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
Mike Erwin
b13e12a7bb NDOF device detection on Mac -- phase 1 2011-06-17 16:10:06 +00:00
Mike Erwin
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
Mike Erwin
d7ef491845 cleaned up event logging, added HID -> function table for SpacePilot PRO 2011-06-15 20:56:42 +00:00
Mike Erwin
d5cafb808f fixed typos, renamed the HID -> function lookup tables 2011-06-15 19:57:10 +00:00
Mike Erwin
060e2b295b mapping HID button codes -> functions, for SpaceNavigator and SpaceExplorer 2011-06-15 19:45:00 +00:00
Mike Erwin
04584806cc handle up to 32 buttons (up from 16), for SpacePilot PRO 2011-06-15 16:05:10 +00:00
Mike Erwin
6aa7777144 removed temporary debug logging 2011-06-15 02:40:25 +00:00
Mike Erwin
450f176a8f split Win32 NDOF manager into 2 files to fix Mac scons build 2011-06-11 02:26:28 +00:00
Mike Erwin
6c7daf58be one small change -- SpaceNav works on Windows 2011-06-11 00:58:49 +00:00
Mike Erwin
7b124242e7 SpaceNav works on Linux 2011-06-11 00:25:48 +00:00
Mike Erwin
30fb5710b6 Made WinXP or later required, SpaceNav (almost) working on Windows 2011-06-10 01:34:53 +00:00
Mike Erwin
e75ff53452 migrated NDOF code from soc-2010-merwin, SpaceNavigator now works on Mac blender 2011-06-08 21:18:03 +00:00
Guillermo S. Romero
a79072c80d SVN maintenance. 2011-06-05 00:10:20 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
d635a2b143 Disabling xinput wasn't done completely. 2011-05-28 15:34:02 +00:00
Brecht Van Lommel
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
Sergey Sharybin
57c626d11c Forgot to close clipboard when lock fails.
Thanks to jesterKing!
2011-05-12 18:04:24 +00:00
Sergey Sharybin
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
Campbell Barton
1e0c3d315b minor cleanup, no functional changes. 2011-05-09 14:41:44 +00:00
M.G. Kishalmi
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
Campbell Barton
08a914095e change ghost/x11 toggleConsole to use dummy function in the header. 2011-05-03 07:05:01 +00:00
Campbell Barton
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
Campbell Barton
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
Campbell Barton
f86565c90e whitespace edits for bpy api, split some really long lines. 2011-04-30 13:58:31 +00:00
Campbell Barton
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
Sergey Sharybin
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
Sergey Sharybin
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