Commit Graph

1684 Commits

Author SHA1 Message Date
Rcmaniac25
47f69d8655 Fixed x11 and Wayland not using INVOKE_WCB
...since INVOKE_WCB handled user data. Now they handle user data.
2017-05-31 03:07:57 -04:00
Rcmaniac25
4fe9d11e56 Added timer_callback sample for user callbacks 2017-05-29 20:25:42 -04:00
Rcmaniac25
df67607c0a Added "hack" function for glutCreateMenuUcall
Not desired, but potentially needed as with the other "hack" functions
2017-05-29 20:23:58 -04:00
Rcmaniac25
a8621ad942 Moved as many callback setters as possible to macro function generators
Moved macro function generators to fg_callback_macros.h
2016-02-07 15:16:01 -05:00
Rcmaniac25
682d4d096a Updated documentation to mention and discuss user-data callbacks. 2016-02-04 21:14:40 -05:00
Rcmaniac25
666b80843a 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.
2016-01-21 21:15:59 -05:00
Rcmaniac25
363ed17d99 Removed unneeded line optimization for INVOKE_WCB macro 2016-01-21 06:22:03 -05:00
Rcmaniac25
60a437b3b8 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
2016-01-18 22:15:24 -05:00
Rcmaniac25
55fd60f288 Added compiler feature detection for __VA_ARGS__ and GCC ##__VA_ARGS__
Made macro names more explicit to prevent name conflicts
2016-01-17 00:50:49 -05:00
Rcmaniac25
874ed4d328 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.
2016-01-16 23:00:00 -05:00
Rcmaniac25
c911286579 Bug fix for GCC compiler usage
Removed old/original GCC implementation of EXPAND_WCB
2016-01-16 14:36:33 -05:00
Rcmaniac25
33f75e0b89 Initial refactoring of callback macros to make sure all compilers are supported 2016-01-16 14:30:47 -05:00
Rcmaniac25
38364b1952 More explicit argument list for INVOKE_WCB callbacks 2016-01-16 13:17:07 -05:00
Rcmaniac25
fd9fa6745d 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
2016-01-03 00:09:28 -05:00
Rcmaniac25
ea5b9552fb 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).
2015-12-28 23:46:38 -05:00
Rcmaniac25
2a5af16426 Initial work on callbacks with user data parameters.
-glutCreateMenuUcall
-glutTimerFuncUcall
-glutIdleFuncUcall
2015-12-28 23:45:50 -05:00
Diederick C. Niehorster
49921da0d0 Merge pull request #40 from Tarnyko/git_master
Mention Wayland build requirements in documentation
2015-12-14 17:20:48 +01:00
John Archdeacon
6b8552edbd 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.
2015-12-13 16:59:39 -05:00
Rcmaniac25
836fe46441 Additional clarification about GLUT_ALLOW_NEGATIVE_WINDOW_POSITION 2015-12-13 16:53:20 -05:00
Manuel Bachmann
18773bcc81 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>
2015-12-07 15:41:58 +01:00
Rcmaniac25
9fa5db9841 Updated documentation in relation to GLUT_ALLOW_NEGATIVE_WINDOW_POSITION. 2015-12-06 01:01:28 -05:00
Rcmaniac25
0ed05f6458 Defined logic for glutCreateSubWindow when negative position is allowed
Added check for if fgCreateWindow cannot allocate a window, it will produce an error.
2015-12-05 16:12:49 -05:00
Rcmaniac25
e7f38b763f Added GLUT_ALLOW_NEGATIVE_WINDOW_POSITION so windows can be created with negative position coordinates. 2015-12-05 16:12:49 -05: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
dcnieho
8dfbfaca71 Minor fix on indentation.
(cherry picked from commit c93cdcdbbd)

(cherry picked from commit c93cdcdbbd)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1763 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:20 +00:00
dcnieho
238b0ae02c Minor fix on indentation.
(cherry picked from commit bfe1b60a49)

