Commit Graph

1700 Commits

Author SHA1 Message Date
dcnieho
da3e00905e Fixed issue where setting the same callback with different user pointer wouldn't change the user pointer.
Removed extra comment on FETCH_USER_DATA_WCB
Renamed helper callbacks from glutXXXCalback to fghXXXCallback

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1816 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:53 +00:00
dcnieho
16d920d56a Added compiler feature detection for __VA_ARGS__ and GCC ##__VA_ARGS__
Made macro names more explicit to prevent name conflicts

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1815 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:46 +00:00
dcnieho
dbbf2e5f08 Implemented pre-C99 support for macro expansion for callbacks.
Note: not tested with a pre-C99 compiler as I (the author) don't have any compiler that doesn't C99.

Fixed copyright too.

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1814 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:40 +00:00
dcnieho
0209cd1ef5 Bug fix for GCC compiler usage
Removed old/original GCC implementation of EXPAND_WCB

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1813 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:34 +00:00
dcnieho
658edf902d Initial refactoring of callback macros to make sure all compilers are supported
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1812 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:28 +00:00
dcnieho
f0150de08d More explicit argument list for INVOKE_WCB callbacks
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1811 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:21 +00:00
dcnieho
da0b7b3369 Changed EXPAND_WCB so it works with MSVC and GCC
- Required adding an "argument expansion macro" for each callback (hope to remove eventually)
- Fixed MSVC linking error where glutMenuStatusFuncUCall had the incorrect case and should've been glutMenuStatusFuncUcall
- Updated formatting of some freeglut_ext.h functions

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1810 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:14 +00:00
dcnieho
827f593d96 Finished implementing all user-data callbacks (GCC-only for now).
Updated glutCreateMenu, glutIdleFunc, and glutTimerFunc so they handle NULL callback cases.
Removed glutMenuStateFuncUcall (as glutMenuStateFunc is a depreciated function).

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1809 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:06 +00:00
dcnieho
3c3e3cd234 Initial work on callbacks with user data parameters.
-glutCreateMenuUcall
-glutTimerFuncUcall
-glutIdleFuncUcall

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1808 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:20:57 +00:00
dcnieho
1941df93b9 freeglut should be spelled lowercase, fixed up all documentation
(cherry picked from commit 16e941b2a2)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1807 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-14 20:51:30 +00:00
dcnieho
75854e0698 multi-touch demo: if an index 64 would come in, this would be written in the wrong place in the cursor buffer. Supporting 64 IDs means writing to slots 0--63
(cherry picked from commit bef94a71b1)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1806 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-14 20:51:20 +00:00
dcnieho
caa5ffe29a resizer demo: adding a bit more output to console to indicate what is going on upon keypress
(cherry picked from commit f04be0c4f2)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1805 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-14 20:51:14 +00:00
dcnieho
26a9d9ca03 multi-touch callback had a copy paste error in the draw loop (thanks sorav for reporting)
(cherry picked from commit a40f9e9c4e)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1804 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-14 20:51:09 +00:00
jtsiomb
d860b2e225 In glutMainLoop, the checking of ExecState, and wether it's equal to
GLUT_EXEC_STATE_RUNNING should not have been at the top of the loop, but rather
right after glutMainLoopEvent returns, after it processes a single event. As it
was, we would be sleeping, waiting for further events even if the user just
called glutLeaveMainLoop (which sets ExecState to GLUT_EXEC_STATE_STOP).

Also fixed a couple cases if inconsistent use of tabs/spaces for indentation
which was causing gcc to emit bogus warnings about misleading indentation
around braceless ifs.



