Commit Graph

979 Commits

Author SHA1 Message Date
Campbell Barton
3407a2e145 name cocoa functions in keeping with convention with similar functions for other ghost classes. 2013-09-29 13:14:09 +00:00
Jens Verwiebe
d528b4c9bb OSX: more descriptive comment 2013-09-29 10:11:49 +00:00
Jens Verwiebe
20053f4954 OSX: cleanup for 60409, let m_window protected and use rather a public function for getting it public 2013-09-29 10:00:34 +00:00
Jens Verwiebe
1a30e52142 OSX: make sure closing the mainwindow forewards to the quitdialog - todo: check if m_window now public is a problem 2013-09-28 17:55:22 +00:00
Campbell Barton
aa8488421f style cleanup: whitespace & odd indentation 2013-09-21 10:46:58 +00:00
Jens Verwiebe
50fbb6c07e OSX/scons: fix linking errors due bf_intern_ghostndof3dconnexion was build even if no 3Dmouseware was detected 2013-09-20 18:52:39 +00:00
Bastien Montagne
8b093329ff Fix [#36742] Pasting image into text editor causes freeze
Last fallback (XCLIB_XCOUT_FALLBACK_TEXT) was not checked, hence infinitly looping...
2013-09-16 18:14:04 +00:00
Campbell Barton
811669c14e minor style clanup and use more meaningful name for 3DCONNEXION source code. 2013-09-14 12:04:10 +00:00
Jens Verwiebe
e05fc7bb2f Cleanup for last commit 2013-09-13 21:42:52 +00:00
Jens Verwiebe
c446015974 Fix broken compiling with ndof on linux and win 2013-09-13 21:21:53 +00:00
Jens Verwiebe
3596ab932c OSX: Compilefix for ndof symbols get magled when used extern C, now use discrete c files embedded, patch by Jake Kauth 2013-09-13 15:18:17 +00:00
Nathan Letwory
8309f1c0de Fix for [#36707] Blender Opens in fullscreen and stays like that
Reported by holy enigma

The previous commit in this area removed bounding box checks, because
they were done against primary monitor. Now do bound checks against
the entire desktop, or rather, the virtual screen. This is the bounding
rectangle of all the monitors.

This should ensure windows are always created within the confines of this
area.
2013-09-12 10:44:03 +00:00
Nathan Letwory
d396bd92ee Fix [#36702] blenderapplication window position and size
On Windows the system window will be sized an positioned such that Blender screen area lower left
corner is at the requested location, and with dimension as requested.

Thanks to Alexander N. for reporting and Brecht van Lommel for input.
2013-09-11 14:14:18 +00:00
Campbell Barton
f81f6c5019 take the decender into account when drawing console text.
also add data types wm and mask to dataname() and unshadow var in ghost/x11
2013-09-11 04:14:27 +00:00
Campbell Barton
43c83e2458 fix double free in ghost c++ gears test program. 2013-09-11 01:15:13 +00:00
Nathan Letwory
46db99e7fd Remove dimension checks from window creation.
This should be (and is) done by the caller instead (windowmanager)
to ensure new windows fit properly on the desktop. Saving
stretched layouts and layouts with window over display 
boundaries now becomes possible on Windows too.
2013-09-10 06:35:50 +00:00
Campbell Barton
4320a7c9df fix for bug in GHOST/SDL, events dont always have a window (which ghost needs).
fallback to the window with the active opengl context.
2013-09-06 01:40:20 +00:00
Sergey Sharybin
be42cd54df Ghost test application could be compiled again
Was an IRC request to have Ghost application up
and running for investigation purposes.
2013-09-05 16:22:07 +00:00
Campbell Barton
90b9fa3608 fix [#36459] Official blenderplayer can not go fullscreen on Linux
use modified patch from Alex Fraser (z0r)
2013-09-04 23:43:25 +00:00
Mitchell Stokes
42deb95583 Ghost_SDL: Fixing the DEF_CURSOR macro so it works in release builds. 2013-09-04 21:57:14 +00:00
Nathan Letwory
d5fba56b38 Add new cursor types to data handling to account for Intuos 4 device (pen and eraser).
Thanks to Ayden Polat for helping to find out the cursor type codes.
2013-09-04 12:10:02 +00:00
Alexander Kuznetsov
a3410a1b47 Fixed crash on Visual Studio 2013-09-03 15:30:07 +00:00
Mitchell Stokes
07e655dfa6 Cleaning up some prints related to SDL. 2013-08-29 22:48:37 +00:00
Mitchell Stokes
d4eeca430d Adding support for enabling/disabling vsync to Ghost_SDL. 2013-08-29 22:48:31 +00:00
Sergey Sharybin
ba6b83d63d Get rid of PATH_MAX in Ghost System X11
The reason of this is because PATH_MAX is not guaranteed
to be defined on all platforms and Hurd doesn't define it.

So either we need to support arbitrary long file path or
we need to define own maximum path length.

The rule here would be:

- If it's not big trouble to support arbitrary long paths
  (i.e. in ghost by using std::string instead of char*)
  then arbitrary long path shall be implemented.

- For other cases to use PATH_MAX please include BLI_fileops.h
  which takes care of making sure PATH_MAX is defined.

Additional change: get rid of own changes made yesterday
which were supposed to make storage.c work fine in cases
PATH_MAX is not define, but on the second though it lead
to unneeded complication of the code.

Thanks Campbell for review!
2013-08-20 08:33:04 +00:00
Campbell Barton
47c23750e8 style cleanup: indent/whitespace 2013-08-19 01:48:44 +00:00
Antony Riakiotakis
ac8e379a87 Fix linking issue, we use bundled static glew so we should define static glew in ghost as well. 2013-07-31 22:39:17 +00:00
Mitchell Stokes
29f8dfd37a BGE: Adding vsync control. Users can enable vsync, disable vsync, or use adaptive vsync via UI options in the render properties, or by using the new Python method bge.render.setVsync(). Win32 and X11 support are done via EXT_swap_control. Support for using EXT_swap_control on OS X still needs to be added to Ghost. 2013-07-29 22:31:32 +00:00
Campbell Barton
824ec5a388 code cleanup: case & brace placement 2013-07-19 10:40:43 +00:00
Campbell Barton
cbe43fd385 code cleanup: pass event by pointer to getClipboard_xcout 2013-07-19 10:40:27 +00:00
Campbell Barton
a15ac6ee09 code cleanup: use bool for widget struct, also edit odd strncpy use. 2013-07-19 10:39:44 +00:00
Campbell Barton
b1403415ae fix [#36157] Memory Leak in GHOST_DropTargetX11
would leak a little bit of memory for every window created.
2013-07-16 05:10:58 +00:00
Brecht Van Lommel
c776d5e003 Fix #35904: on Windows force NVidia Optimus, which does automatic graphics
switching between an integrated Intel and a dedicated NVidia card, to use the
dedicated card for Blender.

A more portable and general solution would be nice, but it's all I could find:
http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf
2013-06-28 17:58:48 +00:00
Brecht Van Lommel
b466a5c9a9 Fix #35890: memory leak in OS X ghost locale detection. 2013-06-27 13:24:55 +00:00
Campbell Barton
225c5fee6b move BLO_sys_types.h -> BLI_sys_types.h (it had nothing todo with loading)
remove MEM_sys_types.h which was a duplicate.
2013-05-28 19:35:26 +00:00
Alexander Kuznetsov
60befcdc62 Fix for r35524. Thanks Jeffrey Hoover for reporting.
WM_SIZE is dispatched before full init.
2013-05-28 18:36:47 +00:00
Alexander Kuznetsov
b9817cd207 Live resize on Windows. Based on Ton's patch for mac.
Removing old resize stuff. 
Windows has resize lag, which creates black gap with openGL. Still looking to fix it.
2013-05-25 21:59:34 +00:00
Ton Roosendaal
24321d4891 Solving ancient Blender window sizing issue;
- Removed grid-snapping for area coordinates on scaling windows. 
  That caused the areas to shrink or expand, and eventually corrupt screen layouts.

- Added simple but efficient life resize for OSX. I need to know why this is so much
  code for Windows... I suggest Windows to just copy same method; dispatch the queue,
  and just let the event system draw.
2013-05-25 14:08:56 +00:00
Campbell Barton
6de829cb7a code cleanup: split scons includes onto multiple lines, reduce chance of include conflicts later on. 2013-05-20 18:42:28 +00:00
Campbell Barton
6adec303db revert (ifdef) r54745. which enbabled alpha in the GL buffer.
looks to be the cause of bug [#35415]

we can make this optional.
2013-05-19 11:39:22 +00:00
Brecht Van Lommel
423ffa6043 Painting / Sculpting: more tweaks to pressure sensitivity
* Also do pressure interpolation for brush size and spacing.
* Do smoothing of pressure when smooth stroke and sample average is enabled.
* Revert the OS X specific pressure change to pressure ^ 2.5, for low pressure
  values like 0.05 it makes the pressure 100x lower, which is problematic. If
  we need to adjust the pressure curve it should be done for all platforms.

Still weak:

* Pressure of first touch on tablet is difficult to control, usually it's low
  which makes the stroke start out small or soft, but other times not. Finer
  event capturing at ghost level would help, along with pressure changes without
  mouse movement, but this may also need different paint stroke logic.
* Brush radius is rounded to integers, this gives noticeable stepping.
* Brush falloff is not antialiased, gives noticeable aliasing for small brush
  sizes which was always a problem, but is more common with size pressure control.
2013-05-18 11:25:24 +00:00
Brecht Van Lommel
213408d4c9 Fix #35340: 3D manipulator not working right after undoing with cmd+Z on OS X.
Another issue with the recent Ghost changes here. For some reason key up events
are not coming through when the command key is pressed. I can't figure out why,
for now just always handle them, still fixes the original bug.
2013-05-13 21:19:30 +00:00
Jürgen Herrmann
3d3a4e8eec Patch [#35234]:
Fix GetWindowsLon and SetWindowsLong issues with VS2012 and Windows 8.
Remove unneeded #ifdef block for GWL_WNDPROC and GWL_USERDATA
2013-05-13 20:27:05 +00:00
Brecht Van Lommel
5c2355d364 Fix ctrl+(shift)+tab shortcut key not working on OS X after recent bugfix to
interact better with system shortcuts.

This is a special shortcut for switching between views and does not get
delivered directly to our view when we pass it through the application key
event handling path. We only have a single OpenGL view, so there's no need to
pass it on to the application, instead just interpret it directly.
2013-05-12 22:15:05 +00:00
Brecht Van Lommel
f35a9328e0 Fix for previous fix, not sure it will cause issues in practice but better be
sure to avoid invalid memory access.
2013-05-11 12:21:33 +00:00
Brecht Van Lommel
a919b0e4c3 Fix #35265: on OS X, pressing system shortcuts such as cmd+M or cmd+` would both
insert text in the text editor and do the associated operation like minimizing the
window or switching windows.

The code was always doing both without trying to ensure only one is done. Now we
integrate a bit better with the event handling and pass the event to NSApp, which
then decides to handle the event itself or pass it on to the window, from where
we then send it back to be handled.
2013-05-11 10:15:27 +00:00
Brecht Van Lommel
360a86d658 Attempt to fix OS X build with 10.6 SDK, was not working due to recent fullscreen bug fixes. 2013-05-08 19:37:36 +00:00
Brecht Van Lommel
2a4ee23a25 Fix #35225: new OS X Lion fullscreen did not work together well with old
fullscreen option. It was possible to enable both at the same time which got
you stuck in a state where it was impossible to exit fullscreen. Now I've made
them mutually exlusive, only one can be enabled at the same time.

Note the reason we need to support both is because the new Lion fullscreen does
not work with multiple monitors, it will just give black screens on the other
monitors. This is a limitation of OS X, you can find many complaints about this
online.
2013-05-06 13:39:25 +00:00
Brecht Van Lommel
aa2a0e4ab0 More build fixes for visual studio 2012.
Patch #35019, #35131 and #35152 by Jurgen Herrmann.
2013-04-29 19:15:56 +00:00
Francisco De La Cruz
70de23dabb Fix #29932 Left Shift + Numpad 1,2,3 not Aligning to Active
Intermediate Shift+Key messages were resetting modifier flags.
2013-04-25 05:32:32 +00:00