(cherry picked from commit bfe1b60a49)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1762 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:13 +00:00
dcnieho
949f7b3747 minor update making code more compact.
(cherry picked from commit 09f4017618)

(cherry picked from commit 09f4017618)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1761 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:06 +00:00
dcnieho
b593d219d6 Added support for 3Dconnexion Space Navigator.
(cherry picked from commit 5c1e897f1a)

(cherry picked from commit 5c1e897f1a)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1760 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:09:00 +00:00
dcnieho
c2384ac19e Added support for 3Dconnexion Space Navigator.
(cherry picked from commit 857105a0b4)

(cherry picked from commit 857105a0b4)

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1759 7f0cb862-5218-0410-a997-914c9d46530a
2015-06-29 10:08:53 +00:00
dcnieho
fbdcae2479 Implement initial Wayland support
This commit creates a new "wayland" backend, which can be
activated at configure time with "-DFREEGLUT_WAYLAND=ON".

If done so, it will be used instead of X11 (building both
and doing runtime detection may become possible later).
Please note that if you choose to use GL instead of GLES
(by not specifying "-DFREEGLUT_GLES=ON"), then libX11
will still be pulled as an indirect dependency.

Following features are still WIP :
- menus (not implemented, TODO) ;
- client-side decorations (not implemented, required
  because Wayland shells do not draw title bars nor
  resize grips, TODO) ;
- game mode (code is commented out, depends on WIP
  protocols tested upstream, WAIT FOR UPSTREAM) ;
- window visibility states (code is commented out,
  depends on xdg-shell protocol, TODO).

Signed-off-by: Manuel Bachmann <tarnyko@tarnyko.net>

git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1758 7f0cb862-5218-0410-a997-914c9d46530a
2015-04-04 18:43:27 +00:00
jtsiomb
7634646bc1 added handy upload script which uses rsync to copy all modified files
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1757 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-12 19:53:32 +00:00
jtsiomb
b39d4bb27f fixed HTML mistakes in the front page, and removed the freshmeat link (freshmeat is defunct)
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1756 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-12 19:41:54 +00:00
jtsiomb
1db50ce44b minor fix on index.php
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1755 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-12 19:32:49 +00:00
jtsiomb
ab34d382e8 web page update
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1754 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-12 19:26:53 +00:00
jtsiomb
c5a4a56585 updated the readme file, and removed out of date and unmaintained files from the project root
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1752 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-07 20:57:16 +00:00
jtsiomb
c16fc72a2c fixed indentation in AUTHORS
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1751 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-07 18:55:40 +00:00
jtsiomb
c63102d06d added the init error handler example program contributed by Chris Marshall
Not building it as part of the demos yet, since it was submitted quite late in the 3.0 release process


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1750 7f0cb862-5218-0410-a997-914c9d46530a
2015-03-07 18:53:54 +00:00
jtsiomb
3f95e542fa - fixed a minor bug in the UNIX/X11 cursor code, causing an X error and abort
due to a stale cursor cache, when the application (which calls glutSetCursor),
  uses glutLeaveMainLoop to close the connection to the X server, and then
  re-initializes freeglut and starts over with a new connection.


git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1749 7f0cb862-5218-0410-a997-914c9d46530a
2015-02-28 04:15:13 +00:00
jtsiomb
3be8dc8380 removed the completely outdated FrequentlyAskedQuestions file
git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1747 7f0cb862-5218-0410-a997-914c9d46530a
2015-02-18 05:20:50 +00:00
jtsiomb
310764e238 MacOSX doesn't define HOST_NAME_MAX in unistd.h, which made freeglut fail to
build. Now, if the definition is missing, we'll just define it arbitrarilly as
255, which should be a safe value. This is just needed for an obscure X11 WM
protocol.



git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1746 7f0cb862-5218-0410-a997-914c9d46530a
2015-02-18 05:03:16 +00:00