You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

519 lines
25KB

  1. /**
  2. \page license Software License
  3. \par December 11, 2001
  4. The FLTK library and included programs are provided under the terms
  5. of the GNU Library General Public License (LGPL) with the following
  6. exceptions:
  7. -# Modifications to the FLTK configure script, config
  8. header file, and makefiles by themselves to support
  9. a specific platform do not constitute a modified or
  10. derivative work.<BR>
  11. <BR>
  12. The authors do request that such modifications be
  13. contributed to the FLTK project - send all contributions
  14. through the "Software Trouble Report" on the following page:
  15. http://www.fltk.org/str.php<BR>
  16. <BR>
  17. -# Widgets that are subclassed from FLTK widgets do not
  18. constitute a derivative work.<BR>
  19. <BR>
  20. -# Static linking of applications and widgets to the
  21. FLTK library does not constitute a derivative work
  22. and does not require the author to provide source
  23. code for the application or widget, use the shared
  24. FLTK libraries, or link their applications or
  25. widgets against a user-supplied version of FLTK.<BR>
  26. <BR>
  27. If you link the application or widget to a modified
  28. version of FLTK, then the changes to FLTK must be
  29. provided under the terms of the LGPL in sections
  30. 1, 2, and 4.<BR>
  31. <BR>
  32. -# You do not have to provide a copy of the FLTK license
  33. with programs that are linked to the FLTK library, nor
  34. do you have to identify the FLTK license in your
  35. program or documentation as required by section 6
  36. of the LGPL.<BR>
  37. <BR>
  38. However, programs must still identify their use of FLTK.
  39. The following example statement can be included in user
  40. documentation to satisfy this requirement:<BR>
  41. <BR>
  42. <I>[program/widget] is based in part on the work of
  43. the FLTK project (http://www.fltk.org).</I>
  44. <HR>
  45. \par GNU LIBRARY GENERAL PUBLIC LICENSE
  46. Version 2, June 1991 <BR>
  47. Copyright (C) 1991 Free Software Foundation, Inc. <BR>
  48. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA <BR>
  49. Everyone is permitted to copy and distribute verbatim copies of
  50. this license document, but changing it is not allowed. <BR>
  51. [This is the first released version of the library GPL. It is
  52. numbered 2 because it goes with version 2 of the ordinary GPL.]
  53. \par Preamble
  54. The licenses for most software are designed to take away your freedom
  55. to share and change it. By contrast, the GNU General Public Licenses
  56. are intended to guarantee your freedom to share and change free
  57. software--to make sure the software is free for all its users.
  58. This license, the Library General Public License, applies to some
  59. specially designated Free Software Foundation software, and to any
  60. other libraries whose authors decide to use it. You can use it for
  61. your libraries, too.
  62. When we speak of free software, we are referring to freedom, not
  63. price. Our General Public Licenses are designed to make sure that you
  64. have the freedom to distribute copies of free software (and charge for
  65. this service if you wish), that you receive source code or can get it
  66. if you want it, that you can change the software or use pieces of it in
  67. new free programs; and that you know you can do these things.
  68. To protect your rights, we need to make restrictions that forbid
  69. anyone to deny you these rights or to ask you to surrender the rights.
  70. These restrictions translate to certain responsibilities for you if you
  71. distribute copies of the library, or if you modify it.
  72. For example, if you distribute copies of the library, whether gratis
  73. or for a fee, you must give the recipients all the rights that we gave
  74. you. You must make sure that they, too, receive or can get the source
  75. code. If you link a program with the library, you must provide
  76. complete object files to the recipients so that they can relink them
  77. with the library, after making changes to the library and recompiling
  78. it. And you must show them these terms so they know their rights.
  79. Our method of protecting your rights has two steps: (1) copyright
  80. the library, and (2) offer you this license which gives you legal
  81. permission to copy, distribute and/or modify the library.
  82. Also, for each distributor's protection, we want to make certain
  83. that everyone understands that there is no warranty for this free
  84. library. If the library is modified by someone else and passed on, we
  85. want its recipients to know that what they have is not the original
  86. version, so that any problems introduced by others will not reflect on
  87. the original authors' reputations.
  88. Finally, any free program is threatened constantly by software
  89. patents. We wish to avoid the danger that companies distributing free
  90. software will individually obtain patent licenses, thus in effect
  91. transforming the program into proprietary software. To prevent this,
  92. we have made it clear that any patent must be licensed for everyone's
  93. free use or not licensed at all.
  94. Most GNU software, including some libraries, is covered by the
  95. ordinary GNU General Public License, which was designed for utility
  96. programs. This license, the GNU Library General Public License,
  97. applies to certain designated libraries. This license is quite
  98. different from the ordinary one; be sure to read it in full, and don't
  99. assume that anything in it is the same as in the ordinary license.
  100. The reason we have a separate public license for some libraries is
  101. that they blur the distinction we usually make between modifying or
  102. adding to a program and simply using it. Linking a program with a
  103. library, without changing the library, is in some sense simply using
  104. the library, and is analogous to running a utility program or
  105. application program. However, in a textual and legal sense, the linked
  106. executable is a combined work, a derivative of the original library,
  107. and the ordinary General Public License treats it as such.
  108. Because of this blurred distinction, using the ordinary General
  109. Public License for libraries did not effectively promote software
  110. sharing, because most developers did not use the libraries. We
  111. concluded that weaker conditions might promote sharing better.
  112. However, unrestricted linking of non-free programs would deprive the
  113. users of those programs of all benefit from the free status of the
  114. libraries themselves. This Library General Public License is intended
  115. to permit developers of non-free programs to use free libraries, while
  116. preserving your freedom as a user of such programs to change the free
  117. libraries that are incorporated in them. (We have not seen how to
  118. achieve this as regards changes in header files, but we have achieved
  119. it as regards changes in the actual functions of the Library.) The
  120. hope is that this will lead to faster development of free libraries.
  121. The precise terms and conditions for copying, distribution and
  122. modification follow. Pay close attention to the difference between a
  123. &quot;work based on the libary&quot; and a &quot;work that uses the library&quot;. The
  124. former contains code derived from the library, while the latter only
  125. works together with the library.
  126. Note that it is possible for a library to be covered by the ordinary
  127. General Public License rather than by this special one.
  128. \par TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  129. \b 0. This License Agreement applies to any software
  130. library which contains a notice placed by the copyright holder or other
  131. authorized party saying it may be distributed under the terms of this
  132. Library General Public License (also called &quot;this License&quot;).
  133. Each licensee is addressed as &quot;you&quot;.
  134. A &quot;library&quot; means a collection of software functions and/or data
  135. prepared so as to be conveniently linked with application programs
  136. (which use some of those functions and data) to form executables.
  137. The &quot;Library&quot;, below, refers to any such software library or work
  138. which has been distributed under these terms. A &quot;work based on the
  139. Library&quot; means either the Library or any derivative work under
  140. copyright law: that is to say, a work containing the Library or a
  141. portion of it, either verbatim or with modifications and/or translated
  142. straightforwardly into another language. (Hereinafter, translation is
  143. included without limitation in the term &quot;modification&quot;.)
  144. &quot;Source code&quot; for a work means the preferred form of the work for
  145. making modifications to it. For a library, complete source code means
  146. all the source code for all modules it contains, plus any associated
  147. interface definition files, plus the scripts used to control
  148. compilation and installation of the library.
  149. Activities other than copying, distribution and modification are not
  150. covered by this License; they are outside its scope. The act of
  151. running a program using the Library is not restricted, and output from
  152. such a program is covered only if its contents constitute a work based
  153. on the Library (independent of the use of the Library in a tool for
  154. writing it). Whether that is true depends on what the Library does and
  155. what the program that uses the Library does.
  156. \b 1. You may copy and distribute verbatim copies of
  157. the Library's complete source code as you receive it, in any medium,
  158. provided that you conspicuously and appropriately publish on each copy
  159. an appropriate copyright notice and disclaimer of warranty; keep intact
  160. all the notices that refer to this License and to the absence of any
  161. warranty; and distribute a copy of this License along with the Library.
  162. You may charge a fee for the physical act of transferring a copy,
  163. and you may at your option offer warranty protection in exchange for a
  164. fee.
  165. \b 2. You may modify your copy or copies of the
  166. Library or any portion of it, thus forming a work based on the Library,
  167. and copy and distribute such modifications or work under the terms of
  168. Section 1 above, provided that you also meet all of these conditions:
  169. \b a) The modified work must itself be a software library.
  170. \b b) You must cause the files modified to carry
  171. prominent notices stating that you changed the files and the date of
  172. any change.
  173. \b c) You must cause the whole of the work to be
  174. licensed at no charge to all third parties under the terms of this
  175. License.
  176. \b d) If a facility in the modified Library refers to
  177. a function or a table of data to be supplied by an application program
  178. that uses the facility, other than as an argument passed when the
  179. facility is invoked, then you must make a good faith effort to ensure
  180. that, in the event an application does not supply such function or
  181. table, the facility still operates, and performs whatever part of its
  182. purpose remains meaningful.
  183. (For example, a function in a library to compute square roots has a
  184. purpose that is entirely well-defined independent of the application.
  185. Therefore, Subsection 2d requires that any application-supplied
  186. function or table used by this function must be optional: if the
  187. application does not supply it, the square root function must still
  188. compute square roots.)
  189. These requirements apply to the modified work as a whole.
  190. If identifiable sections of that work are not derived from the
  191. Library, and can be reasonably considered independent and separate
  192. works in themselves, then this License, and its terms, do not apply to
  193. those sections when you distribute them as separate works. But when
  194. you distribute the same sections as part of a whole which is a work
  195. based on the Library, the distribution of the whole must be on the
  196. terms of this License, whose permissions for other licensees extend to
  197. the entire whole, and thus to each and every part regardless of who
  198. wrote it.
  199. Thus, it is not the intent of this section to claim rights or
  200. contest your rights to work written entirely by you; rather, the intent
  201. is to exercise the right to control the distribution of derivative or
  202. collective works based on the Library.
  203. In addition, mere aggregation of another work not based on the
  204. Library with the Library (or with a work based on the Library) on a
  205. volume of a storage or distribution medium does not bring the other
  206. work under the scope of this License.
  207. \b 3. You may opt to apply the terms of the ordinary
  208. GNU General Public License instead of this License to a given copy of
  209. the Library. To do this, you must alter all the notices that refer to
  210. this License, so that they refer to the ordinary GNU General Public
  211. License, version 2, instead of to this License. (If a newer version
  212. than version 2 of the ordinary GNU General Public License has appeared,
  213. then you can specify that version instead if you wish.) Do not make
  214. any other change in these notices.
  215. Once this change is made in a given copy, it is irreversible for
  216. that copy, so the ordinary GNU General Public License applies to all
  217. subsequent copies and derivative works made from that copy.
  218. This option is useful when you wish to copy part of the code of the
  219. Library into a program that is not a library.
  220. \b 4. You may copy and distribute the Library (or a
  221. portion or derivative of it, under Section 2) in object code or
  222. executable form under the terms of Sections 1 and 2 above provided that
  223. you accompany it with the complete corresponding machine-readable
  224. source code, which must be distributed under the terms of Sections 1
  225. and 2 above on a medium customarily used for software interchange.
  226. If distribution of object code is made by offering access to copy
  227. from a designated place, then offering equivalent access to copy the
  228. source code from the same place satisfies the requirement to distribute
  229. the source code, even though third parties are not compelled to copy
  230. the source along with the object code.
  231. \b 5. A program that contains no derivative of any
  232. portion of the Library, but is designed to work with the Library by
  233. being compiled or linked with it, is called a &quot;work that uses the
  234. Library&quot;. Such a work, in isolation, is not a derivative work of the
  235. Library, and therefore falls outside the scope of this License.
  236. However, linking a &quot;work that uses the Library&quot; with the Library
  237. creates an executable that is a derivative of the Library (because it
  238. contains portions of the Library), rather than a &quot;work that uses the
  239. library&quot;. The executable is therefore covered by this License. Section
  240. 6 states terms for distribution of such executables.
  241. When a &quot;work that uses the Library&quot; uses material from a header file
  242. that is part of the Library, the object code for the work may be a
  243. derivative work of the Library even though the source code is not.
  244. Whether this is true is especially significant if the work can be
  245. linked without the Library, or if the work is itself a library. The
  246. threshold for this to be true is not precisely defined by law.
  247. If such an object file uses only numerical parameters, data
  248. structure layouts and accessors, and small macros and small inline
  249. functions (ten lines or less in length), then the use of the object
  250. file is unrestricted, regardless of whether it is legally a derivative
  251. work. (Executables containing this object code plus portions of the
  252. Library will still fall under Section 6.)
  253. Otherwise, if the work is a derivative of the Library, you may
  254. distribute the object code for the work under the terms of Section 6.
  255. Any executables containing that work also fall under Section 6, whether
  256. or not they are linked directly with the Library itself.
  257. \b 6. As an exception to the Sections above, you may also compile or
  258. link a &quot;work that uses the Library&quot; with the Library to
  259. produce a work containing portions of the Library, and distribute that
  260. work under terms of your choice, provided that the terms permit
  261. modification of the work for the customer's own use and reverse
  262. engineering for debugging such modifications.
  263. You must give prominent notice with each copy of the work that the
  264. Library is used in it and that the Library and its use are covered by
  265. this License. You must supply a copy of this License. If the work
  266. during execution displays copyright notices, you must include the
  267. copyright notice for the Library among them, as well as a reference
  268. directing the user to the copy of this License. Also, you must do one
  269. of these things:
  270. \b a) Accompany the work
  271. with the complete corresponding machine-readable source code for the
  272. Library including whatever changes were used in the work (which must
  273. be distributed under Sections 1 and 2 above); and, if the work is an
  274. executable linked with the Library, with the complete machine-readable
  275. &quot;work that uses the Library&quot;, as object code and/or source code, so
  276. that the user can modify the Library and then relink to produce a
  277. modified executable containing the modified Library. (It is
  278. understood that the user who changes the contents of definitions files
  279. in the Library will not necessarily be able to recompile the
  280. application to use the modified definitions.)
  281. \b b) Accompany the work with a written offer, valid
  282. for at least three years, to give the same user the materials
  283. specified in Subsection 6a, above, for a charge no more than the cost
  284. of performing this distribution.
  285. \b c) If distribution of the work is made by offering
  286. access to copy from a designated place, offer equivalent access to
  287. copy the above specified materials from the same place.
  288. \b d) Verify that the user has already received a copy
  289. of these materials or that you have already sent this user a copy.
  290. For an executable, the required form of the &quot;work that
  291. uses the Library&quot; must include any data and utility programs needed for
  292. reproducing the executable from it. However, as a special exception,
  293. the source code distributed need not include anything that is normally
  294. distributed (in either source or binary form) with the major components
  295. (compiler, kernel, and so on) of the operating system on which the
  296. executable runs, unless that component itself accompanies the
  297. executable.
  298. It may happen that this requirement contradicts the license
  299. restrictions of other proprietary libraries that do not normally
  300. accompany the operating system. Such a contradiction means you cannot
  301. use both them and the Library together in an executable that you
  302. distribute.
  303. \b 7. You may place library facilities that are a work
  304. based on the Library side-by-side in a single library together with
  305. other library facilities not covered by this License, and distribute
  306. such a combined library, provided that the separate distribution of the
  307. work based on the Library and of the other library facilities is
  308. otherwise permitted, and provided that you do these two things:
  309. \b a) Accompany the combined library with a copy of the
  310. same work based on the Library, uncombined with any other library
  311. facilities. This must be distributed under the terms of the Sections
  312. above.
  313. \b b) Give prominent notice with the combined library
  314. of the fact that part of it is a work based on the Library, and
  315. explaining where to find the accompanying uncombined form of the same
  316. work.
  317. \b 8. You may not copy, modify, sublicense,
  318. link with, or distribute the Library except as expressly provided under
  319. this License. Any attempt otherwise to copy, modify, sublicense, link
  320. with, or distribute the Library is void, and will automatically
  321. terminate your rights under this License. However, parties who have
  322. received copies, or rights, from you under this License will not have
  323. their licenses terminated so long as such parties remain in full
  324. compliance.
  325. \b 9. You are not required to accept this License,
  326. since you have not signed it. However, nothing else grants you
  327. permission to modify or distribute the Library or its derivative works.
  328. These actions are prohibited by law if you do not accept this License.
  329. Therefore, by modifying or distributing the Library (or any work based
  330. on the Library), you indicate your acceptance of this License to do so,
  331. and all its terms and conditions for copying, distributing or modifying
  332. the Library or works based on it.
  333. \b 10. Each time you redistribute the Library (or any
  334. work based on the Library), the recipient automatically receives a
  335. license from the original licensor to copy, distribute, link with or
  336. modify the Library subject to these terms and conditions. You may not
  337. impose any further restrictions on the recipients' exercise of the
  338. rights granted herein. You are not responsible for enforcing compliance
  339. by third parties to this License.
  340. \b 11. If, as a consequence of a court judgment or
  341. allegation of patent infringement or for any other reason (not limited
  342. to patent issues), conditions are imposed on you (whether by court
  343. order, agreement or otherwise) that contradict the conditions of this
  344. License, they do not excuse you from the conditions of this License.
  345. If you cannot distribute so as to satisfy simultaneously your
  346. obligations under this License and any other pertinent obligations,
  347. then as a consequence you may not distribute the Library at all. For
  348. example, if a patent license would not permit royalty-free
  349. redistribution of the Library by all those who receive copies directly
  350. or indirectly through you, then the only way you could satisfy both it
  351. and this License would be to refrain entirely from distribution of the
  352. Library.
  353. If any portion of this section is held invalid or unenforceable
  354. under any particular circumstance, the balance of the section is
  355. intended to apply, and the section as a whole is intended to apply in
  356. other circumstances.
  357. It is not the purpose of this section to induce you to infringe any
  358. patents or other property right claims or to contest validity of any
  359. such claims; this section has the sole purpose of protecting the
  360. integrity of the free software distribution system which is implemented
  361. by public license practices. Many people have made generous
  362. contributions to the wide range of software distributed through that
  363. system in reliance on consistent application of that system; it is up
  364. to the author/donor to decide if he or she is willing to distribute
  365. software through any other system and a licensee cannot impose that
  366. choice.
  367. This section is intended to make thoroughly clear what is believed
  368. to be a consequence of the rest of this License.
  369. \b 12. If the distribution and/or use of the Library
  370. is restricted in certain countries either by patents or by copyrighted
  371. interfaces, the original copyright holder who places the Library under
  372. this License may add an explicit geographical distribution limitation
  373. excluding those countries, so that distribution is permitted only in or
  374. among countries not thus excluded. In such case, this License
  375. incorporates the limitation as if written in the body of this License.
  376. \b 13. The Free Software Foundation may publish
  377. revised and/or new versions of the Library General Public License from
  378. time to time. Such new versions will be similar in spirit to the
  379. present version, but may differ in detail to address new problems or
  380. concerns.
  381. Each version is given a distinguishing version number. If the
  382. Library specifies a version number of this License which applies to it
  383. and &quot;any later version&quot;, you have the option of following the terms and
  384. conditions either of that version or of any later version published by
  385. the Free Software Foundation. If the Library does not specify a
  386. license version number, you may choose any version ever published by
  387. the Free Software Foundation.
  388. \b 14. If you wish to incorporate parts of the Library
  389. into other free programs whose distribution conditions are incompatible
  390. with these, write to the author to ask for permission. For software
  391. which is copyrighted by the Free Software Foundation, write to the Free
  392. Software Foundation; we sometimes make exceptions for this. Our
  393. decision will be guided by the two goals of preserving the free status
  394. of all derivatives of our free software and of promoting the sharing
  395. and reuse of software generally.
  396. \par NO WARRANTY
  397. \b 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE,
  398. THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY
  399. APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  400. HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY &quot;AS IS&quot; WITHOUT
  401. WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
  402. LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  403. PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
  404. OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU
  405. ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  406. \b 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW
  407. OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY
  408. WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
  409. LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
  410. OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
  411. LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
  412. RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
  413. FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
  414. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  415. DAMAGES.
  416. \par END OF TERMS AND CONDITIONS
  417. \htmlonly
  418. <hr>
  419. <table summary="navigation bar" width="100%" border="0">
  420. <tr>
  421. <td width="45%" align="LEFT">
  422. <a class="el" href="development.html">
  423. [Prev]
  424. Developer Information
  425. </a>
  426. </td>
  427. <td width="10%" align="CENTER">
  428. <a class="el" href="index.html">[Index]</a>
  429. </td>
  430. <td width="45%" align="RIGHT">
  431. <a class="el" href="examples.html">
  432. Example Source Code
  433. [Next]
  434. </a>
  435. </td>
  436. </tr>
  437. </table>
  438. \endhtmlonly
  439. */