Commit Graph

883 Commits

Author SHA1 Message Date
Brecht Van Lommel
52303db217 Fix window fullscreen crash when building for Mac OS X 10.5. 2013-02-04 16:12:27 +00:00
Campbell Barton
0515f933d9 fix [#33831] "Alt" key is "Alt Window Deactivated"
update to the ubuntu workaround from Shinsuke Irie.
2013-02-04 07:51:01 +00:00
Campbell Barton
69993c5d40 style cleanup: spaces -> tabs 2013-02-04 00:18:09 +00:00
Campbell Barton
2a71e4e4f0 make WITH_HEADLESS build again. 2013-02-01 08:24:18 +00:00
Campbell Barton
6341919354 code cleanup: make wmEvent's 'const' in interface code (reduces manual checking that they are not modified). 2013-02-01 01:01:20 +00:00
Campbell Barton
dbf54dacf7 Add Xinerama support for GHOST_GetMainDisplayDimensions() so X11 works as it should (previously would include all monitors).
Now the active monitor size is used on startup. 
Currently the cursor position is checked for intersection with the monitor bounds to find the active screen.
2013-01-31 11:05:09 +00:00
Campbell Barton
73f301c3a8 add ghost function getAllDisplayDimensions, GHOST_GetAllDisplayDimensions
This returns the desktop size, not just the size of the active monitor, useful since this constrains the mouse and we dont have to detect the active monitor (which isn't so straightforward with xlib).

carbon/cocoa are TODO, they still use getMainDisplayDimensions().
2013-01-31 10:42:26 +00:00
Campbell Barton
c2ee59b777 initializing maximized/fullscreen windows in x11 would start normal, then maximize - causing noticeable flicker. 2013-01-31 05:55:57 +00:00
Campbell Barton
743b4f213e disable ubuntu unity workaround, causes issues with modifier keys held doun with multiple windows.
no time to fix now so disabling.
2013-01-30 13:44:24 +00:00
Campbell Barton
7b6a34a756 patch [#34039] Fix Alt key glitch on Unity desktop
by Shinsuke Irie (irie) with own minor changes.
2013-01-30 04:12:32 +00:00
Ton Roosendaal
4477d59b76 Put back minimum window sizes on 320x240.
This didnt work well with making blender areas into windows.

Real fix: check such minimums based on what's in the window itself... or just
make scaling work flawless.
2013-01-24 17:57:38 +00:00
Sv. Lockal
36641078f8 Fix compilation with WITH_X11_XINPUT=OFF 2013-01-23 15:01:33 +00:00
Campbell Barton
47f23c1372 fix for blender quitting in X11 if you start blender with a tablet, unplug it, then open a new window. 2013-01-23 10:32:09 +00:00
Ton Roosendaal
8733150ac1 OSX 10.6 error - hiding code behind a respondsToSelector. 2013-01-22 19:06:51 +00:00
Ton Roosendaal
9e30e7cdaf Bug fix #33911
When you open a Blender window larger than a screen, Macs clip it to match the height,
but they allow the width to be more.

Problem is that this clipping happens after all window opening code. That causes
check for HiDPI mode to fail.

Now it checks it again on event GHOST_kEventWindowUpdate, which is only on startup.
2013-01-22 18:07:17 +00:00
Campbell Barton
62191d935c reverting r53798 to fix [#33831], it casued bug [#33921] 2013-01-22 07:10:42 +00:00
Campbell Barton
f414d2980a code cleanup: remove some paranoid checks which would have crashed anyway earlier on.
Also some minor formatting.
2013-01-20 14:50:50 +00:00
Jason Wilkins
160dd1dc3b More win32 multimon (r53923). Changed getNumDisplays so that it will actually succeed. 2013-01-20 14:40:31 +00:00
Jason Wilkins
5a8d04bbb6 Add multimon support to GHOST_DisplayManagerWin32.cpp (It seemed to work before, but recent changes to GHOST_ASSERT caused it to abort if WITH_ASSERT_ABORT was configured). 2013-01-20 13:46:53 +00:00
Campbell Barton
60e5583933 add NULL check for XInput device, since its possible only one is valid. 2013-01-17 02:06:54 +00:00
Campbell Barton
9e7b954ed0 fix for GHOST/X11 using uninitialized memory for the tablets active state. (possible cause of reported glitches in tablet use). 2013-01-16 22:00:03 +00:00
Campbell Barton
6e7ee2649d style cleanup 2013-01-16 18:16:05 +00:00
Campbell Barton
cda2b7db0f fix for glitch in X11 with tablets.
Notices this while using continuous-grab, since this is disabled when the tablet is being used.
Quite often I would use the tablet then drag a button with the mouse but blender would still have the tablet enabled.
This error would cause other parts of blender to behave incorrectly too since wmEvents would have wmTabletData set, operators check for this in some cases.


The problem was blender didn't reliably get ProximityOut events, eg:
  moving the cursor outside the window with the tablet, then back over the window with the mouse -
  meant blender didn't get a 'ProximityOut' event and would keep the active stylus value set.

For now, when the processing events and the active stylus is set, run a check that the tablet is still in proximity.
2013-01-16 18:05:17 +00:00
Ton Roosendaal
b5cffb48ea Mac OS X, Intuos tablet fix
Touch input events map nicely to trackpad input now.
However, I noticed the event values are a factor 10 scaled larger compared
to other touch delta's. Makes using touch input on the tablet not so nice.

I found a hack to detect Wacom events, but if it works for more devices?

Anyway - for me the Wacom works perfectly smooth for view manipulations now.
2013-01-16 13:45:11 +00:00
Sergey Sharybin
2095b2cddb Fix #33877: Pressure Sensitivity stop after opening User Preferences Window
Issue was caused by opening the same device id twice and closing one of
descriptors on closing window. This used to close device used by other
windows.

Now moved all device-specific code to SystemX11, so opening and closing
happens only once.
2013-01-16 12:28:25 +00:00
Campbell Barton
f2cfe4b2e9 minor changes to ghost
- use WITH_ASSERT_ABORT define, so GHOST_ASSERT will abort.
- rename XTablet -> GHOST_TabletX11, was confusing since it was named like an xlib struct.
2013-01-16 01:10:06 +00:00
Campbell Barton
dfdf07c21a fix [#33831] "Alt" key is "Alt Window Deactivated"
Patch from Patrick Zulke (pazul)
2013-01-14 20:04:36 +00:00
Ton Roosendaal
fa759d8ffd Mac HiDPI ("retina") handling:
OK - so you have this nice crisp screen, and still you want to add extra 
monitors to the laptop! That means Blender should switch back and forth to HiDPI 
modes, when you move a window to another monitor.

This code makes the pixelsize scale factor a window property, and handles
an event when a window moves to another monitor. It then changes the
native pixelsize nicely and refreshes entire UI.

You can also have one Blender window on high, and other on low resolution.

Stretching a Blender window from 1 monitor to the other works too, but that
is Apple magic handling it.
2013-01-12 17:07:49 +00:00
Ton Roosendaal
96b44c622c Mac HiDPI support:
With the good help from googling, here's code that compiles for
10.6 natively. Will check on 10.7 and 10.8 right after commit.
2013-01-09 11:25:16 +00:00
Ton Roosendaal
74d85d2882 Macbook HiDPI support: reshuffled code to make it compile for 10.6 and work
in 10.7 and later. OS X Gurus might check though :)
2013-01-08 17:27:11 +00:00
Campbell Barton
08358a60b0 style cleanup 2013-01-08 01:48:14 +00:00
Mike Erwin
eca21a2532 fix for bugs 30300, 31107: pen pressure with multiple open windows on MS Windows 2013-01-07 01:23:09 +00:00
Ton Roosendaal
0fd4a102e0 With some help in irc (thanks erwin, markus!) and some googling, here's code
that compiles for OSX 10.6 for new momentumPhase usage.

Jens Verwiebe can give final blessings, I'm just copypasting stuff and test it :)
2013-01-06 12:49:32 +00:00
Ton Roosendaal
c6a0818642 Removal of old code trying to detect trackpads.
This was causing error in previous commit "wheel only worked after using trackpad once".
2013-01-05 18:23:05 +00:00
Ton Roosendaal
8dfe7620fb New version of code to detect whether a wheel is involved, or a trackpad.
It was compiled with "deploy target 10.6" tested on macbook with 10.8.
More tests follow quick.
2013-01-05 17:13:07 +00:00
Ton Roosendaal
fde101c50c Revert change from Jens, wrong pointer check in the code.
That change made all scrollwheel events be handled as if it was a swipe gesture.
Old style mouse wheel didn't work anymore.

This version should work for everyone, but we need more mac testers :)
2012-12-30 10:38:56 +00:00
Jens Verwiebe
eae167998a OSX: fix magic mouse swipes compiling on with MAC_OS_X_VERSION_MIN_REQUIRED by checking address not value 2012-12-29 19:51:44 +00:00
Ton Roosendaal
7684f2e5ac Mac OS X 10.7 supports new trackpad (and mighty mouse) events with nice seamless
scrolling and inertia.

Now Blender uses this - if you have 10.7. Otherwise it just falls back on the
old code.

Try it, makes a huge difference :)

Next todo: how to configure this well, so you can have trackpad (or mighty mouse)
zoom as default in 3d views.
2012-12-29 11:00:45 +00:00
Ton Roosendaal
01fe30f50b Hrm... replacing
MAC_OS_X_VERSION_MAX_ALLOWED
with
MAC_OS_X_VERSION_MIN_REQUIRED
2012-12-28 19:26:25 +00:00
Ton Roosendaal
4e24bcf6c9 Testing commit for OS X trackpad and scroll events.
Now:
- code is wrapped for OS X releases (10.6 and 10.7)
- It now detects scrollwheel (old mouse) and gesture strokes (mighty mouse or trackpad).

If you have 10.6, things will work as for release. 

Next todo for tomorrow: make trackpad work actually smooth and not with steps.
Will also try to figure out the device type, to handle mighty mouse differently.
2012-12-28 19:10:21 +00:00
Ton Roosendaal
357b02f65f Reversion of previous fix for Mac OS X scrollwheel,
it appears I used 10.7+ options, fails for 10.6.

Back to drawing board!
2012-12-28 16:11:04 +00:00
Ton Roosendaal
9f9e35c82a Bugfix #33681
Blender didn't detect properly whether event came from a mouse-wheel or
from a trackpad in OS X.

Now you can both, and both are handled independently.

Removed back hack from 2 years ago - which disabled mouse wheel for laptops.
2012-12-28 12:48:45 +00:00
Brecht Van Lommel
b5054896c3 Fix #33644: rendering to a new window and then closing it would not completely
remove it, but still stick around listed in the Window menu.

Fixed by removing the setReleasedWhenClosed:NO hack and using the proper cocoa
window delegate mechanism.
2012-12-21 11:56:02 +00:00
Ton Roosendaal
8914433cd0 Bug fix #28915 and #33538
Mac OS X trackpad and 'mighty mouse' fix.

An old commit from Damien in 2010 tried to make mighty mouse touches work as if
this is a scrollwheel. The error in that code was that the "kinetic scrolling"
feature failed. When releasing your fingers, the events passed on to Blender
then switched from "trackpad pan" to "mousewheel zoom".

This commit makes trackpads and mighty mouse behave identical. Only difference
is that trackpad panning needs 2 fingers, mighty mouse only one.

Note that trackpad and mighty mouse 3d zoom works with holding ctrl!

All works nice with this kinetic feature now. Fun :)
2012-12-20 12:01:15 +00:00
Bastien Montagne
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
Jens Verwiebe
b0edc38856 OSX: makeKeyAndOrderFront would show window from orderedWindows list on every loop, so use makeKeyWindow only to avoid flicker when closing app 2012-12-15 18:32:53 +00:00
Jens Verwiebe
f98c2c936c OSX/availability: use of the numerical value instead of the symbol in the #if MAC_OS_X_VERSION_MIN_REQUIRED comparison clause: If the code is loaded on an older system that does not include the symbol definition, the comparison still works 2012-12-15 11:15:05 +00:00
Brecht Van Lommel
f1d487d1c4 Fix mac build error with SDK < 10.7, this version is not then defined then as
pointed out by Patrick Boelens on the mailing list.
2012-12-14 20:56:14 +00:00
Jens Verwiebe
3d99ba125f OSX/nativePixel: fix compile for OSX < 10.7 2012-12-14 08:48:48 +00:00
Ton Roosendaal
d06876f45a Bugfix, IRC report
(Error in 2.65 release too)

Mac OS X: on closing Blender, it 'flashed', which appeared to be a white window opening
and closing quickly. Caused by code trying to send focus to another opened window, and
accidentally focusing the closed one - causing it to reopen.
2012-12-13 14:25:15 +00:00