You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(128) |
Dec
(65) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(48) |
Feb
(132) |
Mar
(95) |
Apr
(47) |
May
(54) |
Jun
(2) |
Jul
(57) |
Aug
(109) |
Sep
(131) |
Oct
(186) |
Nov
(105) |
Dec
(78) |
2007 |
Jan
(125) |
Feb
(105) |
Mar
(52) |
Apr
(104) |
May
(63) |
Jun
(116) |
Jul
(76) |
Aug
|
Sep
(18) |
Oct
(93) |
Nov
(110) |
Dec
(169) |
2008 |
Jan
(90) |
Feb
(64) |
Mar
(41) |
Apr
(23) |
May
(6) |
Jun
(18) |
Jul
(10) |
Aug
(61) |
Sep
(139) |
Oct
(50) |
Nov
(55) |
Dec
(2) |
2009 |
Jan
|
Feb
(1) |
Mar
(62) |
Apr
(22) |
May
(17) |
Jun
(19) |
Jul
(40) |
Aug
(21) |
Sep
|
Oct
(40) |
Nov
(23) |
Dec
|
2010 |
Jan
(14) |
Feb
(40) |
Mar
(9) |
Apr
(11) |
May
(19) |
Jun
(4) |
Jul
(10) |
Aug
(22) |
Sep
(15) |
Oct
|
Nov
(2) |
Dec
|
2011 |
Jan
(13) |
Feb
(10) |
Mar
|
Apr
(13) |
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
(33) |
May
(20) |
Jun
|
Jul
(8) |
Aug
(7) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
From: Braden M. <br...@us...> - 2006-10-04 06:27:27
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7398 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Added info documentation for openvrml-gtkplug. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.26 retrieving revision 1.1310.2.27 diff -C2 -d -r1.1310.2.26 -r1.1310.2.27 *** ChangeLog 4 Oct 2006 02:28:29 -0000 1.1310.2.26 --- ChangeLog 4 Oct 2006 06:27:24 -0000 1.1310.2.27 *************** *** 1,2 **** --- 1,11 ---- + 2006-10-04 Braden McDaniel <br...@en...> + + Added info documentation for openvrml-gtkplug. + + * doc/Makefile.am: Added openvrml-gtkplug.texi. + * doc/fdl.texi: GNU Free Documentation license. + * doc/openvrml-gtkplug.texi: Texinfo documentation for + openvrml-gtkplug. + 2006-10-03 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-04 06:26:48
|
Update of /cvsroot/openvrml/openvrml/doc In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6988/doc Modified Files: .cvsignore Makefile.am Added Files: fdl.texi openvrml-gtkplug.texi Log Message: Added info documentation for openvrml-gtkplug. Index: .cvsignore =================================================================== RCS file: /cvsroot/openvrml/openvrml/doc/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** .cvsignore 10 Aug 2006 02:56:17 -0000 1.4 --- .cvsignore 4 Oct 2006 06:26:42 -0000 1.5 *************** *** 1,2 **** --- 1,7 ---- + *.info Makefile Makefile.in + mdate-sh + stamp-vti + texinfo.tex + version.texi --- NEW FILE: openvrml-gtkplug.texi --- \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename openvrml-gtkplug.info @include version.texi @settitle openvrml-gtkplug @value{VERSION} @c %**end of header @copying This manual is for openvrml-gtkplug (version @value{VERSION}, @value{UPDATED}), which provides a VRML/X3D browser as a GtkPlug component that can be used in any GTK+ application. Copyright @copyright{} 2006 Braden McDaniel @quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation. A copy of the license is included in the section entitled ``GNU Free Documentation License.'' @end quotation @end copying @c Define a new index for options. @defcodeindex op @c Combine everything into one index (arbitrarily chosen to be the @c concept index). @syncodeindex op cp @dircategory Miscellaneous @direntry * openvrml-gtkplug: A VRML/X3D browser component for GTK+ applications. @end direntry @titlepage @title openvrml-gtkplug @subtitle for version @value{VERSION}, @value{UPDATED} @author Braden McDaniel (@email{braden@@endoframe.com}) @page @vskip 0pt plus 1filll @insertcopying @end titlepage @contents @ifnottex @node Top @top openvrml-gtkplug This manual is for openvrml-gtkplug (version @value{VERSION}, @value{UPDATED}). @end ifnottex @menu * Overview:: General purpose and information. * Invoking openvrml-gtkplug:: How to run @code{openvrml-gtkplug}. * Servicing Requests:: How to respond to requests from the component. * Problems:: Getting help and reporting bugs. * Copying This Manual:: Copying and sharing this documentation. * Concept Index:: Index of concepts. @end menu @node Overview @chapter Overview @cindex overview @code{openvrml-gtkplug} provides a VRML/X3D browser as a GtkPlug component that can be used in any GTK+ application. @code{openvrml-gtkplug} communicates with the host application via pipes from its @code{stdout} and to its @code{stdin}. The host application is responsible for fetching network resources and sending these to the component. @code{openvrml-gtkplug} uses the OpenVRML VRML/X3D runtime. For the latest updates and other information, please visit OpenVRML on the World Wide Web at @url{http://openvrml.org}. @cindex authors @cindex McDaniel, Braden @code{openvrml-gtkplug} was written by Braden McDaniel. @node Invoking openvrml-gtkplug @chapter Invoking @code{openvrml-gtkplug} @cindex invoking @cindex options @cindex usage @cindex help The format for running the @code{openvrml-gtkplug} program is: @example openvrml-gtkplug [@var{options}] @var{gtk-socket-id} @end example @var{gtk-socket-id} is the XID of a GtkSocket. @section Options @code{openvrml-gtkplug} supports the following options: @subsection Help Options @table @option @item --help @itemx -? @opindex --help @opindex -? Show help options. @item --help-all @opindex --help-all Show all help options. @item --help-gtk @opindex --help-gtk Show GTK+ options. @end table @subsection GTK+ Options @table @option @item --class=@var{class} @opindex --class Program class as used by the window manager. @item --name=@var{name} @opindex --name Program name as used by the window manager. @item --screen=@var{screen} @opindex --screen X screen to use. @item --sync @opindex --sync Make X calls synchronous. @item --gtk-module=@var{modules} @opindex --gtk-module Load additional GTK+ modules. @item --g-fatal-warnings @opindex --g-fatal-warnings Make all warnings fatal. @end table @subsection Application Options @table @option @item --version @opindex --version Print the version information and exit. @item --display=@var{display} @opindex --display X display to use. @end table @section Invoking From Another Program In general @code{openvrml-gtkplug} is invoked from another program which establishes pipes to @code{openvrml-gtkplug}'s @code{stdin} and from its @code{stdout}. This can be done using the typical @code{fork}-@code{exec} mechanism. If you are using GLib, the function @code{g_spawn_async_with_pipes} nicely encapsulates the required logic: @example gchar * working_directory; gchar ** argv; gchar ** envp = 0; GPid * child_pid = 0; gint standard_input, standard_output; gint * standard_error = 0; GError * error = 0; gboolean succeeded; working_directory = g_get_current_dir(); argv = g_malloc(sizeof (gchar *) * 3) argv[0] = g_strdup("/usr/libexec/openvrml-gtkplug"); argv[1] = g_strdup_printf("%d", gtk_socket_id); argv[2] = 0; succeeded = g_spawn_async_with_pipes(working_directory, argv, envp, 0, 0, 0, child_pid, &standard_input, &standard_output, standard_error, &error); @end example @node Servicing Requests @chapter Servicing Requests @cindex request @cindex request channel @cindex command @cindex command channel @section Requests and Commands @code{openvrml-gtkplug} relies on the host application for fetching network resources. @code{openvrml-gtkplug} will send a @dfn{request} for a network resource via its @code{stdout}. As such, the pipe from @code{openvrml-gtkplug}'s @code{stdout} to the host application is referred to as the @dfn{request channel}. In general (and as the name implies), requests elicit some response from the host application. The pipe to @code{openvrml-gtkplug}'s @code{stdin} is used for such responses as well other @dfn{commands}. This pipe is referred to as the @dfn{command channel}. Requests and commands are terminated by an end-of-line. They take the general form: @example @var{command-name} [@var{param1} [@var{param2} ... ]] @end example @cindex get-url @section The @code{get-url} Request @code{openvrml-gtkplug} sends a @code{get-url} request to indicate to the host application that it needs a particular network resource. This request takes the following form: @example get-url @var{url} [@var{target}] @end example @table @var @item url The URL being requested. @item target The name of a window. @end table The @var{url} parameter is the URL being requested. The optional @var{target} parameter is the name of a window of the host application. If @var{target} is not meaningful to the host application, it can be ignored. The @code{get-url} request expects a response in the form of a @code{get-url-result} command. @code{openvrml-gtkplug} is unable to process the availability of the resource until it receives this command; so it should be issued as soon as possible. @section Commands @cindex get-url-result @subsection @code{get-url-result} The @code{get-url-result} command should be sent immediately in response to a @code{get-url} request. This command should indicate the basic success or failure of initiating the resource request. @strong{It is not intended to indicate a response from a server}. Rather, it should be used to indicate whether the @var{URL} can be processed at all. A URL might not be usable if it is syntactically invalid or its scheme is unsupported. This command takes the following form: @example get-url-result @var{url} @var{result} @end example @table @var @item url The URL from the @code{get-url} request. @item result An integer value. @end table The @var{url} parameter should match the URL received in the corresponding @code{get-url} request. The @var{result} is an integer value; 0 indicates success, while nonzero indicates failure. @cindex new-stream @subsection @code{new-stream} The @code{new-stream} command indicates to @code{openvrml-gtkplug} that the host application intends to begin writing data associated with a requested resource. @code{new-stream} should be sent after @code{get-url-result} has been sent for a stream and before @code{write} is sent for any of the stream data. This command takes the following form: @example new-stream @var{stream-id} @var{type} @var{url} @end example @table @var @item stream-id An integer identifier for the stream. @item type The MIME media type of the stream. @item url The URL associated with the stream. @end table The @var{stream-id} is an integer identifier for the stream. This identifier will be used subsequently by the @code{write} and @code{destroy-stream} commands to refer to the stream. The @var{type} parameter is the MIME media type of the stream. The @var{url} parameter should match the @var{url} parameter of a previously issued @code{get-url-result} command. @cindex write @subsection @code{write} The @code{write} command writes data to a stream for which @code{new-stream} has already been issued. This command takes the following form: @example write @var{stream_id} @var{offset} @var{length} @var{data} @end example @table @var @item stream-id An integer identifier for the stream. @item offset The offset from the beginning of the stream to the beginning of @var{data}. @item length The number of bytes in @var{data} @item data The stream data. @end table The @var{stream-id} parameter is an integer identifier corresponding to a stream for which @code{new-stream} has already been called (and for which @code{destroy-stream} has @emph{not} been called. @code{write} is unique among commands in that the end-of-line character does not terminate the command; rather, it marks the beginning of the @var{data} parameter. The command ends at the end of the @var{data} parameter, which is indicated by the @var{length} parameter. @code{write} may be called multiple times for the same stream. The @var{offset} parameter indicates the offset of the beginning of @var{data} with respect to the beginning of the stream (in bytes). @cindex destroy-stream @subsection @code{destroy-stream} @code{destroy-stream} should be sent for a @var{stream-id} after no more @code{write} commands will be issued for it. This command takes the following form: @example destroy-stream @var{stream-id} @end example @table @var @item stream-id An integer identifier for a stream. @end table @var{stream-id} should identify a stream for which @code{new-stream} has been sent, but for which @code{destroy-stream} has @emph{not} already been sent. @node Problems @chapter Getting Help and Reporting Bugs @cindex bug reporting @cindex problems @cindex reporting bugs @section Mailing List As part of the OpenVRML package, @code{openvrml-gtkplug} is discussed on the OpenVRML development mailing list, @email{openvrml-develop@@lists.sourceforge.net}. Questions about usage of any part of the OpenVRML package are welcome here. This mailing list permits posting only by subscribers in order to curb spam. Subscription information can be found at @url{http://lists.sourceforge.net/lists/listinfo/openvrml-develop}. @section Reporting Bugs Please report any bugs you encounter using @url{http://sourceforge.net/tracker/?func=add&group_id=7151&atid=107151, OpenVRML's SourceForge bug tracker}. @cindex checklist for bug reports Please include enough information for the maintainers to reproduce the problem. Generally speaking, that means: @itemize @bullet @item The version number of openvrml-gtkplug (which you can find by running @w{@samp{openvrml-gtkplug --version}}) and any other program(s) or manual(s) involved. @item Hardware and operating system names and versions. @item The contents of any input files necessary to reproduce the bug. @item The expected behavior and/or output. @item A description of the problem and samples of any erroneous output. @item Any unusual options you gave to @command{configure}. @item Anything else that you think would be helpful. @end itemize When in doubt whether something is needed or not, include it. It's better to include too much than to leave out something important. @section Submitting Patches @cindex patches, contributing Patches are welcome; if possible, please make them with @samp{@w{diff -u}} (@pxref{Top,, Overview, diff, Comparing and Merging Files}) and include @file{ChangeLog} entries (@pxref{Change Log,,, emacs, The GNU Emacs Manual}). Please follow the existing coding style. The preferred means of submitting a patch is using @url{OpenVRML's SourceForge Patch Manager, http://sourceforge.net/tracker/?func=add&group_id=7151&atid=307151}. @node Copying This Manual @appendix Copying This Manual @menu * GNU Free Documentation License:: License for copying this manual. @end menu @include fdl.texi @node Concept Index @unnumbered Concept Index @printindex cp @bye --- NEW FILE: fdl.texi --- @node GNU Free Documentation License @appendixsec GNU Free Documentation License @cindex FDL, GNU Free Documentation License @center Version 1.2, November 2002 @display Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @end display @enumerate 0 @item PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document @dfn{free} in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of ``copyleft'', which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. @item APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The ``Document'', below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as ``you''. You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A ``Modified Version'' of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A ``Secondary Section'' is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The ``Invariant Sections'' are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The ``Cover Texts'' are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A ``Transparent'' copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not ``Transparent'' is called ``Opaque''. Examples of suitable formats for Transparent copies include plain @sc{ascii} without markup, Texinfo input format, La@TeX{} input format, @acronym{SGML} or @acronym{XML} using a publicly available @acronym{DTD}, and standard-conforming simple @acronym{HTML}, PostScript or @acronym{PDF} designed for human modification. Examples of transparent image formats include @acronym{PNG}, @acronym{XCF} and @acronym{JPG}. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, @acronym{SGML} or @acronym{XML} for which the @acronym{DTD} and/or processing tools are not generally available, and the machine-generated @acronym{HTML}, PostScript or @acronym{PDF} produced by some word processors for output purposes only. The ``Title Page'' means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, ``Title Page'' means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. A section ``Entitled XYZ'' means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as ``Acknowledgements'', ``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title'' of such a section when you modify the Document means that it remains a section ``Entitled XYZ'' according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. @item VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. @item COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. @item MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: @enumerate A @item Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. @item List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. @item State on the Title page the name of the publisher of the Modified Version, as the publisher. @item Preserve all the copyright notices of the Document. @item Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. @item Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. @item Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. @item Include an unaltered copy of this License. @item Preserve the section Entitled ``History'', Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled ``History'' in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. @item Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the ``History'' section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. @item For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. @item Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. @item Delete any section Entitled ``Endorsements''. Such a section may not be included in the Modified Version. @item Do not retitle any existing section to be Entitled ``Endorsements'' or to conflict in title with any Invariant Section. @item Preserve any Warranty Disclaimers. @end enumerate If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled ``Endorsements'', provided it contains nothing but endorsements of your Modified Version by various parties---for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. @item COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled ``History'' in the various original documents, forming one section Entitled ``History''; likewise combine any sections Entitled ``Acknowledgements'', and any sections Entitled ``Dedications''. You must delete all sections Entitled ``Endorsements.'' @item COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. @item AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an ``aggregate'' if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. @item TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled ``Acknowledgements'', ``Dedications'', or ``History'', the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. @item TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. @item FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See @uref{http://www.gnu.org/copyleft/}. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License ``or any later version'' applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. @end enumerate @page @appendixsubsec ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: @smallexample @group Copyright (C) @var{year} @var{your name}. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled ``GNU Free Documentation License''. @end group @end smallexample If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the ``with...Texts.'' line with this: @smallexample @group with the Invariant Sections being @var{list their titles}, with the Front-Cover Texts being @var{list}, and with the Back-Cover Texts being @var{list}. @end group @end smallexample If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. @c Local Variables: @c ispell-local-pdict: "ispell-dict" @c End: Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/doc/Makefile.am,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** Makefile.am 10 Aug 2006 06:50:34 -0000 1.34 --- Makefile.am 4 Oct 2006 06:26:42 -0000 1.35 *************** *** 1,2 **** --- 1,5 ---- + info_TEXINFOS = openvrml-gtkplug.texi + openvrml_gtkplug_TEXINFOS = fdl.texi + docdir = $(datadir)/doc/@PACKAGE_TARNAME@-@PACKAGE_VERSION@ |
From: Braden M. <br...@us...> - 2006-10-04 06:26:44
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv6988 Modified Files: ChangeLog Log Message: Added info documentation for openvrml-gtkplug. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1341 retrieving revision 1.1342 diff -C2 -d -r1.1341 -r1.1342 *** ChangeLog 4 Oct 2006 02:29:14 -0000 1.1341 --- ChangeLog 4 Oct 2006 06:26:42 -0000 1.1342 *************** *** 1,2 **** --- 1,11 ---- + 2006-10-04 Braden McDaniel <br...@en...> + + Added info documentation for openvrml-gtkplug. + + * doc/Makefile.am: Added openvrml-gtkplug.texi. + * doc/fdl.texi: GNU Free Documentation license. + * doc/openvrml-gtkplug.texi: Texinfo documentation for + openvrml-gtkplug. + 2006-10-03 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-04 02:29:18
|
Update of /cvsroot/openvrml/openvrml/lib/gtkglext In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12662/lib/gtkglext Modified Files: configure.in Log Message: Don't die if we don't find all of GtkGLExt's dependencies. Index: configure.in =================================================================== RCS file: /cvsroot/openvrml/openvrml/lib/gtkglext/configure.in,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** configure.in 1 Oct 2006 05:46:55 -0000 1.2 --- configure.in 4 Oct 2006 02:29:15 -0000 1.3 *************** *** 347,351 **** pangox_pkg >= pangox_required_version \ gmodule_pkg >= gmodule_required_version \ ! ]) # Check for GLib --- 347,351 ---- pangox_pkg >= pangox_required_version \ gmodule_pkg >= gmodule_required_version \ ! ], , ) # Check for GLib |
From: Braden M. <br...@us...> - 2006-10-04 02:29:17
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12662 Modified Files: ChangeLog Log Message: Don't die if we don't find all of GtkGLExt's dependencies. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1340 retrieving revision 1.1341 diff -C2 -d -r1.1340 -r1.1341 *** ChangeLog 2 Oct 2006 22:34:33 -0000 1.1340 --- ChangeLog 4 Oct 2006 02:29:14 -0000 1.1341 *************** *** 1,2 **** --- 1,8 ---- + 2006-10-03 Braden McDaniel <br...@en...> + + * lib/gtkglext/configure.in: Don't die if we don't find all of + GtkGLExt's dependencies; we might not care (i.e., if the user + isn't building openvrml-gtkplug). + 2006-10-02 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-04 02:28:33
|
Update of /cvsroot/openvrml/openvrml/lib/gtkglext In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12283/lib/gtkglext Modified Files: Tag: OpenVRML-0_16-BRANCH configure.in Log Message: Don't die if we don't find all of GtkGLExt's dependencies. Index: configure.in =================================================================== RCS file: /cvsroot/openvrml/openvrml/lib/gtkglext/configure.in,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** configure.in 1 Oct 2006 05:48:15 -0000 1.2.2.1 --- configure.in 4 Oct 2006 02:28:29 -0000 1.2.2.2 *************** *** 347,351 **** pangox_pkg >= pangox_required_version \ gmodule_pkg >= gmodule_required_version \ ! ]) # Check for GLib --- 347,351 ---- pangox_pkg >= pangox_required_version \ gmodule_pkg >= gmodule_required_version \ ! ], , ) # Check for GLib |
From: Braden M. <br...@us...> - 2006-10-04 02:28:33
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv12283 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Don't die if we don't find all of GtkGLExt's dependencies. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.25 retrieving revision 1.1310.2.26 diff -C2 -d -r1.1310.2.25 -r1.1310.2.26 *** ChangeLog 2 Oct 2006 22:34:05 -0000 1.1310.2.25 --- ChangeLog 4 Oct 2006 02:28:29 -0000 1.1310.2.26 *************** *** 1,2 **** --- 1,8 ---- + 2006-10-03 Braden McDaniel <br...@en...> + + * lib/gtkglext/configure.in: Don't die if we don't find all of + GtkGLExt's dependencies; we might not care (i.e., if the user + isn't building openvrml-gtkplug). + 2006-10-02 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-02 22:34:38
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-gtkplug In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32096/src/openvrml-gtkplug Modified Files: main.cpp Log Message: Added --version option. Index: main.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/openvrml-gtkplug/main.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** main.cpp 1 Oct 2006 05:47:07 -0000 1.2 --- main.cpp 2 Oct 2006 22:34:34 -0000 1.3 *************** *** 29,32 **** --- 29,36 ---- # include <openvrml/browser.h> + # ifdef HAVE_CONFIG_H + # include "config.h" + # endif + # include "gtkvrmlbrowser.h" # include "command_istream.h" *************** *** 164,171 **** --- 168,185 ---- namespace { + gboolean version; gchar ** args; GOptionEntry options[] = { { + "version", + 'v', + 0, + G_OPTION_ARG_NONE, + &version, + "Print the version information and exit", + 0 + }, + { G_OPTION_REMAINING, '\0', *************** *** 258,261 **** --- 272,276 ---- int main(int argc, char * argv[]) { + using std::cout; using std::cerr; using std::endl; *************** *** 289,292 **** --- 304,312 ---- } + if (version) { + cout << "OpenVRML GtkPlug " PACKAGE_VERSION << endl; + return EXIT_SUCCESS; + } + if (!args) { cerr << argv[0] << ": missing required GTK-SOCKET-ID argument" << endl; |
From: Braden M. <br...@us...> - 2006-10-02 22:34:38
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32096 Modified Files: ChangeLog Log Message: Added --version option. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1339 retrieving revision 1.1340 diff -C2 -d -r1.1339 -r1.1340 *** ChangeLog 2 Oct 2006 22:12:22 -0000 1.1339 --- ChangeLog 2 Oct 2006 22:34:33 -0000 1.1340 *************** *** 1,4 **** --- 1,9 ---- 2006-10-02 Braden McDaniel <br...@en...> + * src/openvrml-gtkplug/main.cpp + (main(int, char *[])): Added --version option. + + 2006-10-02 Braden McDaniel <br...@en...> + * README: Added documentation for --disable-gtkplug configure option. |
From: Braden M. <br...@us...> - 2006-10-02 22:34:09
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-gtkplug In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31931/src/openvrml-gtkplug Modified Files: Tag: OpenVRML-0_16-BRANCH main.cpp Log Message: Added --version option. Index: main.cpp =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/openvrml-gtkplug/main.cpp,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** main.cpp 1 Oct 2006 05:48:30 -0000 1.2.2.1 --- main.cpp 2 Oct 2006 22:34:06 -0000 1.2.2.2 *************** *** 29,32 **** --- 29,36 ---- # include <openvrml/browser.h> + # ifdef HAVE_CONFIG_H + # include "config.h" + # endif + # include "gtkvrmlbrowser.h" # include "command_istream.h" *************** *** 164,171 **** --- 168,185 ---- namespace { + gboolean version; gchar ** args; GOptionEntry options[] = { { + "version", + 'v', + 0, + G_OPTION_ARG_NONE, + &version, + "Print the version information and exit", + 0 + }, + { G_OPTION_REMAINING, '\0', *************** *** 258,261 **** --- 272,276 ---- int main(int argc, char * argv[]) { + using std::cout; using std::cerr; using std::endl; *************** *** 289,292 **** --- 304,312 ---- } + if (version) { + cout << "OpenVRML GtkPlug " PACKAGE_VERSION << endl; + return EXIT_SUCCESS; + } + if (!args) { cerr << argv[0] << ": missing required GTK-SOCKET-ID argument" << endl; |
From: Braden M. <br...@us...> - 2006-10-02 22:34:09
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31931 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Added --version option. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.24 retrieving revision 1.1310.2.25 diff -C2 -d -r1.1310.2.24 -r1.1310.2.25 *** ChangeLog 2 Oct 2006 22:12:08 -0000 1.1310.2.24 --- ChangeLog 2 Oct 2006 22:34:05 -0000 1.1310.2.25 *************** *** 1,4 **** --- 1,9 ---- 2006-10-02 Braden McDaniel <br...@en...> + * src/openvrml-gtkplug/main.cpp + (main(int, char *[])): Added --version option. + + 2006-10-02 Braden McDaniel <br...@en...> + * README: Added documentation for --disable-gtkplug configure option. |
From: Braden M. <br...@us...> - 2006-10-02 22:12:26
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22978 Modified Files: ChangeLog README Log Message: Added documentation for --disable-gtkplug configure option. Index: README =================================================================== RCS file: /cvsroot/openvrml/openvrml/README,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** README 1 Oct 2006 05:46:54 -0000 1.66 --- README 2 Oct 2006 22:12:22 -0000 1.67 *************** *** 183,189 **** OpenGL/Mesa. --disable-mozilla-plugin Do not build the Mozilla plug-in. The Mozilla plug-in depends on ! GTK+ and, of course, Mozilla. --disable-examples --- 183,196 ---- OpenGL/Mesa. + --disable-gtkplug + Do not build the GtkPlug application. This is an out-of-process + component that provides a VRML/X3D browser that can be used in a + GTK+ application. This depends on GTK+. It also requires that the + GL renderer be built. + --disable-mozilla-plugin Do not build the Mozilla plug-in. The Mozilla plug-in depends on ! GTK+ and, of course, Mozilla. It also requires that the GtkPlug ! application be built. --disable-examples Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1338 retrieving revision 1.1339 diff -C2 -d -r1.1338 -r1.1339 *** ChangeLog 2 Oct 2006 03:44:08 -0000 1.1338 --- ChangeLog 2 Oct 2006 22:12:22 -0000 1.1339 *************** *** 1,2 **** --- 1,7 ---- + 2006-10-02 Braden McDaniel <br...@en...> + + * README: Added documentation for --disable-gtkplug configure + option. + 2006-10-01 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-02 22:12:10
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22931 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog README Log Message: Added documentation for --disable-gtkplug configure option. Index: README =================================================================== RCS file: /cvsroot/openvrml/openvrml/README,v retrieving revision 1.65.2.1 retrieving revision 1.65.2.2 diff -C2 -d -r1.65.2.1 -r1.65.2.2 *** README 1 Oct 2006 05:48:14 -0000 1.65.2.1 --- README 2 Oct 2006 22:12:08 -0000 1.65.2.2 *************** *** 183,189 **** OpenGL/Mesa. --disable-mozilla-plugin Do not build the Mozilla plug-in. The Mozilla plug-in depends on ! GTK+ and, of course, Mozilla. --disable-examples --- 183,196 ---- OpenGL/Mesa. + --disable-gtkplug + Do not build the GtkPlug application. This is an out-of-process + component that provides a VRML/X3D browser that can be used in a + GTK+ application. This depends on GTK+. It also requires that the + GL renderer be built. + --disable-mozilla-plugin Do not build the Mozilla plug-in. The Mozilla plug-in depends on ! GTK+ and, of course, Mozilla. It also requires that the GtkPlug ! application be built. --disable-examples Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.23 retrieving revision 1.1310.2.24 diff -C2 -d -r1.1310.2.23 -r1.1310.2.24 *** ChangeLog 2 Oct 2006 03:43:57 -0000 1.1310.2.23 --- ChangeLog 2 Oct 2006 22:12:08 -0000 1.1310.2.24 *************** *** 1,2 **** --- 1,7 ---- + 2006-10-02 Braden McDaniel <br...@en...> + + * README: Added documentation for --disable-gtkplug configure + option. + 2006-10-01 Braden McDaniel <br...@en...> |
From: Braden M. <br...@us...> - 2006-10-02 03:44:11
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-gtkplug In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv411/src/openvrml-gtkplug Modified Files: Makefile.am Log Message: Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to the directory where libmozjs resides). Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/openvrml-gtkplug/Makefile.am,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.am 1 Oct 2006 05:47:07 -0000 1.2 --- Makefile.am 2 Oct 2006 03:44:08 -0000 1.3 *************** *** 10,13 **** --- 10,25 ---- -DGTK_DISABLE_DEPRECATED AM_CXXFLAGS = @PTHREAD_CFLAGS@ @GTK_CFLAGS@ @GL_CFLAGS@ + AM_LDFLAGS = \ + @OPENVRML_RPATH@ \ + @JNI_LIBS@ \ + @GTK_LIBS@ \ + @GL_LIBS@ \ + -lXmu -lXt @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ \ + -lboost_thread \ + @PTHREAD_LIBS@ + LDADD = $(top_builddir)/src/libopenvrml-gl/libopenvrml-gl.la \ + $(top_builddir)/src/libopenvrml/libopenvrml.la \ + $(top_builddir)/lib/gtkglext/gtk/libgtkglext-x11-1.0.la \ + $(top_builddir)/lib/gtkglext/gdk/libgdkglext-x11-1.0.la if ENABLE_GTKPLUG *************** *** 26,40 **** gtkvrmlbrowser.cpp \ flag.cpp - openvrml_gtkplug_LDADD = \ - $(top_builddir)/src/libopenvrml-gl/libopenvrml-gl.la \ - $(top_builddir)/src/libopenvrml/libopenvrml.la \ - $(top_builddir)/lib/gtkglext/gtk/libgtkglext-x11-1.0.la \ - $(top_builddir)/lib/gtkglext/gdk/libgdkglext-x11-1.0.la - openvrml_gtkplug_LDFLAGS = \ - @GTK_LIBS@ \ - @GL_LIBS@ \ - -lXmu -lXt @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ \ - -lboost_thread \ - @PTHREAD_LIBS@ EXTRA_DIST = $(openvrml_gtkplug_SOURCES) --- 38,41 ---- |
From: Braden M. <br...@us...> - 2006-10-02 03:44:11
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv411 Modified Files: ChangeLog Log Message: Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to the directory where libmozjs resides). Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1337 retrieving revision 1.1338 diff -C2 -d -r1.1337 -r1.1338 *** ChangeLog 1 Oct 2006 05:46:54 -0000 1.1337 --- ChangeLog 2 Oct 2006 03:44:08 -0000 1.1338 *************** *** 1,4 **** --- 1,14 ---- 2006-10-01 Braden McDaniel <br...@en...> + Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to + the directory where libmozjs resides). + + * src/openvrml-gtkplug/Makefile.am + (AM_LDFLAGS): Use instead of openvrml_gtkplug_LDFLAGS; added + OPENVRML_RPATH. + (LDADD): Use instead of openvrml_gtkplug_LDADD. + + 2006-10-01 Braden McDaniel <br...@en...> + Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this |
From: Braden M. <br...@us...> - 2006-10-02 03:44:00
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-gtkplug In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32518/src/openvrml-gtkplug Modified Files: Tag: OpenVRML-0_16-BRANCH Makefile.am Log Message: Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to the directory where libmozjs resides). Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/openvrml-gtkplug/Makefile.am,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** Makefile.am 1 Oct 2006 05:48:30 -0000 1.2.2.1 --- Makefile.am 2 Oct 2006 03:43:57 -0000 1.2.2.2 *************** *** 10,13 **** --- 10,25 ---- -DGTK_DISABLE_DEPRECATED AM_CXXFLAGS = @PTHREAD_CFLAGS@ @GTK_CFLAGS@ @GL_CFLAGS@ + AM_LDFLAGS = \ + @OPENVRML_RPATH@ \ + @JNI_LIBS@ \ + @GTK_LIBS@ \ + @GL_LIBS@ \ + -lXmu -lXt @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ \ + -lboost_thread \ + @PTHREAD_LIBS@ + LDADD = $(top_builddir)/src/libopenvrml-gl/libopenvrml-gl.la \ + $(top_builddir)/src/libopenvrml/libopenvrml.la \ + $(top_builddir)/lib/gtkglext/gtk/libgtkglext-x11-1.0.la \ + $(top_builddir)/lib/gtkglext/gdk/libgdkglext-x11-1.0.la if ENABLE_GTKPLUG *************** *** 26,40 **** gtkvrmlbrowser.cpp \ flag.cpp - openvrml_gtkplug_LDADD = \ - $(top_builddir)/src/libopenvrml-gl/libopenvrml-gl.la \ - $(top_builddir)/src/libopenvrml/libopenvrml.la \ - $(top_builddir)/lib/gtkglext/gtk/libgtkglext-x11-1.0.la \ - $(top_builddir)/lib/gtkglext/gdk/libgdkglext-x11-1.0.la - openvrml_gtkplug_LDFLAGS = \ - @GTK_LIBS@ \ - @GL_LIBS@ \ - -lXmu -lXt @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ \ - -lboost_thread \ - @PTHREAD_LIBS@ EXTRA_DIST = $(openvrml_gtkplug_SOURCES) --- 38,41 ---- |
From: Braden M. <br...@us...> - 2006-10-02 03:44:00
|
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32518 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog Log Message: Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to the directory where libmozjs resides). Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.22 retrieving revision 1.1310.2.23 diff -C2 -d -r1.1310.2.22 -r1.1310.2.23 *** ChangeLog 1 Oct 2006 05:48:14 -0000 1.1310.2.22 --- ChangeLog 2 Oct 2006 03:43:57 -0000 1.1310.2.23 *************** *** 1,4 **** --- 1,14 ---- 2006-10-01 Braden McDaniel <br...@en...> + Link openvrml-gtkplug using OPENVRML_RPATH (that is, an rpath to + the directory where libmozjs resides). + + * src/openvrml-gtkplug/Makefile.am + (AM_LDFLAGS): Use instead of openvrml_gtkplug_LDFLAGS; added + OPENVRML_RPATH. + (LDADD): Use instead of openvrml_gtkplug_LDADD. + + 2006-10-01 Braden McDaniel <br...@en...> + Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this |
From: Braden M. <br...@us...> - 2006-10-01 05:48:57
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/mozilla-plugin Modified Files: Tag: OpenVRML-0_16-BRANCH Makefile.am configure.ac Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/configure.ac,v retrieving revision 1.14 retrieving revision 1.14.2.1 diff -C2 -d -r1.14 -r1.14.2.1 *** configure.ac 12 Aug 2006 05:14:58 -0000 1.14 --- configure.ac 1 Oct 2006 05:48:25 -0000 1.14.2.1 *************** *** 3,11 **** [ope...@li...]) AC_COPYRIGHT([Portions copyright 2004, 2005, 2006 Braden McDaniel]) - AC_CONFIG_SUBDIRS([lib/gtkglext]) AC_CONFIG_FILES([Makefile] ! [lib/Makefile] ! [src/Makefile] ! [src/openvrml-player/Makefile]) AM_INIT_AUTOMAKE([1.7 foreign]) --- 3,8 ---- [ope...@li...]) AC_COPYRIGHT([Portions copyright 2004, 2005, 2006 Braden McDaniel]) AC_CONFIG_FILES([Makefile] ! [src/Makefile]) AM_INIT_AUTOMAKE([1.7 foreign]) Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/mozilla-plugin/Makefile.am,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** Makefile.am 25 Dec 2004 07:49:44 -0000 1.2 --- Makefile.am 1 Oct 2006 05:48:25 -0000 1.2.2.1 *************** *** 1,3 **** ! SUBDIRS = lib src ACLOCAL_AMFLAGS = -I ../m4 --- 1,3 ---- ! SUBDIRS = src ACLOCAL_AMFLAGS = -I ../m4 |
Update of /cvsroot/openvrml/openvrml In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146 Modified Files: Tag: OpenVRML-0_16-BRANCH ChangeLog README bootstrap configure-gcc-dbg configure-gcc-opt configure.ac openvrml.spec.in Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. Index: openvrml.spec.in =================================================================== RCS file: /cvsroot/openvrml/openvrml/openvrml.spec.in,v retrieving revision 1.52.2.1 retrieving revision 1.52.2.2 diff -C2 -d -r1.52.2.1 -r1.52.2.2 *** openvrml.spec.in 14 Aug 2006 05:42:53 -0000 1.52.2.1 --- openvrml.spec.in 1 Oct 2006 05:48:14 -0000 1.52.2.2 *************** *** 59,64 **** using the OpenVRML OpenGL renderer. ! %package mozilla-plugin ! Summary: VRML browser plug-in for Mozilla-based browsers. Group: Applications/Internet License: GPL --- 59,64 ---- using the OpenVRML OpenGL renderer. ! %package gtkplug ! Summary: VRML browser GtkPlug component for embedding in GTK+ applications. Group: Applications/Internet License: GPL *************** *** 66,69 **** --- 66,77 ---- Requires: gtk2 Requires: libXmu + %description gtkplug + VRML browser GtkPlug component for embedding in GTK+ applications. + + %package mozilla-plugin + Summary: VRML browser plug-in for Mozilla-based browsers. + Group: Applications/Internet + License: GPL + Requires: %{name}-gtkplug = %{version} Requires: mozilla >= 1.6 %description mozilla-plugin *************** *** 113,125 **** %{_libdir}/pkgconfig/openvrml-gl.pc %files mozilla-plugin %doc AUTHORS COPYING ChangeLog NEWS README THANKS %{_libdir}/mozilla/plugins/openvrml.so %{_libdir}/mozilla/plugins/openvrml.xpt - %{_libexecdir}/openvrml-player %{_datadir}/idl/%{name}-%{version}/openvrml.idl %changelog * Mon Aug 14 2006 Braden McDaniel <br...@en...> - Added libXmu-devel to BuildRequires. --- 121,139 ---- %{_libdir}/pkgconfig/openvrml-gl.pc + %files gtkplug + %doc AUTHORS COPYING ChangeLog NEWS README THANKS + %{_libexecdir}/openvrml-gtkplug + %files mozilla-plugin %doc AUTHORS COPYING ChangeLog NEWS README THANKS %{_libdir}/mozilla/plugins/openvrml.so %{_libdir}/mozilla/plugins/openvrml.xpt %{_datadir}/idl/%{name}-%{version}/openvrml.idl %changelog + * Thu Sep 28 2006 Braden McDaniel <br...@en...> + - Added openvrml-gtkplug package. + * Mon Aug 14 2006 Braden McDaniel <br...@en...> - Added libXmu-devel to BuildRequires. Index: ChangeLog =================================================================== RCS file: /cvsroot/openvrml/openvrml/ChangeLog,v retrieving revision 1.1310.2.21 retrieving revision 1.1310.2.22 diff -C2 -d -r1.1310.2.21 -r1.1310.2.22 *** ChangeLog 28 Sep 2006 02:15:49 -0000 1.1310.2.21 --- ChangeLog 1 Oct 2006 05:48:14 -0000 1.1310.2.22 *************** *** 1,2 **** --- 1,545 ---- + 2006-10-01 Braden McDaniel <br...@en...> + + Build/package the GtkPlug application separately from the Mozilla + plug-in. The Mozilla plug-in is just one possible client for this + application. + + * README: Changed OPENVRML_PLAYER variable to OPENVRML_GTKPLUG. + * configure.ac: Output makefile for openvrml-gtkplug; check for + GTK+; added --disable-gtkplug option; added lib/gtkglext + subpackage. + * openvrml.spec.in: Added openvrml-gtkplug package. + * lib/Makefile.am (SUBDIRS): Added gtkglext. + * lib/gtkglext/AUTHORS: Added file. + * lib/gtkglext/COPYING: Added file. + * lib/gtkglext/COPYING.LIB: Added file. + * lib/gtkglext/ChangeLog: Added file. + * lib/gtkglext/ChangeLog.pre-1-0: Added file. + * lib/gtkglext/INSTALL: Added file. + * lib/gtkglext/Makefile.am: Added file. + * lib/gtkglext/NEWS: Added file. + * lib/gtkglext/README: Added file. + * lib/gtkglext/README.win32: Added file. + * lib/gtkglext/TODO: Added file. + * lib/gtkglext/configure.in: Added file. + * lib/gtkglext/gdkglext-uninstalled.pc.in: Added file. + * lib/gtkglext/gdkglext.pc.in: Added file. + * lib/gtkglext/gtkglext-uninstalled.pc.in: Added file. + * lib/gtkglext/gtkglext.nsi.in: Added file. + * lib/gtkglext/gtkglext.pc.in: Added file. + * lib/gtkglext/gtkglext.spec.in: Added file. + * lib/gtkglext/setup-gtkglext.sh: Added file. + * lib/gtkglext/docs/Makefile.am: Added file. + * lib/gtkglext/docs/reference/Makefile.am: Added file. + * lib/gtkglext/docs/reference/gtkglext/Makefile.am: Added file. + * lib/gtkglext/docs/reference/gtkglext/building.sgml: Added file. + * lib/gtkglext/docs/reference/gtkglext/gtkglext-docs.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/gtkglext-overrides.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/gtkglext-sections.txt: + Added file. + * lib/gtkglext/docs/reference/gtkglext/gtkglext.types: Added file. + * lib/gtkglext/docs/reference/gtkglext/running.sgml: Added file. + * lib/gtkglext/docs/reference/gtkglext/version.xml.in: Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgl.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglconfig.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglcontext.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgldefs.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgldrawable.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglfont.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglinit.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglpixmap.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglquery.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglshapes.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgltokens.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglversion.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglwindow.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglx.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkgl.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkgldefs.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglext-unused.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglinit.sgml: Added + file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglversion.sgml: + Added file. + * lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglwidget.sgml: + Added file. + * lib/gtkglext/examples/Makefile.am: Added file. + * lib/gtkglext/examples/Makefile.mingw: Added file. + * lib/gtkglext/examples/Makefile.msc: Added file. + * lib/gtkglext/examples/alien.lwo: Added file. + * lib/gtkglext/examples/button.c: Added file. + * lib/gtkglext/examples/color.c: Added file. + * lib/gtkglext/examples/coolwave.c: Added file. + * lib/gtkglext/examples/coolwave2.c: Added file. + * lib/gtkglext/examples/font-pangoft2-tex.c: Added file. + * lib/gtkglext/examples/font-pangoft2.c: Added file. + * lib/gtkglext/examples/font.c: Added file. + * lib/gtkglext/examples/gears.c: Added file. + * lib/gtkglext/examples/girl.rgb: Added file. + * lib/gtkglext/examples/glxinfo.c: Added file. + * lib/gtkglext/examples/logo-g.c: Added file. + * lib/gtkglext/examples/logo-k.c: Added file. + * lib/gtkglext/examples/logo-model.c: Added file. + * lib/gtkglext/examples/logo-model.h: Added file. + * lib/gtkglext/examples/logo-t.c: Added file. + * lib/gtkglext/examples/logo.c: Added file. + * lib/gtkglext/examples/low-level.c: Added file. + * lib/gtkglext/examples/lw.c: Added file. + * lib/gtkglext/examples/lw.h: Added file. + * lib/gtkglext/examples/multiarb.c: Added file. + * lib/gtkglext/examples/penguin.lwo: Added file. + * lib/gtkglext/examples/pixmap-mixed.c: Added file. + * lib/gtkglext/examples/pixmap.c: Added file. + * lib/gtkglext/examples/readtex.c: Added file. + * lib/gtkglext/examples/readtex.h: Added file. + * lib/gtkglext/examples/reflect.rgb: Added file. + * lib/gtkglext/examples/rotating-square.c: Added file. + * lib/gtkglext/examples/scribble-gl.c: Added file. + * lib/gtkglext/examples/shapes.c: Added file. + * lib/gtkglext/examples/share-lists.c: Added file. + * lib/gtkglext/examples/simple-mixed.c: Added file. + * lib/gtkglext/examples/simple-pbuffer-sgix.c: Added file. + * lib/gtkglext/examples/simple.c: Added file. + * lib/gtkglext/examples/template.c: Added file. + * lib/gtkglext/examples/trackball.c: Added file. + * lib/gtkglext/examples/trackball.h: Added file. + * lib/gtkglext/examples/viewlw.c: Added file. + * lib/gtkglext/examples/wglinfo.c: Added file. + * lib/gtkglext/examples/glade/Makefile.am: Added file. + * lib/gtkglext/examples/glade/README: Added file. + * lib/gtkglext/examples/glade/share-lists.c: Added file. + * lib/gtkglext/examples/glade/share-lists.glade: Added file. + * lib/gtkglext/examples/glade/simple.c: Added file. + * lib/gtkglext/examples/glade/simple.glade: Added file. + * lib/gtkglext/gdk/Makefile.am: Added file. + * lib/gtkglext/gdk/gdkgl.h: Added file. + * lib/gtkglext/gdk/gdkglconfig.c: Added file. + * lib/gtkglext/gdk/gdkglconfig.h: Added file. + * lib/gtkglext/gdk/gdkglcontext.c: Added file. + * lib/gtkglext/gdk/gdkglcontext.h: Added file. + * lib/gtkglext/gdk/gdkgldebug.h: Added file. + * lib/gtkglext/gdk/gdkgldefs.h: Added file. + * lib/gtkglext/gdk/gdkgldrawable.c: Added file. + * lib/gtkglext/gdk/gdkgldrawable.h: Added file. + * lib/gtkglext/gdk/gdkglenumtypes.c: Added file. + * lib/gtkglext/gdk/gdkglenumtypes.h: Added file. + * lib/gtkglext/gdk/gdkglext-gtk20.def: Added file. + * lib/gtkglext/gdk/gdkglext.def: Added file. + * lib/gtkglext/gdk/gdkglfont.h: Added file. + * lib/gtkglext/gdk/gdkglglext.c: Added file. + * lib/gtkglext/gdk/gdkglglext.h: Added file. + * lib/gtkglext/gdk/gdkglinit.c: Added file. + * lib/gtkglext/gdk/gdkglinit.h: Added file. + * lib/gtkglext/gdk/gdkglpixmap.c: Added file. + * lib/gtkglext/gdk/gdkglpixmap.h: Added file. + * lib/gtkglext/gdk/gdkglprivate.h: Added file. + * lib/gtkglext/gdk/gdkglquery.c: Added file. + * lib/gtkglext/gdk/gdkglquery.h: Added file. + * lib/gtkglext/gdk/gdkglshapes.c: Added file. + * lib/gtkglext/gdk/gdkglshapes.h: Added file. + * lib/gtkglext/gdk/gdkgltokens.h: Added file. + * lib/gtkglext/gdk/gdkgltypes.h: Added file. + * lib/gtkglext/gdk/gdkglversion.c: Added file. + * lib/gtkglext/gdk/gdkglversion.h.in: Added file. + * lib/gtkglext/gdk/gdkglwindow.c: Added file. + * lib/gtkglext/gdk/gdkglwindow.h: Added file. + * lib/gtkglext/gdk/glext/Makefile.am: Added file. + * lib/gtkglext/gdk/glext/README: Added file. + * lib/gtkglext/gdk/glext/common-header.h: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglglext-c.pl: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglglext-h.pl: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglglxext-c.pl: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglglxext-h.pl: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglwglext-c.pl: Added file. + * lib/gtkglext/gdk/glext/gen-gdkglwglext-h.pl: Added file. + * lib/gtkglext/gdk/glext/glext-extra.h: Added file. + * lib/gtkglext/gdk/glext/glext.h: Added file. + * lib/gtkglext/gdk/glext/glxext-extra.h: Added file. + * lib/gtkglext/gdk/glext/glxext.h: Added file. + * lib/gtkglext/gdk/glext/list-ext.pl: Added file. + * lib/gtkglext/gdk/glext/wglext-extra.h: Added file. + * lib/gtkglext/gdk/glext/wglext.h: Added file. + * lib/gtkglext/gdk/win32/Makefile.am: Added file. + * lib/gtkglext/gdk/win32/gdkglconfig-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglconfig-win32.h: Added file. + * lib/gtkglext/gdk/win32/gdkglcontext-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglcontext-win32.h: Added file. + * lib/gtkglext/gdk/win32/gdkgldrawable-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglfont-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglpixmap-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglpixmap-win32.h: Added file. + * lib/gtkglext/gdk/win32/gdkglprivate-win32.h: Added file. + * lib/gtkglext/gdk/win32/gdkglquery-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglwglext.c: Added file. + * lib/gtkglext/gdk/win32/gdkglwglext.h: Added file. + * lib/gtkglext/gdk/win32/gdkglwin32.h: Added file. + * lib/gtkglext/gdk/win32/gdkglwindow-win32.c: Added file. + * lib/gtkglext/gdk/win32/gdkglwindow-win32.h: Added file. + * lib/gtkglext/gdk/x11/Makefile.am: Added file. + * lib/gtkglext/gdk/x11/gdkglconfig-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglconfig-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkglcontext-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglcontext-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkgldrawable-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglfont-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglglxext.c: Added file. + * lib/gtkglext/gdk/x11/gdkglglxext.h: Added file. + * lib/gtkglext/gdk/x11/gdkgloverlay-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkgloverlay-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkglpixmap-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglpixmap-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkglprivate-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkglquery-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglwindow-x11.c: Added file. + * lib/gtkglext/gdk/x11/gdkglwindow-x11.h: Added file. + * lib/gtkglext/gdk/x11/gdkglx.h: Added file. + * lib/gtkglext/gtk/Makefile.am: Added file. + * lib/gtkglext/gtk/gtkgl.h: Added file. + * lib/gtkglext/gtk/gtkgldebug.h: Added file. + * lib/gtkglext/gtk/gtkgldefs.h: Added file. + * lib/gtkglext/gtk/gtkglext.def: Added file. + * lib/gtkglext/gtk/gtkglinit.c: Added file. + * lib/gtkglext/gtk/gtkglinit.h: Added file. + * lib/gtkglext/gtk/gtkglprivate.h: Added file. + * lib/gtkglext/gtk/gtkglversion.c: Added file. + * lib/gtkglext/gtk/gtkglversion.h.in: Added file. + * lib/gtkglext/gtk/gtkglwidget.c: Added file. + * lib/gtkglext/gtk/gtkglwidget.h: Added file. + * lib/gtkglext/m4macros/Makefile.am: Added file. + * lib/gtkglext/m4macros/gtkglext.m4: Added file. + * mozilla-plugin/Makefile.am (SUBDIRS): Removed reference to lib + subdirectory. + * mozilla-plugin/configure.ac: Removed references to lib/gtkglext + subpackage; removed references to openvrml-player. + * mozilla-plugin/lib/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/AUTHORS: Removed file. + * mozilla-plugin/lib/gtkglext/COPYING: Removed file. + * mozilla-plugin/lib/gtkglext/COPYING.LIB: Removed file. + * mozilla-plugin/lib/gtkglext/ChangeLog: Removed file. + * mozilla-plugin/lib/gtkglext/ChangeLog.pre-1-0: Removed file. + * mozilla-plugin/lib/gtkglext/INSTALL: Removed file. + * mozilla-plugin/lib/gtkglext/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/NEWS: Removed file. + * mozilla-plugin/lib/gtkglext/README: Removed file. + * mozilla-plugin/lib/gtkglext/README.win32: Removed file. + * mozilla-plugin/lib/gtkglext/TODO: Removed file. + * mozilla-plugin/lib/gtkglext/autogen.sh: Removed file. + * mozilla-plugin/lib/gtkglext/configure.in: Removed file. + * mozilla-plugin/lib/gtkglext/gdkglext-uninstalled.pc.in: Removed + file. + * mozilla-plugin/lib/gtkglext/gdkglext.pc.in: Removed file. + * mozilla-plugin/lib/gtkglext/gtkglext-uninstalled.pc.in: Removed + file. + * mozilla-plugin/lib/gtkglext/gtkglext.nsi.in: Removed file. + * mozilla-plugin/lib/gtkglext/gtkglext.pc.in: Removed file. + * mozilla-plugin/lib/gtkglext/gtkglext.spec.in: Removed file. + * mozilla-plugin/lib/gtkglext/make-copyright.sh: Removed file. + * mozilla-plugin/lib/gtkglext/setup-gtkglext.sh: Removed file. + * mozilla-plugin/lib/gtkglext/docs/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/Makefile.am: Removed + file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/Makefile.am: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/building.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext-decl-list.txt: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext-decl.txt: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext-docs.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext-sections.txt: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext-undocumented.txt: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/gtkglext.types: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/running.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/version.xml.in: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgl.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglconfig.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglcontext.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgldefs.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgldrawable.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglfont.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglinit.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglpixmap.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglquery.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglshapes.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkgltokens.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglversion.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglwindow.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gdkglx.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkgl.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkgldefs.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglext-unused.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglinit.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglversion.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/docs/reference/gtkglext/tmpl/gtkglwidget.sgml: + Removed file. + * mozilla-plugin/lib/gtkglext/examples/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/examples/Makefile.mingw: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/Makefile.msc: Removed file. + * mozilla-plugin/lib/gtkglext/examples/alien.lwo: Removed file. + * mozilla-plugin/lib/gtkglext/examples/button.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/color.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/coolwave.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/coolwave2.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/font-pangoft2-tex.c: + Removed file. + * mozilla-plugin/lib/gtkglext/examples/font-pangoft2.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/font.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/gears.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/girl.rgb: Removed file. + * mozilla-plugin/lib/gtkglext/examples/glxinfo.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo-g.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo-k.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo-model.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo-model.h: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo-t.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/logo.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/low-level.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/lw.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/lw.h: Removed file. + * mozilla-plugin/lib/gtkglext/examples/multiarb.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/penguin.lwo: Removed file. + * mozilla-plugin/lib/gtkglext/examples/pixmap-mixed.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/pixmap.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/readtex.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/readtex.h: Removed file. + * mozilla-plugin/lib/gtkglext/examples/reflect.rgb: Removed file. + * mozilla-plugin/lib/gtkglext/examples/rotating-square.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/scribble-gl.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/shapes.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/share-lists.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/simple-mixed.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/simple-pbuffer-sgix.c: + Removed file. + * mozilla-plugin/lib/gtkglext/examples/simple.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/template.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/trackball.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/trackball.h: Removed file. + * mozilla-plugin/lib/gtkglext/examples/viewlw.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/wglinfo.c: Removed file. + * mozilla-plugin/lib/gtkglext/examples/glade/Makefile.am: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/glade/README: Removed file. + * mozilla-plugin/lib/gtkglext/examples/glade/share-lists.c: + Removed file. + * mozilla-plugin/lib/gtkglext/examples/glade/share-lists.glade: + Removed file. + * mozilla-plugin/lib/gtkglext/examples/glade/simple.c: Removed + file. + * mozilla-plugin/lib/gtkglext/examples/glade/simple.glade: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgl.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglconfig.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglconfig.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglcontext.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglcontext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgldebug.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgldefs.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgldrawable.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgldrawable.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglext-gtk20.def: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglext.def: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglfont.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglglext.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglglext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglinit.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglinit.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglpixmap.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglpixmap.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglprivate.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglquery.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglquery.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglshapes.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglshapes.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgltokens.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkgltypes.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglversion.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglversion.h.in: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglwindow.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gdkglwindow.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/gen-def-file.sh: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/README: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/common-header.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglglext-c.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglglext-h.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglglxext-c.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglglxext-h.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglwglext-c.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/gen-gdkglwglext-h.pl: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/glext-extra.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/glext/glext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/glxext-extra.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/glext/glxext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/list-ext.pl: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/glext/wglext-extra.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/glext/wglext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglconfig-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglconfig-win32.h: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglcontext-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglcontext-win32.h: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkgldrawable-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglfont-win32.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglpixmap-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglpixmap-win32.h: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglprivate-win32.h: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglquery-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglwglext.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglwglext.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglwin32.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglwindow-win32.c: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/win32/gdkglwindow-win32.h: + Removed file. + * mozilla-plugin/lib/gtkglext/gdk/x11/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglconfig-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglconfig-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglcontext-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglcontext-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkgldrawable-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglfont-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglglxext.c: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglglxext.h: Removed file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkgloverlay-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkgloverlay-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglpixmap-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglpixmap-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglprivate-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglquery-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglwindow-x11.c: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglwindow-x11.h: Removed + file. + * mozilla-plugin/lib/gtkglext/gdk/x11/gdkglx.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gen-def-file.sh: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkgl.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkgldebug.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkgldefs.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglext.def: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglinit.c: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglinit.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglprivate.h: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglversion.c: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglversion.h.in: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglwidget.c: Removed file. + * mozilla-plugin/lib/gtkglext/gtk/gtkglwidget.h: Removed file. + * mozilla-plugin/lib/gtkglext/m4macros/Makefile.am: Removed file. + * mozilla-plugin/lib/gtkglext/m4macros/gtkglext.m4: Removed file. + * mozilla-plugin/src/Makefile.am (SUBDIRS): Removed + openvrml-player. + * mozilla-plugin/src/openvrml.cpp + (PluginInstance::SetWindow(NPWindow &)): Changed use of + OPENVRML_PLAYER environment variable to OPENVRML_GTKPLUG; call + openvrml-gtkplug instead of openvrml-player. + * mozilla-plugin/src/openvrml-player/Makefile.am: Removed file. + * mozilla-plugin/src/openvrml-player/bounded_buffer.h: Removed + file. + * mozilla-plugin/src/openvrml-player/command_istream.cpp: Removed + file. + * mozilla-plugin/src/openvrml-player/command_istream.h: Removed + file. + * mozilla-plugin/src/openvrml-player/flag.cpp: Removed file. + * mozilla-plugin/src/openvrml-player/flag.h: Removed file. + * mozilla-plugin/src/openvrml-player/gtkvrmlbrowser.cpp: Removed + file. + * mozilla-plugin/src/openvrml-player/gtkvrmlbrowser.h: Removed + file. + * mozilla-plugin/src/openvrml-player/player.cpp: Removed file. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.cpp: Removed + file. + * mozilla-plugin/src/openvrml-player/plugin_streambuf.h: Removed + file. + * src/Makefile.am (SUBDIRS): Added openvrml-gtkplug. + 2006-09-27 Braden McDaniel <br...@en...> Index: bootstrap =================================================================== RCS file: /cvsroot/openvrml/openvrml/bootstrap,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** bootstrap 29 Mar 2006 08:11:53 -0000 1.1 --- bootstrap 1 Oct 2006 05:48:14 -0000 1.1.2.1 *************** *** 1 **** --- 1,3 ---- + #!/bin/sh + ( cd lib/gtkglext && gtkdocize ) autoreconf --install --symlink Index: configure-gcc-dbg =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure-gcc-dbg,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** configure-gcc-dbg 29 Mar 2006 08:11:53 -0000 1.1 --- configure-gcc-dbg 1 Oct 2006 05:48:14 -0000 1.1.2.1 *************** *** 1,3 **** #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static CXXFLAGS='-g -O0 -Wall -Wextra -Wno-missing-braces' $* --- 1,3 ---- #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --enable-gtk-doc CXXFLAGS='-g -O0 -Wall -Wextra -Wno-missing-braces' $* Index: configure.ac =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure.ac,v retrieving revision 1.92.2.1 retrieving revision 1.92.2.2 diff -C2 -d -r1.92.2.1 -r1.92.2.2 *** configure.ac 22 Sep 2006 01:04:45 -0000 1.92.2.1 --- configure.ac 1 Oct 2006 05:48:14 -0000 1.92.2.2 *************** *** 20,23 **** --- 20,24 ---- [src/libopenvrml-gl/Makefile] [src/libopenvrml-gl/openvrml-gl-config.h] + [src/openvrml-gtkplug/Makefile] [examples/Makefile] [tests/Makefile] *************** *** 106,110 **** PKG_CHECK_MODULES([JS], [$REQUIRE_MOZILLA_JS], , [have_js=no]) ! AX_CHECK_GLU --- 107,112 ---- PKG_CHECK_MODULES([JS], [$REQUIRE_MOZILLA_JS], , [have_js=no]) ! PKG_CHECK_MODULES([GTK], [gtk+-2.0], , [have_gtk=no]) ! AC_PATH_XTRA AX_CHECK_GLU *************** *** 272,275 **** --- 274,294 ---- # + # build the GtkPlug + # + AC_ARG_ENABLE([gtkplug], + [AC_HELP_STRING([--disable-gtkplug], + [do not build the GtkPlug application])]) + if test X$enable_gtkplug != Xno; then + if test X$have_gtk = Xno; then + AC_MSG_FAILURE([GTK+ is required to build the GtkPlug]) + fi + if test X$enable_gl_renderer = Xno; then + AC_MSG_FAILURE([the Mozilla plug-in cannot be built without the GL renderer]) + fi + fi + AM_CONDITIONAL([ENABLE_GTKPLUG], + [test X$enable_gtkplug != Xno -a X$have_gtk != Xno]) + + # # build Mozilla plug-in # *************** *** 278,286 **** [do not build the Mozilla plug-in])]) if test X$enable_mozilla_plugin != Xno; then ! if test X$enable_gl_renderer = Xno; then ! AC_MSG_FAILURE([the Mozilla plug-in cannot be built without the GL renderer]) fi fi # # build examples --- 297,313 ---- [do not build the Mozilla plug-in])]) if test X$enable_mozilla_plugin != Xno; then ! if test X$enable_gtkplug = Xno; then ! AC_MSG_FAILURE([the Mozilla plug-in cannot be built without the GtkPlug application]) fi fi + if test X$enable_gtkplug != Xno; then + if test X$have_gtk = Xno; then + AC_MSG_FAILURE([GTK+ is required to build the GtkPlug]) + fi + fi + AM_CONDITIONAL([ENABLE_GTKPLUG], + [test X$enable_gtkplug != Xno -a X$have_gtk != Xno]) + # # build examples *************** *** 316,320 **** AC_ARG_VAR([XPIDL], [Mozilla XPCOM IDL compiler]) AC_ARG_VAR([XPIDLFLAGS], [Mozilla XPCOM IDL compiler flags]) ! AC_CONFIG_SUBDIRS([mozilla-plugin]) AC_CONFIG_TESTDIR([tests]) --- 343,347 ---- AC_ARG_VAR([XPIDL], [Mozilla XPCOM IDL compiler]) AC_ARG_VAR([XPIDLFLAGS], [Mozilla XPCOM IDL compiler flags]) ! AC_CONFIG_SUBDIRS([lib/gtkglext mozilla-plugin]) AC_CONFIG_TESTDIR([tests]) Index: configure-gcc-opt =================================================================== RCS file: /cvsroot/openvrml/openvrml/configure-gcc-opt,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** configure-gcc-opt 29 Mar 2006 08:11:53 -0000 1.1 --- configure-gcc-opt 1 Oct 2006 05:48:14 -0000 1.1.2.1 *************** *** 1,3 **** #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --disable-exception-specs CXXFLAGS='-Os -Wall -Wextra -Wno-missing-braces -fvisibility=hidden' $* --- 1,3 ---- #!/bin/bash ! ./$(dirname $0)/configure -C --disable-static --disable-exception-specs --enable-gtk-doc CXXFLAGS='-Os -Wall -Wextra -Wno-missing-braces -fvisibility=hidden' $* Index: README =================================================================== RCS file: /cvsroot/openvrml/openvrml/README,v retrieving revision 1.65 retrieving revision 1.65.2.1 diff -C2 -d -r1.65 -r1.65.2.1 *** README 12 Aug 2006 05:14:58 -0000 1.65 --- README 1 Oct 2006 05:48:14 -0000 1.65.2.1 *************** *** 257,265 **** based browser will show a listing of successfully installed plug-ins. ! It is possible, for testing or other convenience, to run the plug-in ! from the build directories. A symbolic link to the plug-in module ! "openvrml.so" must be made in the Mozilla plug-in directory and the ! environment variable "OPENVRML_PLAYER" must be set to the full path name ! of the "openvrml-player" executable. --- 257,265 ---- based browser will show a listing of successfully installed plug-ins. ! It is possible, for testing or other convenience, to run the ! plug-in from the build directories. A symbolic link to the plug-in ! module "openvrml.so" must be made in the Mozilla plug-in directory and ! the environment variable "OPENVRML_GTKPLUG" must be set to the full ! path name of the "openvrml-gtkplug" executable. |
From: Braden M. <br...@us...> - 2006-10-01 05:48:47
|
Update of /cvsroot/openvrml/openvrml/lib In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/lib Modified Files: Tag: OpenVRML-0_16-BRANCH Makefile.am Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/lib/Makefile.am,v retrieving revision 1.4 retrieving revision 1.4.4.1 diff -C2 -d -r1.4 -r1.4.4.1 *** Makefile.am 29 Oct 2004 15:59:07 -0000 1.4 --- Makefile.am 1 Oct 2006 05:48:15 -0000 1.4.4.1 *************** *** 1 **** ! SUBDIRS = antlr --- 1 ---- ! SUBDIRS = antlr gtkglext |
From: Braden M. <br...@us...> - 2006-10-01 05:48:35
|
Update of /cvsroot/openvrml/openvrml/src/openvrml-gtkplug In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/src/openvrml-gtkplug Added Files: Tag: OpenVRML-0_16-BRANCH .cvsignore Makefile.am bounded_buffer.h command_istream.cpp command_istream.h flag.cpp flag.h gtkvrmlbrowser.cpp gtkvrmlbrowser.h main.cpp plugin_streambuf.cpp plugin_streambuf.h Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. --- NEW FILE: .cvsignore --- Makefile Makefile.in openvrml-player --- NEW FILE: main.cpp --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # include <iostream> # include <sstream> # include <boost/lexical_cast.hpp> # include <boost/thread/thread.hpp> # include <unistd.h> // Must include before X11 headers. # include <boost/numeric/conversion/converter.hpp> # include <gtk/gtk.h> # include <openvrml/browser.h> # include "gtkvrmlbrowser.h" # include "command_istream.h" # include "plugin_streambuf.h" # include "flag.h" using namespace openvrml_player; namespace { const char application_name[] = "OpenVRML GtkPlug"; // // We don't already know what the URI of the initial stream is until we // start getting that data from the browser. This is a placeholder that // is used to identify the plugin_streambuf that will be used to receive // the initial stream data. // const char initial_stream_uri[] = "x-openvrml-initial:"; // // Used to signal the various threads that we're done. "quit" is // initiated when the command_istream gets EOF. At that point, the // command_istream_reader thread sets quit_flag to true. This flag is // checked by the command_channel_loop thread and the main (rendering) // thread, signaling them to terminate. // flag quit_flag; } namespace openvrml_player { struct command_istream_reader { explicit command_istream_reader(command_istream & in): in_(&in) {} void operator()() const throw () { using std::string; string command_line; while (getline(*this->in_, command_line)) { using std::istringstream; istringstream command_line_stream(command_line); string command; command_line_stream >> command; if (command == "get-url-result") { using boost::shared_ptr; std::string url; int result; command_line_stream >> url >> result; shared_ptr<plugin_streambuf> streambuf = uninitialized_plugin_streambuf_map_.find(url); assert(streambuf); streambuf->set_get_url_result(result); } else if (command == "new-stream") { using boost::shared_ptr; size_t stream_id; std::string type, url; command_line_stream >> stream_id >> type >> url; shared_ptr<plugin_streambuf> streambuf = uninitialized_plugin_streambuf_map_.find(url); static bool got_initial_stream = false; if (!streambuf) { if (!got_initial_stream) { g_assert(uninitialized_plugin_streambuf_map_.size() == 1); streambuf = uninitialized_plugin_streambuf_map_.front(); got_initial_stream = true; } else { g_warning("Attempt to create an unrequested " "stream."); continue; } } streambuf->init(stream_id, url, type); } else if (command == "destroy-stream") { size_t stream_id; command_line_stream >> stream_id; plugin_streambuf_map_t::iterator pos = plugin_streambuf_map.find(stream_id); if (pos == plugin_streambuf_map.end()) { g_warning("Attempt to destroy a nonexistent stream."); continue; } pos->second->buf_.set_eof(); plugin_streambuf_map.erase(pos); } else if (command == "write") { size_t stream_id, offset, length; command_line_stream >> stream_id >> offset >> length; plugin_streambuf_map_t::const_iterator pos = plugin_streambuf_map.find(stream_id); if (pos == plugin_streambuf_map.end()) { g_warning("Attempt to write to a nonexistent stream."); continue; } for (size_t i = 0; i < length; ++i) { pos->second->buf_.put(this->in_->get()); } } } // // Got EOF from the command stream. Time to shut down. // ::quit_flag.value(true); // // We can safely shut down the Gtk main loop from here. // // (However, trying to shut down the command_main loop results in // it deadlocking in g_main_context_check's call to poll. So we // still use the annoying quit_flag condition variable (see above) // to end that thread). // gtk_main_quit(); } private: command_istream * in_; }; } extern "C" gboolean openvrml_player_command_channel_loop_quit_event(gpointer data); namespace { gchar ** args; GOptionEntry options[] = { { G_OPTION_REMAINING, '\0', 0, G_OPTION_ARG_STRING_ARRAY, &args, "a GtkSocket id", "GTK-SOCKET-ID" }, { 0, '\0', 0, G_OPTION_ARG_NONE, 0, 0, 0 } }; struct initial_stream_reader { initial_stream_reader( const boost::shared_ptr<plugin_streambuf> & streambuf, GtkVrmlBrowser & vrml_browser): streambuf_(streambuf), vrml_browser_(&vrml_browser) {} void operator()() const throw () { class plugin_istream : public openvrml::resource_istream { boost::shared_ptr<plugin_streambuf> streambuf_; public: explicit plugin_istream( const boost::shared_ptr<plugin_streambuf> & streambuf): openvrml::resource_istream(streambuf.get()), streambuf_(streambuf) {} virtual ~plugin_istream() throw () {} private: virtual const std::string do_url() const throw (std::bad_alloc) { return this->streambuf_->url(); } virtual const std::string do_type() const throw (std::bad_alloc) { return this->streambuf_->type(); } virtual bool do_data_available() const throw () { return this->streambuf_->data_available(); } } in(this->streambuf_); gtk_vrml_browser_set_world(this->vrml_browser_, in); } private: boost::shared_ptr<plugin_streambuf> streambuf_; GtkVrmlBrowser * vrml_browser_; }; GIOChannel * request_channel; struct command_channel_loop { explicit command_channel_loop(GMainLoop & main_loop): main_loop_(&main_loop) {} void operator()() const throw () { GSource * const quit = g_idle_source_new(); const GDestroyNotify notify = 0; g_source_set_callback( quit, ::openvrml_player_command_channel_loop_quit_event, this->main_loop_, notify); guint source_id = g_source_attach(quit, g_main_loop_get_context(this->main_loop_)); g_return_if_fail(source_id != 0); g_main_loop_run(this->main_loop_); } private: GMainLoop * main_loop_; }; } int main(int argc, char * argv[]) { using std::cerr; using std::endl; using std::vector; using boost::function0; using boost::shared_ptr; using boost::thread; using boost::thread_group; using namespace openvrml_player; g_set_application_name(application_name); gtk_init(&argc, &argv); gtk_gl_init(&argc, &argv); GError * error = 0; GOptionContext * const context = g_option_context_new("- render VRML worlds"); const gchar * const translation_domain = 0; g_option_context_add_main_entries(context, options, translation_domain); g_option_context_add_group(context, gtk_get_option_group(true)); gboolean succeeded = g_option_context_parse(context, &argc, &argv, &error); if (!succeeded) { if (error) { g_critical(error->message); g_error_free(error); } return EXIT_FAILURE; } if (!args) { cerr << argv[0] << ": missing required GTK-SOCKET-ID argument" << endl; return EXIT_FAILURE; } GdkNativeWindow socket_id; try { socket_id = boost::lexical_cast<GdkNativeWindow>(args[0]); } catch (const boost::bad_lexical_cast & ex) { cerr << argv[0] << ": expected integer value for GTK-SOCKET-ID " "argument" << endl; return EXIT_FAILURE; } command_istream command_in; ::request_channel = g_io_channel_unix_new(1); // stdout GtkWidget * const window = gtk_plug_new(socket_id); GtkWidget * const vrml_browser = gtk_vrml_browser_new(::request_channel); gtk_container_add(GTK_CONTAINER(window), vrml_browser); gtk_widget_show_all(window); thread_group threads; GMainContext * command_main_context = 0; GMainLoop * command_main = 0; GIOChannel * command_channel = 0; GSource * command_watch = 0; command_main_context = g_main_context_new(); command_main = g_main_loop_new(command_main_context, false); command_channel = g_io_channel_unix_new(0); // stdin error = 0; GIOStatus status = g_io_channel_set_encoding(command_channel, 0, // binary (no encoding) &error); if (status != G_IO_STATUS_NORMAL) { if (error) { g_critical(error->message); g_error_free(error); } return EXIT_FAILURE; } command_watch = g_io_create_watch(command_channel, GIOCondition(G_IO_IN | G_IO_HUP)); const GDestroyNotify notify = 0; g_source_set_callback( command_watch, reinterpret_cast<GSourceFunc>(::command_data_available), static_cast<command_streambuf *>(command_in.rdbuf()), notify); guint source_id = g_source_attach(command_watch, command_main_context); g_return_val_if_fail(source_id != 0, EXIT_FAILURE); function0<void> command_channel_loop_func = command_channel_loop(*command_main); threads.create_thread(command_channel_loop_func); shared_ptr<plugin_streambuf> initial_stream( new plugin_streambuf(initial_stream_uri)); uninitialized_plugin_streambuf_map_.insert(initial_stream_uri, initial_stream); function0<void> initial_stream_reader_func = initial_stream_reader(initial_stream, *GTK_VRML_BROWSER(vrml_browser)); threads.create_thread(initial_stream_reader_func); function0<void> read_commands = command_istream_reader(command_in); threads.create_thread(read_commands); gtk_main(); threads.join_all(); g_source_unref(command_watch); status = g_io_channel_shutdown(command_channel, true, &error); if (status != G_IO_STATUS_NORMAL) { if (error) { g_critical(error->message); g_error_free(error); } } g_io_channel_unref(command_channel); g_main_loop_unref(command_main); g_main_context_unref(command_main_context); if (::request_channel) { GError * error = 0; const gboolean flush = false; GIOStatus status = g_io_channel_shutdown(::request_channel, flush, &error); if (status != G_IO_STATUS_NORMAL) { if (error) { g_critical(error->message); g_error_free(error); } } } g_io_channel_unref(::request_channel); } gboolean openvrml_player_command_channel_loop_quit_event(const gpointer data) { GMainLoop * const main_loop = static_cast<GMainLoop *>(data); if (::quit_flag.value()) { g_main_loop_quit(main_loop); return false; } return true; } --- NEW FILE: gtkvrmlbrowser.cpp --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # include <iostream> # include <sstream> // Must include before X11 headers. # include <boost/numeric/conversion/converter.hpp> # include <X11/keysym.h> # include <gdk/gdkx.h> # include <openvrml/browser.h> # include <openvrml/gl/viewer.h> # include "gtkvrmlbrowser.h" # include "plugin_streambuf.h" extern "C" { void gtk_vrml_browser_class_init(GtkVrmlBrowserClass * klass); void gtk_vrml_browser_init(GtkVrmlBrowser * vrml_browser); G_GNUC_INTERNAL gboolean gtk_vrml_browser_destroy(GtkWidget * widget, GdkEvent * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_realize(GtkWidget * widget, GdkEvent * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_expose_event(GtkWidget * widget, GdkEventExpose * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_configure_event(GtkWidget * widget, GdkEventConfigure * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_key_press_event(GtkWidget * widget, GdkEventKey * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_button_press_event(GtkWidget * widget, GdkEventButton * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_button_release_event(GtkWidget * widget, GdkEventButton * event, gpointer data); G_GNUC_INTERNAL gboolean gtk_vrml_browser_motion_notify_event(GtkWidget * widget, GdkEventMotion * event, gpointer data); G_GNUC_INTERNAL gint gtk_vrml_browser_timeout_callback(gpointer ptr); } GType gtk_vrml_browser_get_type() { static GType type = 0; if (!type) { static const GTypeInfo info = { sizeof (GtkVrmlBrowserClass), 0, // base_init 0, // base_finalize reinterpret_cast<GClassInitFunc>(gtk_vrml_browser_class_init), 0, // class_finalize 0, // class_data sizeof (GtkVrmlBrowser), 0, // n_preallocs reinterpret_cast<GInstanceInitFunc>(gtk_vrml_browser_init), 0 // value_table }; type = g_type_register_static(GTK_TYPE_DRAWING_AREA, "GtkVrmlBrowser", &info, GTypeFlags(0)); } return type; } namespace { G_GNUC_INTERNAL GdkGLConfig * gl_config; class G_GNUC_INTERNAL browser : public openvrml::browser { GIOChannel * request_channel_; public: explicit browser(GIOChannel & request_channel); private: virtual std::auto_ptr<openvrml::resource_istream> do_get_resource(const std::string & uri); }; class G_GNUC_INTERNAL GtkGLViewer : public openvrml::gl::viewer { friend void (::gtk_vrml_browser_load_url)(GtkVrmlBrowser * vrml_browser, const gchar ** url, const gchar ** parameter); friend void (::gtk_vrml_browser_set_world)(GtkVrmlBrowser * vrml_browser, openvrml::resource_istream & in); friend gint (::gtk_vrml_browser_timeout_callback)(gpointer ptr); friend gboolean (::gtk_vrml_browser_expose_event)(GtkWidget *, GdkEventExpose *, gpointer); ::browser browser_; GtkVrmlBrowser & vrml_browser_; guint timer; public: bool redrawNeeded; GtkGLViewer(GIOChannel & request_channel, GtkVrmlBrowser & vrml_browser); virtual ~GtkGLViewer() throw (); void timer_update(); protected: // // Implement pure virtual methods from openvrml::gl::viewer. // virtual void post_redraw(); virtual void set_cursor(openvrml::gl::viewer::cursor_style); virtual void swap_buffers(); virtual void set_timer(double); }; } GtkWidget * gtk_vrml_browser_new(GIOChannel * const request_channel) { GtkVrmlBrowser * const vrml_browser = GTK_VRML_BROWSER(g_object_new(GTK_TYPE_VRML_BROWSER, 0)); try { vrml_browser->viewer = new GtkGLViewer(*request_channel, *vrml_browser); } catch (std::bad_alloc &) { g_return_val_if_reached(0); } static_cast<GtkGLViewer *>(vrml_browser->viewer) ->resize(GTK_WIDGET(vrml_browser)->allocation.width, GTK_WIDGET(vrml_browser)->allocation.height); return GTK_WIDGET(vrml_browser); } void gtk_vrml_browser_load_url(GtkVrmlBrowser * const vrml_browser, const gchar ** url, const gchar ** parameter) { using std::string; using std::vector; GtkGLViewer & viewer = *static_cast<GtkGLViewer *>(vrml_browser->viewer); vector<string> url_vec, param_vec; while (url && *url) { url_vec.push_back(*(url++)); } while (parameter && *parameter) { param_vec.push_back(*(parameter++)); } viewer.browser_.load_url(url_vec, param_vec); } void gtk_vrml_browser_set_world(GtkVrmlBrowser * vrml_browser, openvrml::resource_istream & in) { GtkGLViewer & viewer = *static_cast<GtkGLViewer *>(vrml_browser->viewer); viewer.browser_.set_world(in); } void gtk_vrml_browser_class_init(GtkVrmlBrowserClass *) {} void gtk_vrml_browser_init(GtkVrmlBrowser * const vrml_browser) { vrml_browser->viewer = 0; if (!::gl_config) { static const int attrib_list[] = { // GDK_GL_ALPHA_SIZE, 1, GDK_GL_DOUBLEBUFFER, GDK_GL_DEPTH_SIZE, 1, GDK_GL_RGBA, GDK_GL_RED_SIZE, 1, GDK_GL_ATTRIB_LIST_NONE }; ::gl_config = gdk_gl_config_new(attrib_list); } static GdkGLContext * const share_list = 0; static const gboolean direct = false; static const int render_type = GDK_GL_RGBA_TYPE; gtk_widget_set_gl_capability(GTK_WIDGET(vrml_browser), ::gl_config, share_list, direct, render_type); gtk_widget_add_events(GTK_WIDGET(vrml_browser), GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_POINTER_MOTION_MASK); g_signal_connect(G_OBJECT(vrml_browser), "destroy_event", G_CALLBACK(gtk_vrml_browser_destroy), 0); g_signal_connect(G_OBJECT(vrml_browser), "expose_event", G_CALLBACK(gtk_vrml_browser_expose_event), 0); g_signal_connect(G_OBJECT(vrml_browser), "configure_event", G_CALLBACK(gtk_vrml_browser_configure_event), 0); g_signal_connect(G_OBJECT(vrml_browser), "key_press_event", G_CALLBACK(gtk_vrml_browser_key_press_event), 0); g_signal_connect(G_OBJECT(vrml_browser), "button_press_event", G_CALLBACK(gtk_vrml_browser_button_press_event), 0); g_signal_connect(G_OBJECT(vrml_browser), "button_release_event", G_CALLBACK(gtk_vrml_browser_button_release_event), 0); g_signal_connect(G_OBJECT(vrml_browser), "motion_notify_event", G_CALLBACK(gtk_vrml_browser_motion_notify_event), 0); } gboolean gtk_vrml_browser_destroy(GtkWidget * const widget, GdkEvent *, gpointer) { delete static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); return true; } gboolean gtk_vrml_browser_realize(GtkWidget *, GdkEvent *, gpointer) { return true; } gboolean gtk_vrml_browser_expose_event(GtkWidget * const widget, GdkEventExpose * const event, gpointer) { GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); GtkGLViewer & viewer = *static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); if (event->count == 0 && gdk_gl_drawable_make_current(gl_drawable, gl_context)) { viewer.redraw(); } viewer.redrawNeeded = false; if (viewer.timer == 0) { viewer.timer_update(); } return true; } gboolean gtk_vrml_browser_configure_event(GtkWidget * const widget, GdkEventConfigure *, gpointer) { GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); if (GTK_VRML_BROWSER(widget)->viewer && gdk_gl_drawable_make_current(gl_drawable, gl_context)) { GtkGLViewer & viewer = *static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); viewer.resize(widget->allocation.width, widget->allocation.height); } return true; } gboolean gtk_vrml_browser_key_press_event(GtkWidget * const widget, GdkEventKey * const event, gpointer) { using openvrml::gl::viewer; viewer::event_info info; info.event = viewer::event_key_down; switch (event->keyval) { case XK_Home: info.what = viewer::key_home; break; case XK_Left: info.what = viewer::key_left; break; case XK_Up: info.what = viewer::key_up; break; case XK_Right: info.what = viewer::key_right; break; case XK_Down: info.what = viewer::key_down; break; case XK_Page_Up: info.what = viewer::key_page_up; break; case XK_Page_Down: info.what = viewer::key_page_down; break; default: if (event->length <= 0) { return true; } info.what = event->string[0]; } GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); if (gdk_gl_drawable_make_current(gl_drawable, gl_context)) { GtkGLViewer * const viewer = static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); g_assert(viewer); viewer->input(&info); } return true; } gboolean gtk_vrml_browser_button_press_event(GtkWidget * const widget, GdkEventButton * const event, gpointer) { using openvrml::gl::viewer; viewer::event_info info; info.event = viewer::event_mouse_click; switch (event->button) { case Button1: info.what = 0; break; case Button2: info.what = 1; break; case Button3: info.what = 2; break; } info.x = int(event->x); info.y = int(event->y); GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); if (gdk_gl_drawable_make_current(gl_drawable, gl_context)) { GtkGLViewer * const viewer = static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); g_assert(viewer); viewer->input(&info); } return true; } gboolean gtk_vrml_browser_button_release_event(GtkWidget * const widget, GdkEventButton * const event, gpointer) { using openvrml::gl::viewer; viewer::event_info info; info.event = viewer::event_mouse_release; switch (event->button) { case Button1: info.what = 0; break; case Button2: info.what = 1; break; case Button3: info.what = 2; break; } info.x = int(event->x); info.y = int(event->y); GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); if (gdk_gl_drawable_make_current(gl_drawable, gl_context)) { GtkGLViewer * const viewer = static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); g_assert(viewer); viewer->input(&info); } return true; } gboolean gtk_vrml_browser_motion_notify_event(GtkWidget * const widget, GdkEventMotion * const event, gpointer) { using openvrml::gl::viewer; viewer::event_info info; info.event = viewer::event_mouse_drag; info.what = 0; if (event->state & Button1Mask) { info.what = 0; } else if (event->state & Button2Mask) { info.what = 1; } else if (event->state & Button3Mask) { info.what = 2; } else { info.event = viewer::event_mouse_move; } info.x = int(event->x); info.y = int(event->y); GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(widget); g_assert(gl_drawable); GdkGLContext * const gl_context = gtk_widget_get_gl_context(widget); g_assert(gl_context); if (gdk_gl_drawable_make_current(gl_drawable, gl_context)) { GtkGLViewer * const viewer = static_cast<GtkGLViewer *>(GTK_VRML_BROWSER(widget)->viewer); g_assert(viewer); viewer->input(&info); } return true; } gint gtk_vrml_browser_timeout_callback(const gpointer ptr) { assert(ptr); GtkGLViewer & viewer = *static_cast<GtkGLViewer *>(ptr); viewer.timer_update(); return false; } namespace { browser::browser(GIOChannel & request_channel): openvrml::browser(std::cout, std::cerr), request_channel_(&request_channel) {} std::auto_ptr<openvrml::resource_istream> browser::do_get_resource(const std::string & uri) { using openvrml_player::plugin_streambuf; class plugin_resource_istream : public openvrml::resource_istream { boost::shared_ptr<plugin_streambuf> streambuf_; GIOChannel * request_channel_; public: plugin_resource_istream(const std::string & uri, GIOChannel * const request_channel): openvrml::resource_istream(0), streambuf_(new plugin_streambuf(uri)), request_channel_(request_channel) { using std::ostringstream; using openvrml_player::uninitialized_plugin_streambuf_map_; this->rdbuf(this->streambuf_.get()); uninitialized_plugin_streambuf_map_.insert(uri, this->streambuf_); ostringstream request; request << "get-url " << uri << '\n'; gsize bytes_written; g_io_channel_write_chars(this->request_channel_, request.str().data(), request.str().length(), &bytes_written, 0); g_io_channel_flush(this->request_channel_, 0); // // This blocks until we know the result of NPN_GetURL. // const int get_url_result = this->streambuf_->get_url_result(); if (get_url_result != 0) { this->setstate(std::ios_base::failbit); } } private: virtual const std::string do_url() const throw () { return this->streambuf_->url(); } virtual const std::string do_type() const throw () { return this->streambuf_->type(); } virtual bool do_data_available() const throw () { return this->streambuf_->data_available(); } }; return std::auto_ptr<openvrml::resource_istream>( new plugin_resource_istream(uri, this->request_channel_)); } GtkGLViewer::GtkGLViewer(GIOChannel & request_channel, GtkVrmlBrowser & vrml_browser): browser_(request_channel), vrml_browser_(vrml_browser), timer(0), redrawNeeded(false) { this->browser_.viewer(this); } GtkGLViewer::~GtkGLViewer() throw () { if (this->timer) { g_source_remove(timer); } } void GtkGLViewer::post_redraw() { if (!this->redrawNeeded) { this->redrawNeeded = true; gtk_widget_queue_draw(GTK_WIDGET(&this->vrml_browser_)); } } void GtkGLViewer::set_cursor(cursor_style style) { GdkCursor * cursor(0); switch(style) { case cursor_inherit: XDefineCursor(GDK_WINDOW_XDISPLAY( GTK_WIDGET(&this->vrml_browser_)->window), GDK_WINDOW_XWINDOW( GTK_WIDGET(&this->vrml_browser_)->window), None); return; case cursor_info: cursor = gdk_cursor_new(GDK_HAND1); break; case cursor_cycle: cursor = gdk_cursor_new(GDK_EXCHANGE); break; case cursor_up_down: cursor = gdk_cursor_new(GDK_SB_V_DOUBLE_ARROW); break; case cursor_crosshair: cursor = gdk_cursor_new(GDK_CROSSHAIR); break; default: cursor = gdk_cursor_new(GDK_ARROW); } gdk_window_set_cursor(GTK_WIDGET(&this->vrml_browser_)->window, cursor); gdk_cursor_destroy(cursor); } void GtkGLViewer::swap_buffers() { GdkGLDrawable * const gl_drawable = gtk_widget_get_gl_drawable(GTK_WIDGET(&this->vrml_browser_)); gdk_gl_drawable_swap_buffers(gl_drawable); } void GtkGLViewer::set_timer(const double t) { if (!this->timer) { this->timer = g_timeout_add(guint(10.0 * (t + 1)), GtkFunction(gtk_vrml_browser_timeout_callback), this); } } void GtkGLViewer::timer_update() { this->timer = 0; this->viewer::update(); } } --- NEW FILE: plugin_streambuf.h --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # ifndef OPENVRML_PLAYER_PLUGIN_STREAMBUF_H # define OPENVRML_PLAYER_PLUGIN_STREAMBUF_H # include <map> # include <set> # include <streambuf> # include <boost/shared_ptr.hpp> # include <boost/enable_shared_from_this.hpp> # include "bounded_buffer.h" namespace openvrml_player { class command_istream_reader; class plugin_streambuf : public boost::enable_shared_from_this<plugin_streambuf>, public std::streambuf { friend class command_istream_reader; mutable boost::mutex mutex_; int get_url_result_; mutable boost::condition received_get_url_result_; bool initialized_; mutable boost::condition streambuf_initialized_; std::string url_; std::string type_; bounded_buffer<char_type, 16384> buf_; int_type i_; char_type c_; protected: virtual int_type underflow(); public: explicit plugin_streambuf(const std::string & requested_url); void set_get_url_result(int result); int get_url_result() const; void init(size_t stream_id, const std::string & received_url, const std::string & type); const std::string & url() const; const std::string & type() const; bool data_available() const; }; extern class uninitialized_plugin_streambuf_map { mutable boost::mutex mutex_; typedef std::multimap<std::string, boost::shared_ptr<plugin_streambuf> > map_t; map_t map_; public: const boost::shared_ptr<plugin_streambuf> find(const std::string & url) const; void insert(const std::string & url, const boost::shared_ptr<plugin_streambuf> & streambuf); bool erase(const std::string & url); size_t size() const; const boost::shared_ptr<plugin_streambuf> front() const; } uninitialized_plugin_streambuf_map_; typedef std::map<size_t, boost::shared_ptr<plugin_streambuf> > plugin_streambuf_map_t; extern plugin_streambuf_map_t plugin_streambuf_map; } # endif // ifndef OPENVRML_PLAYER_PLUGIN_STREAMBUF_H --- NEW FILE: flag.h --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML Mozilla plug-in // Copyright 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # ifndef OPENVRML_PLAYER_FLAG_H # define OPENVRML_PLAYER_FLAG_H # include <boost/thread/mutex.hpp> namespace openvrml_player { class flag : boost::noncopyable { mutable boost::mutex mutex_; bool value_; public: flag(bool init = false); bool value() const; void value(bool val); }; } # endif // ifndef OPENVRML_PLAYER_FLAG_H --- NEW FILE: command_istream.h --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # ifndef OPENVRML_PLAYER_COMMAND_ISTREAM_H # define OPENVRML_PLAYER_COMMAND_ISTREAM_H # include <streambuf> # include <glib.h> # include "bounded_buffer.h" extern "C" gboolean command_data_available(GIOChannel * source, GIOCondition condition, gpointer data); namespace openvrml_player { class command_streambuf : boost::noncopyable, public std::streambuf { friend gboolean (::command_data_available)(GIOChannel * source, GIOCondition condition, gpointer data); bounded_buffer<char_type, 16384> source_buffer_; char_type c_; protected: virtual int_type underflow(); public: command_streambuf(); }; class command_istream : boost::noncopyable, public std::istream { command_streambuf buf_; public: command_istream(); }; } # endif // ifndef OPENVRML_PLAYER_COMMAND_ISTREAM_H --- NEW FILE: gtkvrmlbrowser.h --- /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4; -*- * * OpenVRML Mozilla plug-in * Copyright 2004, 2005, 2006 Braden N. McDaniel * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ # ifndef GTK_VRML_BROWSER_H # define GTK_VRML_BROWSER_H # include <gtk/gtkdrawingarea.h> # include <gtk/gtkgl.h> G_BEGIN_DECLS # define GTK_TYPE_VRML_BROWSER (gtk_vrml_browser_get_type ()) # define GTK_VRML_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_VRML_BROWSER, GtkVrmlBrowser)) # define GTK_VRML_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_VRML_BROWSER, GtkVrmlBrowserClass)) # define GTK_IS_VRML_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_VRML_BROWSER)) # define GTK_IS_VRML_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_VRML_BROWSER)) # define GTK_VRML_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_VRML_BROWSER, GtkVrmlBrowserClass)) typedef struct GtkVrmlBrowser_ GtkVrmlBrowser; typedef struct GtkVrmlBrowserClass_ GtkVrmlBrowserClass; struct GtkVrmlBrowser_ { GtkDrawingArea drawing_area; void *viewer; }; struct GtkVrmlBrowserClass_ { GtkDrawingAreaClass parent_class; }; GType gtk_vrml_browser_get_type(void) G_GNUC_CONST; GtkWidget *gtk_vrml_browser_new(GIOChannel *request_channel); void gtk_vrml_browser_load_url(GtkVrmlBrowser *vrml_browser, const gchar **url, const char **parameter); G_END_DECLS # ifdef __cplusplus namespace openvrml { class resource_istream; } // // Since OpenVRML has a C++ interface, exposing this to C is Hard. // void gtk_vrml_browser_set_world(GtkVrmlBrowser * vrml_browser, openvrml::resource_istream & in); # endif # endif /* ifndef GTK_VRML_BROWSER_H */ --- NEW FILE: Makefile.am --- AM_CPPFLAGS = \ -I$(top_srcdir)/lib/gtkglext \ -I$(top_builddir)/lib/gtkglext \ -I$(top_builddir)/lib/gtkglext/gdk \ -I$(top_builddir)/src/libopenvrml \ -I$(top_srcdir)/src/libopenvrml \ -I$(top_builddir)/src/libopenvrml-gl \ -I$(top_srcdir)/src/libopenvrml-gl \ -I$(mozincludedir) \ -DGTK_DISABLE_DEPRECATED AM_CXXFLAGS = @PTHREAD_CFLAGS@ @GTK_CFLAGS@ @GL_CFLAGS@ if ENABLE_GTKPLUG libexec_PROGRAMS = openvrml-gtkplug endif noinst_HEADERS = \ bounded_buffer.h \ command_istream.h \ plugin_streambuf.h \ gtkvrmlbrowser.h \ flag.h openvrml_gtkplug_SOURCES = \ main.cpp \ command_istream.cpp \ plugin_streambuf.cpp \ gtkvrmlbrowser.cpp \ flag.cpp openvrml_gtkplug_LDADD = \ $(top_builddir)/src/libopenvrml-gl/libopenvrml-gl.la \ $(top_builddir)/src/libopenvrml/libopenvrml.la \ $(top_builddir)/lib/gtkglext/gtk/libgtkglext-x11-1.0.la \ $(top_builddir)/lib/gtkglext/gdk/libgdkglext-x11-1.0.la openvrml_gtkplug_LDFLAGS = \ @GTK_LIBS@ \ @GL_LIBS@ \ -lXmu -lXt @X_PRE_LIBS@ @X_LIBS@ @X_EXTRA_LIBS@ \ -lboost_thread \ @PTHREAD_LIBS@ EXTRA_DIST = $(openvrml_gtkplug_SOURCES) --- NEW FILE: command_istream.cpp --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # include <cassert> # include <cerrno> # include "command_istream.h" openvrml_player::command_streambuf::command_streambuf(): c_('\0') { this->setg(&this->c_, &this->c_, &this->c_); } openvrml_player::command_streambuf::int_type openvrml_player::command_streambuf::underflow() { const int_type i = this->source_buffer_.get(); if (traits_type::eq_int_type(i, traits_type::eof())) { return traits_type::eof(); } this->c_ = traits_type::to_char_type(i); this->setg(&this->c_, &this->c_, &this->c_ + 1); return i; } openvrml_player::command_istream::command_istream(): std::istream(&this->buf_) {} gboolean command_data_available(GIOChannel * source, GIOCondition, gpointer data) { using namespace openvrml_player; typedef command_istream::traits_type traits_type; command_streambuf & streambuf = *static_cast<command_streambuf *>(data); do { gchar c; gsize bytes_read; GError * error = 0; const GIOStatus status = g_io_channel_read_chars(source, &c, 1, &bytes_read, &error); if (status == G_IO_STATUS_ERROR) { if (error) { g_warning(error->message); g_error_free(error); } return false; } if (status == G_IO_STATUS_EOF) { streambuf.source_buffer_.set_eof(); return false; } if (status == G_IO_STATUS_AGAIN) { continue; } g_return_val_if_fail(status == G_IO_STATUS_NORMAL, false); g_assert(bytes_read == 1); streambuf.source_buffer_.put(c); } while (g_io_channel_get_buffer_condition(source) & G_IO_IN); return true; } --- NEW FILE: flag.cpp --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML Mozilla plug-in // Copyright 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # include "flag.h" openvrml_player::flag::flag(const bool init): value_(init) {} bool openvrml_player::flag::value() const { boost::mutex::scoped_lock lock(this->mutex_); return this->value_; } void openvrml_player::flag::value(const bool val) { boost::mutex::scoped_lock lock(this->mutex_); this->value_ = val; } --- NEW FILE: plugin_streambuf.cpp --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 78 -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # include <glib.h> # include "plugin_streambuf.h" openvrml_player::plugin_streambuf:: plugin_streambuf(const std::string & requested_url): get_url_result_(-1), initialized_(false), url_(requested_url), i_(0), c_('\0') { // // This is really just here to emphasize that c_ must not be EOF. // this->i_ = traits_type::not_eof(this->i_); this->c_ = traits_type::to_char_type( traits_type::not_eof(traits_type::to_int_type(this->c_))); this->setg(&this->c_, &this->c_, &this->c_); } void openvrml_player::plugin_streambuf::set_get_url_result(const int result) { boost::mutex::scoped_lock lock(this->mutex_); assert(this->get_url_result_ == -1); this->get_url_result_ = result; this->received_get_url_result_.notify_all(); } int openvrml_player::plugin_streambuf::get_url_result() const { boost::mutex::scoped_lock lock(this->mutex_); while (this->get_url_result_ == -1) { this->received_get_url_result_.wait(lock); } return this->get_url_result_; } void openvrml_player::plugin_streambuf::init(const size_t stream_id, const std::string & received_url, const std::string & type) { boost::mutex::scoped_lock lock(this->mutex_); bool succeeded = uninitialized_plugin_streambuf_map_.erase(this->url_); g_assert(succeeded); this->url_ = received_url; this->type_ = type; this->initialized_ = true; const boost::shared_ptr<plugin_streambuf> this_ = shared_from_this(); succeeded = plugin_streambuf_map.insert(make_pair(stream_id, this_)) .second; g_assert(succeeded); this->streambuf_initialized_.notify_all(); } const std::string & openvrml_player::plugin_streambuf::url() const { boost::mutex::scoped_lock lock(this->mutex_); while (!this->initialized_) { this->streambuf_initialized_.wait(lock); } return this->url_; } const std::string & openvrml_player::plugin_streambuf::type() const { boost::mutex::scoped_lock lock(this->mutex_); while (!this->initialized_) { this->streambuf_initialized_.wait(lock); } return this->type_; } bool openvrml_player::plugin_streambuf::data_available() const { // // It may seem a bit counterintuitive to return true here if the stream // has been destroyed; however, if we don't return true in this case, // clients may never get EOF from the stream. // return this->buf_.buffered() > 0 || this->buf_.eof(); } openvrml_player::plugin_streambuf::int_type openvrml_player::plugin_streambuf::underflow() { boost::mutex::scoped_lock lock(this->mutex_); while (!this->initialized_) { this->streambuf_initialized_.wait(lock); } if (traits_type::eq_int_type(this->i_, traits_type::eof())) { return traits_type::eof(); } this->i_ = this->buf_.get(); this->c_ = traits_type::to_char_type(this->i_); if (traits_type::eq_int_type(this->i_, traits_type::eof())) { return traits_type::eof(); } this->setg(&this->c_, &this->c_, &this->c_ + 1); return traits_type::to_int_type(*this->gptr()); } openvrml_player::uninitialized_plugin_streambuf_map openvrml_player::uninitialized_plugin_streambuf_map_; const boost::shared_ptr<openvrml_player::plugin_streambuf> openvrml_player::uninitialized_plugin_streambuf_map:: find(const std::string & url) const { boost::mutex::scoped_lock lock(this->mutex_); map_t::const_iterator pos = this->map_.find(url); return pos == this->map_.end() ? boost::shared_ptr<plugin_streambuf>() : pos->second; } void openvrml_player::uninitialized_plugin_streambuf_map:: insert(const std::string & url, const boost::shared_ptr<plugin_streambuf> & streambuf) { boost::mutex::scoped_lock lock(this->mutex_); this->map_.insert(make_pair(url, streambuf)); } /** * @brief Erase the first entry corresponding to @p url. * * The map may have multiple entries corresponding to @p url if the same * resource has been requested multiple times. A single call to @c erase will * only remove one of them. * * @return @c true if an entry was removed; @c false otherwise. */ bool openvrml_player::uninitialized_plugin_streambuf_map:: erase(const std::string & url) { boost::mutex::scoped_lock lock(this->mutex_); const map_t::iterator pos = this->map_.find(url); if (pos == this->map_.end()) { return false; } this->map_.erase(pos); return true; } size_t openvrml_player::uninitialized_plugin_streambuf_map::size() const { boost::mutex::scoped_lock lock(this->mutex_); return this->map_.size(); } const boost::shared_ptr<openvrml_player::plugin_streambuf> openvrml_player::uninitialized_plugin_streambuf_map::front() const { boost::mutex::scoped_lock lock(this->mutex_); g_assert(!this->map_.empty()); return this->map_.begin()->second; } openvrml_player::plugin_streambuf_map_t openvrml_player::plugin_streambuf_map; --- NEW FILE: bounded_buffer.h --- // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 4; -*- // // OpenVRML Mozilla plug-in // Copyright 2004, 2005, 2006 Braden N. McDaniel // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // # ifndef OPENVRML_PLAYER_BOUNDED_BUFFER_H # define OPENVRML_PLAYER_BOUNDED_BUFFER_H # include <string> # include <boost/thread/mutex.hpp> # include <boost/thread/condition.hpp> namespace openvrml_player { template <typename CharT, size_t BufferSize> class bounded_buffer { mutable boost::mutex mutex_; boost::condition buffer_not_full_, buffer_not_empty_or_eof_; CharT buf_[BufferSize]; size_t begin_, end_, buffered_; bool eof_; public: typedef CharT char_type; typedef typename std::char_traits<char_type> traits_type; typedef typename traits_type::int_type int_type; bounded_buffer(); void put(const char_type & c); int_type get(); size_t buffered() const; void set_eof(); bool eof() const; }; template <typename CharT, size_t BufferSize> bounded_buffer<CharT, BufferSize>::bounded_buffer(): begin_(0), end_(0), buffered_(0), eof_(false) {} template <typename CharT, size_t BufferSize> void bounded_buffer<CharT, BufferSize>::put(const char_type & c) { boost::mutex::scoped_lock lock(this->mutex_); while (this->buffered_ == BufferSize) { this->buffer_not_full_.wait(lock); } this->buf_[this->end_] = c; this->end_ = (this->end_ + 1) % BufferSize; ++this->buffered_; this->buffer_not_empty_or_eof_.notify_one(); } template <typename CharT, size_t BufferSize> typename bounded_buffer<CharT, BufferSize>::int_type bounded_buffer<CharT, BufferSize>::get() { boost::mutex::scoped_lock lock(this->mutex_); while (this->buffered_ == 0 && !this->eof_) { this->buffer_not_empty_or_eof_.wait(lock); } if (this->buffered_ == 0 && this->eof_) { return traits_type::eof(); } const int_type c = traits_type::to_int_type(this->buf_[this->begin_]); this->begin_ = (this->begin_ + 1) % BufferSize; --this->buffered_; this->buffer_not_full_.notify_one(); assert(!traits_type::eq_int_type(c, traits_type::eof())); return c; } template <typename CharT, size_t BufferSize> size_t bounded_buffer<CharT, BufferSize>::buffered() const { boost::mutex::scoped_lock lock(this->mutex_); return this->buffered_; } template <typename CharT, size_t BufferSize> void bounded_buffer<CharT, BufferSize>::set_eof() { boost::mutex::scoped_lock lock(this->mutex_); this->eof_ = true; this->buffer_not_empty_or_eof_.notify_one(); } template <typename CharT, size_t BufferSize> bool bounded_buffer<CharT, BufferSize>::eof() const { boost::mutex::scoped_lock lock(this->mutex_); return this->eof_; } } # endif // ifndef OPENVRML_PLAYER_BOUNDED_BUFFER_H |
From: Braden M. <br...@us...> - 2006-10-01 05:48:32
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/lib/gtkglext/m4macros In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/mozilla-plugin/lib/gtkglext/m4macros Removed Files: Tag: OpenVRML-0_16-BRANCH .cvsignore Makefile.am gtkglext.m4 Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. --- gtkglext.m4 DELETED --- --- .cvsignore DELETED --- --- Makefile.am DELETED --- |
From: Braden M. <br...@us...> - 2006-10-01 05:48:32
|
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/lib/gtkglext/gtk In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/mozilla-plugin/lib/gtkglext/gtk Removed Files: Tag: OpenVRML-0_16-BRANCH .cvsignore Makefile.am gen-def-file.sh gtkgl.h gtkgldebug.h gtkgldefs.h gtkglext.def gtkglinit.c gtkglinit.h gtkglprivate.h gtkglversion.c gtkglversion.h.in gtkglwidget.c gtkglwidget.h Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. --- .cvsignore DELETED --- --- gtkglinit.c DELETED --- --- gtkglversion.c DELETED --- --- gtkgl.h DELETED --- --- gtkgldefs.h DELETED --- --- gtkglinit.h DELETED --- --- gtkglext.def DELETED --- --- gtkglwidget.h DELETED --- --- Makefile.am DELETED --- --- gtkglversion.h.in DELETED --- --- gtkglprivate.h DELETED --- --- gen-def-file.sh DELETED --- --- gtkgldebug.h DELETED --- --- gtkglwidget.c DELETED --- |
From: Braden M. <br...@us...> - 2006-10-01 05:48:31
|
Update of /cvsroot/openvrml/openvrml/src In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/src Modified Files: Tag: OpenVRML-0_16-BRANCH Makefile.am Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. Index: Makefile.am =================================================================== RCS file: /cvsroot/openvrml/openvrml/src/Makefile.am,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** Makefile.am 22 Mar 2005 03:13:12 -0000 1.6 --- Makefile.am 1 Oct 2006 05:48:29 -0000 1.6.2.1 *************** *** 1 **** ! SUBDIRS = libopenvrml libopenvrml-gl --- 1 ---- ! SUBDIRS = libopenvrml libopenvrml-gl openvrml-gtkplug |
Update of /cvsroot/openvrml/openvrml/mozilla-plugin/lib/gtkglext/gdk/x11 In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7146/mozilla-plugin/lib/gtkglext/gdk/x11 Removed Files: Tag: OpenVRML-0_16-BRANCH .cvsignore Makefile.am gdkglconfig-x11.c gdkglconfig-x11.h gdkglcontext-x11.c gdkglcontext-x11.h gdkgldrawable-x11.c gdkglfont-x11.c gdkglglxext.c gdkglglxext.h gdkgloverlay-x11.c gdkgloverlay-x11.h gdkglpixmap-x11.c gdkglpixmap-x11.h gdkglprivate-x11.h gdkglquery-x11.c gdkglwindow-x11.c gdkglwindow-x11.h gdkglx.h Log Message: Build/package the GtkPlug application separately from the Mozilla plug-in. The Mozilla plug-in is just one possible client for this application. --- .cvsignore DELETED --- --- gdkglpixmap-x11.c DELETED --- --- gdkglcontext-x11.c DELETED --- --- gdkglconfig-x11.h DELETED --- --- gdkgloverlay-x11.h DELETED --- --- gdkglwindow-x11.h DELETED --- --- gdkglpixmap-x11.h DELETED --- --- gdkglwindow-x11.c DELETED --- --- gdkgloverlay-x11.c DELETED --- --- gdkglconfig-x11.c DELETED --- --- gdkglcontext-x11.h DELETED --- --- gdkglglxext.c DELETED --- --- Makefile.am DELETED --- --- gdkglfont-x11.c DELETED --- --- gdkglglxext.h DELETED --- --- gdkglprivate-x11.h DELETED --- --- gdkgldrawable-x11.c DELETED --- --- gdkglx.h DELETED --- --- gdkglquery-x11.c DELETED --- |