git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1803 7f0cb862-5218-0410-a997-914c9d46530a
2017-05-25 06:34:57 +00:00
dcnieho
d7425510d3 updated text on main website page regarding license of FreeGLUT (reverted from commit 174bd48290)
(cherry picked from commit 5488acab38)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1801 7f0cb862-5218-0410-a997-914c9d46530a
2017-05-14 20:49:53 +00:00
dcnieho
50212bcb3b Ensure "maximixed" is taken into account when updating window visibility on WM_SIZE
(cherry picked from commit 5b8a164de1)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1800 7f0cb862-5218-0410-a997-914c9d46530a
2017-05-14 20:49:46 +00:00
dcnieho
174bd48290 updated text on main website page regarding license of FreeGLUT
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1799 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-26 08:45:38 +00:00
dcnieho
474975bc41 CMake: include/GL/glut.h should only be installed when FREEGLUT_REPLACE_GLUT is ON
(cherry picked from commit a0b77bba49)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1798 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-26 08:45:32 +00:00
dcnieho
a7930a626e Fixed indentation characters in CMakeLists.txt
(cherry picked from commit c1efb69d4e)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1795 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-22 20:05:12 +00:00
dcnieho
2594b6d6c8 Fixed Cflags variable in pkgconfig file.
(cherry picked from commit bc5471a2f8)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1794 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-22 20:05:06 +00:00
dcnieho
c985322fc0 Added FREEGLUT_REPLACE_GLUT configure option for MS Windows.
It provides back compatibility with older (autotools based) freeglut versions.
Also it simplifies build rules for crossplatform programs: they may be linked
with -lglut regardless of the system and library type (shared/static).

