Commit Graph

980 Commits

Author SHA1 Message Date
Mario Liebisch
bc73b12428 [Android] Fixed redundant touch moved events
Previously moving any finger would create `sf::Event::TouchMoved` events
for all fingers, even if their position didn't change at all.
2014-06-21 00:04:15 +02:00
Mario Liebisch
5b559f1c08 [Android] Added missing sensor event generation 2014-06-20 23:56:33 +02:00
Jonathan De Wachter
60c34bff19 [Android] Made the remaining sensors available 2014-06-13 15:58:58 +02:00
Jonathan De Wachter
2874ac4aab [Android] Don't disable sensors since it's handled at higher-level 2014-06-13 15:58:50 +02:00
binary1248
bdcdfffe11 Replaced Text underline offset/thickness with nicer font dependent values. 2014-06-12 00:49:23 +02:00
binary1248
da79517b36 Fix bitmap font resize failing silently when resizing to an unsupported pixel size (#448), fixed getKerning returning scaled values even for bitmap fonts. 2014-06-12 00:49:23 +02:00
rafoudiablol
0124ad0a85 Show error message everytime a shader uniform's location can't be found.
Adjusted code style (TankOs).

Original commit message by the author:
  Show only 1 once the message "Parameter not found"

Conflicts:
  src/SFML/Graphics/Shader.cpp
2014-06-11 14:43:28 +02:00
Stefan Schindler
228038fa8a Check socket descriptor limit. #153
When calling select(), there's an upper limit for the socket descriptor
which is defined as FD_SETSIZE. When the socket descriptor is higher
than FD_SETSIZE, a call to select() will not work as expected, at least
for the proper sockets.

This patch adds an error message for this case.
2014-06-11 14:35:15 +02:00
Mario Liebisch
159176f5ba [Android] Fixed TouchBegan reporting wrong coordinates
* So far `sf::Event::TouchBegan` always reported the coordinates of the
first pointer/finger.
2014-06-10 10:15:41 +02:00
Lukas Dürrenberger
265c411c39 Merge branch 'bugfix/osx-implementation' 2014-06-04 11:48:31 +02:00
Marco Antognini
46be2159cb Fixed OS X implementation of sf::Mouse::(get|set)Position
The code was not updated at all when support for retina display was introduced.
2014-06-01 20:07:24 +02:00
Jan Haller
bc1127da5b Output error message and abort program when XOpenDisplay() fails
Fixes issue #508.

When the X11 display could not be opened, the application crashed without notice. Now, a meaningful error message is output to std::err() and std::abort() is called, causing immediate program termination.
2014-05-28 12:05:46 +02:00
Marco Antognini
5912d205d3 Removed a dead store in sf::Ftp implementation 2014-05-28 11:18:39 +02:00
Marco Antognini
4f2c6c4489 Fixed potential memory leaks on OS X
And renamed create* methods to new* to follow more closely Objective-C
naming convention regarding memory management.
2014-05-28 11:18:38 +02:00
binary1248
1dae89a8e0 Moved glClientActiveTexture and glActiveTexture calls before glEnable(GL_TEXTURE_2D) to make sure texture unit 0 gets affected. (#523) 2014-05-27 10:56:11 +02:00
Mario Liebisch
ff869777a9 Fixed building for OpenGL ES 1.1 platforms
* Added proper extension handling for `glBlendEquation` and related
  constants (required for OpenGL ES 1.1).
2014-05-27 10:23:09 +02:00
Remco van Oosterhout
3fa1d0e03d Fixed issue where the viewport's width and/or height could be off by 1 pixel
Signed-off-by: Stefan Schindler <stefan@boxbox.org>
2014-05-27 09:14:00 +02:00
Joshua Adam Reisenauer
0375d7588f Fixed soundbuffer contents not being able to be updated when still attached to sounds (#354), sounds now detach from their buffer when it is reset. Signed-off-by: binary1248 <binary1248@hotmail.com> 2014-05-26 23:39:07 +02:00
binary1248
e6b5ce1f27 Make sure texture unit 0 is active when reseting RenderTarget states (#523), fix RenderTarget not clearing when a texture used as a RenderTexture color attachment is left bound in a different context (http://en.sfml-dev.org/forums/index.php?topic=9350.0). 2014-05-26 22:50:44 +02:00
Marco Antognini
3f61214571 Improved OS X implementation
It makes sure the notifications sent to SFOpenGLView are only from its window.
2014-05-26 15:37:33 +02:00
Marco Antognini
7d4235a38f Optimised OS X implementation regarding scaling factor
This also adds support for changing the screen profile or moving the window to another screen.
2014-05-26 15:37:09 +02:00
Lukas Dürrenberger
a3ab6efa23 Fix application crash when calling Shader::isAvailable() #608. 2014-05-23 10:44:10 +02:00
Marco Antognini
2215f55ef9 Moved more responsibilities to SFOpenGLView
These changes will ease the implementation of mouse grab (#394)
2014-05-23 09:52:18 +02:00
Marco Antognini
aa47dd5d33 Removed old documentation that doesn't apply anymore 2014-05-23 09:52:18 +02:00
Marco Antognini
e33e061e96 Replaced deprecated functions on OS X 10.9 2014-05-23 09:52:17 +02:00
Marco Antognini
b9f5f19f7c Reverted OS X implementation to non-ARC
* Apparently, there were some leaks not reported as such
 * Support for 32 bits computer is restored
 * Fix memory leak in sfStringToNSString (related to #484)
 * Unapply context when closing the window, freeing memory

The following commits are related to ARC modifications:

 * 42f6e83dfb
 * 6edc4b9518
 * f6c94451fb
 * 324d4a18e7
 * 0d47056132

Commit ac28902b57 is the last one before the introduction of ARC.
2014-05-23 09:52:17 +02:00
binary1248
1fe22e24d0 Fix the case where not having created a GlResource prior to calling Shader::isAvailable() would break context management. (#211) 2014-05-22 11:53:58 +02:00
firefly2442
749cbb2ff8 add HTTP support for PUT and DELETE
Signed-off-by: binary1248 <binary1248@hotmail.com>
2014-05-22 10:45:19 +02:00
Stefan Schindler
5250cc97d5 Updated glext, removed glxext.
Removed glxext in favor of the system version.
2014-05-13 15:17:01 +02:00
binary1248
c45039e907 Removed vertical tab support from Text (#442). 2014-05-13 10:40:38 +02:00
Jan Haller
0c3d361ceb Fixed problem with wrongly initialized sf::RenderStates::Default
This static variable depended on the global variable sf::BlendAlpha, which may not be constructed yet.
2014-05-01 00:39:57 +02:00
Jan Haller
cdf32a7881 Merge branch 'blendmodes'
Introduces the sf::BlendMode class that supports separate blend functions and equations.
Replaces the old sf::BlendMode enum.

Further changes:
* Fixed merge conflicts resulting from GLExtensions in mobile branch
* GLExtensions: Added GLEXT_blend_equation_separate
* Added file BlendMode.cpp
* Replaced occurrences of sf::BlendMode value parameters with const-references
* Adapted rendering code in sf::RenderTarget
2014-04-26 19:43:36 +02:00
Dmitry Marakasov
f1431e416c Use common unix sensor implementation on FreeBSD 2014-04-25 17:46:15 +04:00
Dmitry Marakasov
208164898b Don't use udev on FreeBSD 2014-04-25 17:45:49 +04:00
Marco Antognini
efe4354bc5 Improved resizing windows on OS X (close #474)
sf::Window::setSize will fire a resize event if the view could not be created at the requested size.
2014-04-23 13:14:42 +02:00
Laurent Gomila
ee336a3037 Merge pull request #576 from binary1248/text_fix
Fix text being rendered with a vertical offset when the font's ascent doesn't match it's size.
2014-04-22 22:41:25 +02:00
binary1248
6469f35d99 Fix text being rendered with a vertical offset when the font's ascent doesn't match it's size. 2014-04-22 22:06:51 +02:00
Laurent Gomila
f99bbfc534 Reviewed the sf::BlendMode class (added a constructor, made minor modifications in comments) 2014-04-22 21:37:39 +02:00
Marco Antognini
7f0f89bac9 Fixed menu shortcut not working in fullscreen (close #537) 2014-04-22 12:47:12 +02:00
Marco Antognini
c222c28aa7 Removed dead code
AutoreleasePoolWrapper is no more used since ARC is used on Mac.
2014-04-21 18:29:07 +02:00
Marco Antognini
52bb192cff Removed debug log forgotten in the previous commit 2014-04-21 18:15:24 +02:00
Marco Antognini
2c96d49a03 Fixed mouse tracking in fullscreen on OS X 2014-04-21 18:07:43 +02:00
Marco Antognini
2eb4f69e41 Replaced some deprecated functions on OS X
NSWindow convertBaseToScreen: -> convertRectToScreen:
NSView   convertPointToBase:  -> convertPointToBacking:
2014-04-21 18:07:43 +02:00
Marco Antognini
d8812f0f5c Add support for retina displays (close #353)
Based on PR #388 by Michael Bradshaw

Convert size to match the size requested by the user.
2014-04-21 18:06:44 +02:00
Marco Antognini
8f0037d84d Improved fullscreen support on OS X (close #343)
No hard resolution switch is done. Instead a view of the requested
size is displayed in the center of the main screen (letter boxing).

Running a stress test showed that the performance were equal
to a hard switch without the inconvenience of resizing the
user's apps. This also follows the guidelines defined by Apple:

> Avoid changing the display resolution from that chosen by the user.

source:
https://developer.apple.com/library/mac/documentation/graphicsimaging/Conceptual/OpenGL-MacProgGuide/opengl_fullscreen/opengl_cgl.html
2014-04-21 18:06:44 +02:00
James Cowgill
86b29c539d Fixed various linux compile errors in EglContext 2014-04-21 14:42:07 +01:00
Marco Antognini
6e3103464a Fixed unused parameter warning 2014-04-20 21:55:38 +02:00
Marco Antognini
1bfc735a9e Improved style 2014-04-20 21:22:14 +02:00
Jonathan De Wachter
a348428476 [Android] Fixed stream pointer not initialized in Font.cpp 2014-04-20 12:58:59 +02:00
Jonathan De Wachter
273ad4c9ee [Android] Adapted sensor implementation 2014-04-20 12:58:56 +02:00
Mario Liebisch
dd7a3cb30b Fixed missing JoystickImpl member on Android 2014-04-20 12:58:54 +02:00
Laurent
03acb2ad9f Fixed compile errors in SensorImpl.mm and with EGL stuff on iOS 2014-04-20 12:58:52 +02:00
Laurent Gomila
80431deef4 Reviewed the sensor API 2014-04-20 12:58:50 +02:00
Jonathan De Wachter
2d682d324f [Android] Fixed unicode value of text entered event is always 0 2014-04-20 12:58:45 +02:00
Jonathan De Wachter
67c7a5d176 [Android] Forgot to dettach the SFML thread from the JVM at several places 2014-04-20 12:58:43 +02:00
Jonathan De Wachter
83306e72a2 [Android] Don't attach the same thread twice to the JVM
ANativeActivity_onCreate is called by NaviteActivity from Java (which is the main thread). Thus, this thread is already attached to the JVM.
2014-04-20 12:58:39 +02:00
Mario Liebisch
84bd8c6c5b Fixed several issues
- Cmake errored out due to the ANDROID_NDK_* variables being used before being set/detected for the first time.
- Fixed one warning regarding one string replace in CMake.
- Fixed warnings when compiling SFML-Activity.
2014-04-20 12:58:37 +02:00
Jonathan De Wachter
038401b8d5 [Android] Forgot to add EGLCheck.cpp to the list of file to build 2014-04-20 12:58:33 +02:00
Jonathan De Wachter
595df2a1a9 [Android] Fixed invalid drawable error 2014-04-20 12:58:29 +02:00
Jonathan De Wachter
2caec961ee [Android] Dropped stlport in favor of libc++ which supports C++11 2014-04-20 12:58:27 +02:00
Jonathan De Wachter
a1b0e73ac5 [Android] SFML activity allows a custom library name for the user application 2014-04-20 12:58:17 +02:00
Jonathan De Wachter
349fe380e4 [Android] Moved sensor implementation to the right place 2014-04-20 12:58:15 +02:00
Jonathan De Wachter
7daaaa649e Implemented sensor API 2014-04-20 12:58:13 +02:00
Jonathan De Wachter
59c3c2c0b0 Improved X11 visual selection algorithm to match the EGL config 2014-04-20 12:58:11 +02:00
Jonathan De Wachter
ba0555fd1a Implemented getBestConfig() in EglContext to retrieve the best EGL config 2014-04-20 12:58:09 +02:00
Jonathan De Wachter
2627c3579f Forgot to initialize the EGL display 2014-04-20 12:58:07 +02:00
Jonathan De Wachter
43aa313280 Don't link against freetype and jpeg library twice 2014-04-20 12:58:05 +02:00
Jonathan De Wachter
e12b94c989 Xrandr was missing in the list of external libraries on Linux 2014-04-20 12:58:02 +02:00
Jonathan De Wachter
45f23cdbbb Made the OpenGL ES implementation available on ARM-based Linux OSes 2014-04-20 12:58:00 +02:00
Jonathan De Wachter
565bc69a4e Uniformized the way CMake find and link against external libraries 2014-04-20 12:57:58 +02:00
Laurent Gomila
1c9a8310ff Fixed missing modification after last commit 2014-04-20 12:57:53 +02:00
Laurent Gomila
62941c4264 Now using an explicit prefix for OpenGL extension macros, to avoid conflicts 2014-04-20 12:57:51 +02:00
Laurent Gomila
2c259c8f49 Added missing include of <System/Err.hpp> 2014-04-20 12:57:49 +02:00
Jonathan De Wachter
860c232507 [Android] No longer cache the window size
Because onContextRectChanged happens after the surface creation thus, the window doesn't return the correct value when the surface gets created.
2014-04-20 12:57:45 +02:00
Jonathan De Wachter
17430ef372 [Android] Implemented mouse events 2014-04-20 12:57:43 +02:00
Jonathan De Wachter
2ab49ece2f [Android] Implemented sf::TextEvent 2014-04-20 12:57:40 +02:00
Jonathan De Wachter
634c3dc2a7 [Android] Fixed memory leak when loading asset files 2014-04-20 12:57:38 +02:00
Jonathan De Wachter
891cd261b8 Removed unnecessary sf:: prefix 2014-04-20 12:57:36 +02:00
Laurent Gomila
728f11701b [iOS] Added (fake) implementation of vertical synchronization 2014-04-20 12:57:34 +02:00
Laurent Gomila
cd89e462fa [iOS] Fixed freeze in joystick initialization when one or more sensors were not available on a device 2014-04-20 12:57:32 +02:00
Laurent Gomila
d908ffa498 Removed the call to glPolygonMode, unavailable in OpenGL ES. 2014-04-20 12:57:30 +02:00
Jonathan De Wachter
de791c05dc [Android] Added the joystick implementation 2014-04-20 12:57:28 +02:00
Jonathan De Wachter
fbd21962f0 [Android] Improved input implementation 2014-04-20 12:57:26 +02:00
Jonathan De Wachter
4626e95491 [Android] Fixed WindowHandle and getSystemHandle() 2014-04-20 12:57:23 +02:00
Jonathan De Wachter
77567e9656 Implemented missing setVirtualKeyboardVisible method on desktop platforms 2014-04-20 12:57:21 +02:00
Laurent Gomila
67177ce55c Fixed framebuffer binding messed up after a call to Texture::copyToImage() on OpenGL ES 2014-04-20 12:57:19 +02:00
Jonathan De Wachter
218c0897c8 [Android] Added the Android version of extlibs headers 2014-04-20 12:57:18 +02:00
Jonathan De Wachter
d6f98229a8 [Android] Removed dirty hack from Window.cpp 2014-04-20 12:57:16 +02:00
Jonathan De Wachter
663dad18f2 [Android] Fixed compilation issue and enabled audio module for mips arches 2014-04-20 12:57:14 +02:00
Jonathan De Wachter
bc46dfb8f5 [Android] Various adjustements 2014-04-20 12:57:11 +02:00
Jonathan De Wachter
f60ab60263 Added SFML_OS_ prefix to IOS and ANDROID variables 2014-04-20 12:57:02 +02:00
Laurent Gomila
00d3bf1e7f [iOS] Cosmetic changes in joystick implementation 2014-04-20 12:56:58 +02:00
Laurent Gomila
3f7486323a Fixed condition in build file 2014-04-20 12:56:55 +02:00
Laurent Gomila
2c409e5145 Added touch events and the sf::Touch class (and iOS implementation) 2014-04-20 12:56:53 +02:00
Jonathan De Wachter
c77b8a3496 [Android] Moved getActivity(ActivitySttates*) to the system module
Somehow this function gets stripped by compilators if I put this in the main module (which is what we want).
To solve this issue (and to avoid additional dependencies on sfml-window), I moved it to the system module since all SFML modules depend on it.
2014-04-20 12:56:51 +02:00
Jonathan De Wachter
90d8b37442 [Android] Removed ogg, FLAC, vorbis and vorbisenc dependencies 2014-04-20 12:56:46 +02:00
Jonathan De Wachter
cc0d982f72 [Android] Wrote a native activity acting as a bootstrap
A current limitation prevents one library from depending on shared libraries.
As we have legal issues here (LGPL wants us to use shared libs of OpenAL-Soft and libsndfile), we're forced to use this homemade native activity which will manually load our shared libraries.
2014-04-20 12:56:42 +02:00
Jonathan De Wachter
60894d1c1a [Android] Rewrote CMake scripts to compile SFML with our new toolchain 2014-04-20 12:56:40 +02:00
Laurent Gomila
8f459cd1af [iOS] Made the resources path the default working directory 2014-04-20 12:53:20 +02:00
Laurent Gomila
3872b27569 Reworked the sfml-main module, added Main.hpp, moved the main() internal entry point for iOS from sfml-window to sfml-main 2014-04-20 12:53:17 +02:00
Laurent Gomila
cac645076f [iOS] Fixed linker command line in Graphics/CMakeLists.txt 2014-04-20 12:53:09 +02:00
Laurent Gomila
239921b456 [iOS] Improved support for examples, removed the need for a toolchain file 2014-04-20 12:53:04 +02:00
Jonathan De Wachter
cefb4fcee0 Improved OpenAL error macro
It now supports functions that return values.
2014-04-20 12:52:08 +02:00
Jonathan De Wachter
8c906a7a3d Improved OpenGL error macro
It now supports functions that return values.
2014-04-20 12:52:06 +02:00
Jonathan De Wachter
63bbe2c91e Added the Android port 2014-04-20 12:52:04 +02:00
Laurent Gomila
01b745185e [iOS] Various adjustements to implementation 2014-04-20 12:48:07 +02:00
Laurent Gomila
e20ff86330 [iOS] Adjusted the code and build files to use Automatic Reference Counting 2014-04-20 12:48:04 +02:00
Laurent Gomila
d50f94ca97 Fixed render buffers not correctly resized on orientation changes 2014-04-20 12:48:02 +02:00
Laurent
e5ee38fc26 Added the iOS port 2014-04-20 12:48:00 +02:00
Jan Haller
f2ef524b57 Fixed compile warnings 2014-04-19 11:50:31 +02:00
Marco Antognini
0a5f38157f Added support for OpenGL 3.2 context on OS X (close #84)
The Graphics module is not compatible with a core profile on Mac. If
you plan to use it, use OpenGL 2.1 (default).
2014-04-15 20:19:12 +02:00
Marco Antognini
f6c94451fb Added some memory autorelease pools and nil'ify attribute 2014-04-15 20:19:12 +02:00
Marco Antognini
324d4a18e7 Fixed NSApplication not retaining its delegate 2014-04-15 20:19:12 +02:00
Marco Antognini
0d47056132 Updated Objective-C implementation to use ARC; removed i386 support 2014-04-15 20:19:09 +02:00
Marco Antognini
ac28902b57 Removed support for OS X 10.6 and below 2014-04-15 20:18:20 +02:00
Marco Antognini
0d6ddde07f Fixed unused parameter warnings 2014-04-15 20:18:20 +02:00
Marco Antognini
49f2a76d93 Fixed a few glitches in the documentation 2014-04-15 20:18:19 +02:00
Marco Antognini
b868833191 Improved coding style of OS X implementation
And fixed some typos.
2014-04-15 20:18:19 +02:00
Alexandre Bodelot
816bc93b04 Fixed disabling key repeat on Linux 2014-04-07 19:15:14 +02:00
Jan Haller
83fd76c40b Merge pull request #562 from CheezeCake/master
Fixed compile errors on FreeBSD
2014-04-06 19:26:41 +02:00
Jan Haller
18bbd23886 Window::create() now also resets framerate limit
Fixes #371
2014-04-06 17:14:24 +02:00
Jan Haller
e9334db424 Merge pull request #555 from varnie/master
Image::flipVertically(), Image::flipHorizontally() optimizations
2014-03-30 12:15:11 +02:00
CheezeCake
c584ddeea6 Fix typos and missing Joystick:: 2014-03-29 21:21:31 +01:00
Jan Haller
666da801a1 Cached sf::Text attributes
Two optimizations:
- If a value remains the same, nothing happens
- Recompute geometry only before drawing and bound access, not after each set

Closes #413
2014-03-29 18:34:49 +01:00
Jan Haller
0227e5c51e Minor formatting 2014-03-28 19:55:18 +01:00
Jan Haller
f9233e792b Output error message in SoundStream when bits are zero
Fixes #529
2014-03-25 23:11:06 +01:00
Jan Haller
50e3052773 Exposed up vector in sf::Listener API
Closes #545
2014-03-23 20:16:42 +01:00
Jan Haller
d97e5244af Optimized sf::Listener with a cache
Two optimizations:
- Get functions return locally stored value
- Set functions call OpenAL only if value has changed
2014-03-23 18:03:13 +01:00
varnie
83eab47c05 Image::flipVertically(), Image::flipHorizontally() optimizations. 2014-03-20 10:49:01 +06:00
Jan Haller
ec494babbe Passed BlendMode objects by const-reference 2014-03-16 11:58:45 +01:00
Jan Haller
fab46cdfd7 Improved formatting 2014-03-16 10:50:27 +01:00
Jan Haller
75784dbb9a Omitted "Blend" prefix for nested BlendMode enums
BlendMode::Factor instead of BlendMode::BlendFactor
BlendMode::Equation instead of BlendMode::BlendEquation
2014-03-12 12:22:47 +01:00
Jan Haller
05d196d86d Fixed compile error (trailing enum comma) and other minor things 2014-03-12 12:19:38 +01:00
Jan Haller
fe7d6f513d Created branch for experimental blending mode API
See issue #298.
Based on branch 'new_blending_api' of github.com:tomgalvin594/SFML.
2014-03-09 13:38:39 +01:00
Jan Haller
185c09a95c Added CMake find module for udev library 2014-03-09 13:10:42 +01:00
Thomas Galvin
951b774c70 Implemented a more flexible blending system (fixes #298) 2014-03-05 17:19:14 -05:00
NoobsArePeople2
29c0f14911 Adds name, vendor ID and product ID for joysticks.
- Implemented on Windows, Mac OS and Linux.
- Adds sf::Joystick::Identification structure to hold
  name, vendor ID and product ID.
2014-03-04 09:01:46 -08:00
Thomas Galvin
e1c40c9c77 Changed tabs to spaces in various files 2014-02-28 16:58:53 -05:00
Jan Haller
53f7ae5d09 Avoided unnecessary toLower string conversions 2014-02-19 16:12:17 +01:00
Jan Haller
79134ba665 Removed unnecessary null pointer checks in Window.cpp
Fixes #532
2014-02-19 15:46:06 +01:00
Jan Haller
83ea194f07 Fixed forgotten members in sf::Font::operator= 2014-02-15 18:37:35 +01:00
Bromeon
52661339de Merge pull request #509 from ophui-/master
Fixed potential memory leak in sf::Font
2014-02-15 18:25:19 +01:00
Jan Haller
09860f7a02 Added String::substring() method
Based on pull request #355 from abodelot
2014-02-09 22:23:06 +01:00
Jan Haller
aeed9dddac Fixed typo in Windows keyboard implementation
Fixes #516
2014-02-06 20:22:21 +01:00
Jan Haller
12d81304e6 Updated copyright year to 2014 2014-02-06 20:08:26 +01:00
Jan Haller
48db71fb69 Added String::replace() methods
Based on pull request #355 from abodelot
2014-02-06 12:39:59 +01:00
ophui
b5e7e431a5 Fixed potential memory leak in sf::Font 2013-12-15 19:01:43 +00:00
Laurent Gomila
4a300547f3 Added String::toUtf8/16/32 functions (#501) 2013-12-04 22:54:38 +01:00
Laurent Gomila
58f60f2279 Merge branch 'master' of github.com:LaurentGomila/SFML 2013-11-30 22:37:02 +01:00
Laurent Gomila
de3ea71631 Fixed divide by zero in Shape.cpp (#499) 2013-11-30 20:58:15 +01:00