Commit Graph

1731 Commits

Author SHA1 Message Date
dcnieho
9f0eaf1a92 Fixed bug where, under c89 mode, callback macros wouldn't work
Under c89 (only applies to GCC-like compilers), the variadic macro version would be used and compilation would fail.

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1818 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:22:06 +00:00
dcnieho
8ac335fa7f Removed unneeded line optimization for INVOKE_WCB macro
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1817 7f0cb862-5218-0410-a997-914c9d46530a
2017-06-30 23:21:59 +00:00
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
f9acc79690 Update README.md
bit more logical ordering of content

(cherry picked from commit 6cb86e9657)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1802 7f0cb862-5218-0410-a997-914c9d46530a
2017-05-14 20:52:19 +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
585d7bfdee Added templates
(cherry picked from commit a83772981f)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1797 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-26 08:45:26 +00:00
dcnieho
18dffcc4b5 Correct spelling error
(cherry picked from commit fadb3bede9)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1796 7f0cb862-5218-0410-a997-914c9d46530a
2017-04-22 20:05:18 +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