~ubuntu-branches/ubuntu/saucy/emscripten/saucy-proposed

« back to all changes in this revision

Viewing changes to tests/bullet/Extras/glui/readme.txt

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2013-05-02 13:11:51 UTC
  • Revision ID: package-import@ubuntu.com-20130502131151-q8dvteqr1ef2x7xz
Tags: upstream-1.4.1~20130504~adb56cb
ImportĀ upstreamĀ versionĀ 1.4.1~20130504~adb56cb

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Welcome to the GLUI User Interface Library, v2.3!
 
2
March 22, 2005
 
3
-------------------------------------------------
 
4
 
 
5
This distribution contains the latest community-maintained fork of the
 
6
GLUI Library.  It is based on the GLUI v2.1 beta version from Paul
 
7
Rademacher (http://www.cs.unc.edu/~rademach/glui/) plus the
 
8
compatibility changes made by Nigel Stewart in his "GLUI v2.2" 
 
9
(http://www.nigels.com/glt/glui) In accordance with the LGPL under
 
10
which the library is released (according to Paul's web page at least),
 
11
these changes are available to everyone in the community.
 
12
 
 
13
WARNING: This version (2.3) introduces some incompatible changes with
 
14
previous versions!!
 
15
 
 
16
CHANGES:
 
17
 
 
18
----------------------------------
 
19
- GLUI_String is now a std::string
 
20
  This is the main source of most incopatibilities, but I felt it was
 
21
  a necessary change, because the previous usage of a fixed-sized
 
22
  buffer was just too unsafe.  I myself was bitten a few times passing
 
23
  a char* buffer of insufficient size into GLUI as a live variable.
 
24
  It is still possible to use a char buffer, but it is not recommended.
 
25
 
 
26
  If you used GLUI_String before as a live var type, the easiest way
 
27
  to get your code compiling again is to change those to "char
 
28
  buf[300]".  The better way, though, is to update your code to treat
 
29
  it as a std::string.
 
30
 
 
31
  For instance, if you used to pass mystr to functions that take
 
32
  'const char*', now use mystr.c_str() method, instead.
 
33
  If you used strcpy(mystr, b) to set the value, now just do mystr=b.
 
34
  If you used sprintf(mystr,...) to set the value, now do 
 
35
  glui_format_string(mystr,...).
 
36
  If you used to clear the string with mystr[0]='\0', now just clear
 
37
  it with mystr="".
 
38
 
 
39
----------------------------------
 
40
- Enhanced GLUI_EditText
 
41
  Control keys can be used for navigation and control.  The bindings
 
42
  are bash-like: Ctrl-B for previous char, Ctrl-F for forward char, etc.
 
43
  bindings.  Also control keys that aren't bound to commands are
 
44
  simply ignored, whereas before they would be inserted as invisible
 
45
  characters.
 
46
 
 
47
----------------------------------
 
48
- Added GLUI_CommandLine class
 
49
  This is a GLUI_EditText with a history mechanism.
 
50
 
 
51
----------------------------------
 
52
- New, more object oriented construction API.
 
53
  Now instead of calling 
 
54
 
 
55
    glui->add_button_to_panel( panel, "my button", myid, mycallback );
 
56
 
 
57
  you should just call the button constructor:
 
58
 
 
59
    new GLUI_Button( panel, "my button", myid, mycallback );
 
60
 
 
61
  And similarly to add it to a GLUI instead of a panel, rather than:
 
62
 
 
63
    glui->add_button( glui, "my button", myid, mycallback );
 
64
 
 
65
  just call the constructor with the GLUI as the first argument:
 
66
 
 
67
    new GLUI_Button( glui, "my button", myid, mycallback );
 
68
    
 
69
  The old scheme is now deprecated, but still works.  The benefit of
 
70
  this new scheme is that now the GLUI class doesn't have to know
 
71
  about all the different types of GLUI_Controls that exist.
 
72
  Previously GLUI had to both know about all the controls, and know
 
73
  how to initialize them.  Now the responsibility for initialization
 
74
  belongs to the GLUI_Control subclasses themselves, where it
 
75
  belongs. Additionally it means that you can create your own
 
76
  GLUI_Control subclasses which will be on equal footing with the
 
77
  built-in controls, whereas before any user-created controls would
 
78
  always be "second-class citizens" since they would have to be
 
79
  constructed differently from the built-ins.
 
80
 
 
81
 
 
82
----------------------------------
 
83
- Removed need for type-declaring arguments when argment type suffices.
 
84
  This effects GLUI_Spinner and GLUI_EditText (and GLUI_CommandLine?).
 
85
 
 
86
  For example, instead of calling 
 
87
 
 
88
    new GLUI_Spinner( glui, "myspin", GLUI_SPINNER_INT, &live_int_var );
 
89
 
 
90
  you can just omit the GLUI_SPINNER_INT part, because the type of the
 
91
  live_int_var tells the compiler which type you want.
 
92
 
 
93
    new GLUI_Spinner( glui, "myspin", &live_int_var );
 
94
 
 
95
  If you're not using a live, var, you can still use the
 
96
  GLUI_SPINNER_INT type argument.  See glui.h for all the new 
 
97
  constructor signatures.  Note this only works with the new
 
98
  construction API, not with the old "add_blah_to_panel" style of
 
99
  API.
 
100
 
 
101
----------------------------------
 
102
- GLUI_Rotation uses your matrix live-variable now.
 
103
  GLUI used to ignore the matrix in your live variable.  This version
 
104
  doesn't ignore it, so you'll need to set it to the identity matrix
 
105
  yourself if that's what you want it to start as.  There could
 
106
  probably be some improvements to this API, though.
 
107
  
 
108
----------------------------------
 
109
- Improvements to 'const' usage.
 
110
  Most char*'s in GLUI functions used to be non-const even when the
 
111
  functions did not modify the string.  I changed everywhere
 
112
  appropriate to use const char* instead.
 
113
 
 
114
----------------------------------
 
115
- Updated license info in the headers
 
116
  Paul's web page says that GLUI is LGPL, but that wasn't declared in
 
117
  the code itself.  I've modified all the headers with the standard
 
118
  LGPL notice.
 
119
 
 
120
----------------------------------
 
121
- Updated examples for the API changes
 
122
 
 
123
----------------------------------
 
124
- Created project files for Visual Studio .NET (MSVC7.1)
 
125
 
 
126
 
 
127
That's about it.  Enjoy!
 
128
 
 
129
 
 
130
If you find yourself with too much time on your hands, the things I
 
131
think would be most useful for future improvements to GLUI would be:
 
132
 
 
133
1. The GLUI_TextBox and GLUI_Tree definitely need some work, still.  
 
134
2. Clipboard integration under Windows/X-Win.  I have some code that
 
135
   works on Win32 that I once integrated with GLUI, but I lost that 
 
136
   version somewhere.  I still have the Win32 clipboard code, though
 
137
   if anyone wants to work on integrating it.  I have some X-Win
 
138
   clipboard code, too, but I never got it working quite right.
 
139
3. Remove the dependency on GLUT, making the connection with window 
 
140
   system APIs into a more plug-in/adapter modular design.  
 
141
   So e.g. if you want to use GLUT, you'd link with the GLUI lib and a
 
142
   GLUI_GLUT lib, and call one extra GLUI_glut_init() function or 
 
143
   something.
 
144
 
 
145
 
 
146
Definitly consider submitting a patch if you've made some nice improvements
 
147
to GLUI.  Hopefully being an LGPL sourceforge project will attract some new
 
148
interest to the GLUI project.
 
149
 
 
150
Bill Baxter    
 
151
baxter
 
152
at
 
153
cs unc edu
 
154
 
 
155
=================================================
 
156
JOHN KEW'S ADDITIONS (March 2005)
 
157
=================================================
 
158
 
 
159
Thanks to John Kew of Natural Solutions Inc.,
 
160
there are some new widgets.  These are demonstrated in example6.cpp.
 
161
 
 
162
The new widgets are:
 
163
 
 
164
* GLUI_Scrollbar - A scrollbar slider widget
 
165
* GLUI_TextBox - A multi-line text widget
 
166
* GLUI_List - A static choice list
 
167
* GLUI_FileBrowser - A simple filebrowser based on GLUI_List
 
168
* GLUI_Tree - Hierarchical tree widget
 
169
* GLUI_TreePanel - Manager for the tree widget
 
170
 
 
171
And one other change:
 
172
 
 
173
* GLUI_Rollout has optional embossed border 
 
174
 
 
175
=================================================
 
176
PAUL'S ORIGINAL GLUI 2.0/2.1 README
 
177
=================================================
 
178
 
 
179
Welcome to the GLUI User Interface Library, v2.0 beta!
 
180
-------------------------------------------------
 
181
 
 
182
This distribution contains the full GLUI sources, as well as 5 example
 
183
programs.  You'll find the full manual under "glui_manual.pdf".  The
 
184
GLUI web page is at 
 
185
 
 
186
        http://www.cs.unc.edu/~rademach/glui
 
187
 
 
188
 
 
189
                    ---------- Windows ----------
 
190
 
 
191
The directory 'msvc' contains a Visual C++ workspace entitled
 
192
'glui.dsw'.  To recompile the library and examples, open this
 
193
workspace and run the menu command "Build:Batch Build:Build".  The 3
 
194
executables will be in the 'bin' directory, and the library in the
 
195
'lib' directory.
 
196
 
 
197
To create a new Windows executable using GLUI, create a "Win32 Console
 
198
Application" in VC++, add the GLUI library (in 'msvc/lib/glui32.lib'),
 
199
and add the OpenGL libs:
 
200
 
 
201
        glui32.lib glut32.lib glu32.lib opengl32.lib   (Microsoft OpenGL)
 
202
 
 
203
Include the file "glui.h" in any file that uses the GLUI library.
 
204
 
 
205
 
 
206
                      ---------- Unix ----------
 
207
 
 
208
An SGI/HP makefile is found in the file 'makefile' (certain lines may need 
 
209
to be commented/uncommented).
 
210
 
 
211
To include GLUI in your own apps, add the glui library to your
 
212
makefile (before the glut library 'libglut.a'), and include "glui.h"
 
213
in your sources.
 
214
 
 
215
 
 
216
 
 
217
----------------------------------------------------------------------
 
218
 
 
219
Please let me know what you think, what you'd like to change or add,
 
220
and especially what bugs you encounter.  Also, please send me your
 
221
e-mail so I can add you to a mailing list for updates.
 
222
 
 
223
Good luck, and thanks for trying this out!
 
224
 
 
225
Paul Rademacher
 
226
rademach
 
227
at
 
228
cs unc edu
 
 
b'\\ No newline at end of file'