Patch is originally prepared for MXE project (http://mxe.cc/).

(cherry picked from commit cd9ac605ec)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1793 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-22 20:05:01 +00:00
dcnieho
979c5ce24d XParseGeometry will always be needed for Windows, no need for cmake to figure this out.
(cherry picked from commit 55e4430113)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1792 7f0cb862-5218-0410-a997-914c9d46530a
2016-02-21 20:40:10 +00:00
dcnieho
3bed0feb38 fixing up some docs regarding spaceball buttons
(cherry picked from commit c9442fa119)

(cherry picked from commit c9442fa119)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1791 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:49:02 +00:00
dcnieho
7e16d00e49 Noted the numerical value for spaceball button macro
(cherry picked from commit 5f6e4fbe68)

(cherry picked from commit 5f6e4fbe68)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1790 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:55 +00:00
dcnieho
6f764746e1 bug fix
(cherry picked from commit 9dfba8b7de)

(cherry picked from commit 9dfba8b7de)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1789 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:49 +00:00
dcnieho
be5e4ec604 moved spaceball macros from freeglut_std.h to freeglut_ext.h
(cherry picked from commit 13e6cf1591)

(cherry picked from commit 13e6cf1591)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1788 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:39 +00:00
dcnieho
8503b82e20 Added API documentation for glutSpaceballXXX functions.
(cherry picked from commit 21cccdf7f3)

(cherry picked from commit 21cccdf7f3)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1787 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:32 +00:00
dcnieho
6dc4eb9dc2 Added API macros for additional Spaceball buttons.
(cherry picked from commit 1a24699b9a)

(cherry picked from commit 1a24699b9a)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1786 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:25 +00:00
dcnieho
2e7a973056 fixed php syntax error, unexpected end of file in template.php: replaced <?php ?> pair with short open tag <? ?>
(cherry picked from commit f4bc97b6d5)

(cherry picked from commit f4bc97b6d5)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1785 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:18 +00:00
dcnieho
09c97585c9 Added API macros for Spaceball buttons.
(cherry picked from commit 472bc2bf62)

(cherry picked from commit 472bc2bf62)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1784 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:11 +00:00
dcnieho
dc4f2d3847 update comments of WCB_SpaceXXX in fg_internal.h
(cherry picked from commit 1091f89cf6)

(cherry picked from commit 1091f89cf6)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1783 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-20 19:48:04 +00:00
dcnieho
8b07b11dc8 fixed up wrong comment
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1782 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-17 23:53:11 +00:00
dcnieho
a2f7cd975f Emit the correct LIBNAME to .pc files
Irrespective of "FREEGLUT_REPLACE_GLUT" being set to "No" or being on
Win32 where this variable does not even exist, the .pc file contained
Libs: -L${libdir} -lglut

Instead, emit the correct value.

(cherry picked from commit d06589f55c)

(cherry picked from commit d06589f55c)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1781 7f0cb862-5218-0410-a997-914c9d46530a
2016-01-12 21:09:00 +00:00
dcnieho
1026c5e915 Mention Wayland build requirements in documentation
Following https://github.com/dcnieho/FreeGLUT/issues/38 ;
mention Wayland support in README, Wayland build
instructions and requirements in README.cmake.

Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>

(cherry picked from commit 18773bcc81)

(cherry picked from commit 18773bcc81)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1780 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:51 +00:00
dcnieho
012736d296 Fixed C2275 compiler error in fg_spaceball_mswin.c
- Known to only affect Visual Studio 2010. Visual Studio 2013 and up may have relaxed the error.

(cherry picked from commit 6b8552edbd)

(cherry picked from commit 6b8552edbd)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1779 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:44 +00:00
dcnieho
f812349a8f Additional clarification about GLUT_ALLOW_NEGATIVE_WINDOW_POSITION
(cherry picked from commit 836fe46441)

(cherry picked from commit 836fe46441)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1778 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:38 +00:00
dcnieho
5a86d86eef Updated documentation in relation to GLUT_ALLOW_NEGATIVE_WINDOW_POSITION.
(cherry picked from commit 9fa5db9841)

(cherry picked from commit 9fa5db9841)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1777 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:31 +00:00
dcnieho
d8e364d053 Defined logic for glutCreateSubWindow when negative position is allowed
Added check for if fgCreateWindow cannot allocate a window, it will produce an error.

(cherry picked from commit 0ed05f6458)

(cherry picked from commit 0ed05f6458)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1776 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:25 +00:00
dcnieho
d898bfe4c6 Added GLUT_ALLOW_NEGATIVE_WINDOW_POSITION so windows can be created with negative position coordinates.
(cherry picked from commit e7f38b763f)

(cherry picked from commit e7f38b763f)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1775 7f0cb862-5218-0410-a997-914c9d46530a
2015-12-14 16:22:18 +00:00
jtsiomb
f0facfc489 minor C89 conformity fixes in fg_window_egl.c
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1774 7f0cb862-5218-0410-a997-914c9d46530a
2015-10-20 04:35:28 +00:00
dcnieho
008bc37708 Removed invalid PDB install
(cherry picked from commit 23a12a465b)

(cherry picked from commit 23a12a465b)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1773 7f0cb862-5218-0410-a997-914c9d46530a
2015-10-17 11:15:29 +00:00
dcnieho
98695e579d Export relevant static compile flags on windows.
Use target_compile_definitions to populate the
INTERFACE_COMPILE_DEFINITIONS property on the freeglut_static target on
windows.

(cherry picked from commit ffc24cfb76)

(cherry picked from commit ffc24cfb76)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1772 7f0cb862-5218-0410-a997-914c9d46530a
2015-10-12 09:08:37 +00:00
dcnieho
9825293425 Set public definitions in cmake package.
As with pkg-config, the cmake package now sets "-DFREEGLUT_GLES" when
appropriate.

(cherry picked from commit 792d805542)

(cherry picked from commit 792d805542)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1771 7f0cb862-5218-0410-a997-914c9d46530a
2015-07-11 21:27:03 +00:00
dcnieho
866f61ae9c Create cmake package using imported targets.
Create and install the necessary files so that cmake can find FreeGLUT
in config mode ("find_package(FreeGLUT CONFIG)").

This pushes cmake_minimum_required to 3.0.0.

(cherry picked from commit ba7326ce8d)

(cherry picked from commit ba7326ce8d)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1770 7f0cb862-5218-0410-a997-914c9d46530a
2015-07-11 21:26:56 +00:00
dcnieho
c751a9179d Fix compilation on Linux.
Commit ce15044f73 introduced an error
"undefined reference to `sball_initialized'" on non-Windows operating
systems.

(cherry picked from commit 989ceddc19)

(cherry picked from commit 989ceddc19)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1769 7f0cb862-5218-0410-a997-914c9d46530a
2015-07-11 21:26:48 +00:00
dcnieho
5d045f4f15 todo note about Windows 8 touch support
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1768 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:14:05 +00:00
dcnieho
976e05c12f minor fix on CMakeLists for checking MSVC_VERSION
(cherry picked from commit ce15044f73)

(cherry picked from commit ce15044f73)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1767 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:48 +00:00
dcnieho
e595297daf update CMake file so that it will generate proper _WIN32_WINNT and WINVER definitions in visual studio project setting.
(cherry picked from commit 96e89316b6)

(cherry picked from commit 96e89316b6)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1766 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:42 +00:00
dcnieho
5259e6156b fixed unsafe usage of malloc() pointed out by jtsiomb.
(cherry picked from commit 16bc907735)

(cherry picked from commit 16bc907735)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1765 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:33 +00:00
dcnieho
8cafe7e34c fixed unsafe usage of malloc() pointed out by jtsiomb.
(cherry picked from commit aa5514903d)

(cherry picked from commit aa5514903d)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1764 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:27 +00:00