ipe-7.2.7/000755 000766 000000 00000000000 13022535404 014337 5ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/000755 000766 000000 00000000000 13022535404 015436 5ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/gpl.txt000644 000766 000000 00000104513 13022535404 015666 0ustar00otfried.cheongwheel000000 000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public 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. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 3 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, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . ipe-7.2.7/install.txt000644 000766 000000 00000014471 13022535404 016555 0ustar00otfried.cheongwheel000000 000000 -------------------------------------------------------------------- Building and installing Ipe on Unix -------------------------------------------------------------------- **** For MAC OS X, see the separate document "macos.txt"! **** Quickstart for Linux -------------------- If you have a recent Mint, Ubuntu, or Debian system, the following steps will install the necessary libraries and tools: sudo apt-get install checkinstall qtbase5-dev qtbase5-dev-tools sudo apt-get install libfreetype6-dev libcairo2-dev libjpeg8-dev sudo apt-get install libpng12-dev liblua5.3-dev zlib1g-dev Now you can compile and install Ipe into /usr/local: (Note that 7.x.y has to be replaced by the current Ipe version!) cd src export QT_SELECT=5 make IPEPREFIX=/usr/local sudo checkinstall --pkgname=ipe --pkgversion=7.x.y --backup=no \ --fstrans=no --default make install IPEPREFIX=/usr/local sudo ldconfig The line with "checkinstall" makes sure that Ipe is installed as package "ipe". If you no longer need Ipe, or to remove it before compiling the next release, you can completely remove it from your system by saying sudo apt-get remove ipe If something doesn't work for you, please read below to check the details! -------------------------------------------------------------------- Detailed instructions -------------------------------------------------------------------- Required components ------------------- Before you can compile Ipe, you will need to have the following tools and libraries: * GNU make The Ipe makefiles are written for GNU make. A Linux system will already have it. On other Unix systems, GNU make is often installed as 'gmake'. Otherwise, install it yourself from www.gnu.org. Other "make" implementations will not work! * The compression library 'zlib' Very likely you already have it on your system (check for the include file "zlib.h"). If not, obtain it from "www.gzip.org/zlib" and install it. * The font library 'Freetype 2' On Linux, you most likely already have this on your system. You will need the development package (on Debian/Ubuntu, this is "libfreetype6-dev"). The original sources are at "www.freetype.org". You need version 2.1.8 or newer. * The Cairo library (version 1.8.0 or higher) The Gnome desktop uses this high-quality rendering library, so you may already have it. You will need the development package, e.g. on Debian/Ubuntu "libcairo2-dev". You can also install from sources at "www.cairographics.org". If you compile Cairo yourself, note that you only need the image, Postscript, and svg surfaces (backends). You also need freetype support, but no fontconfig. Since Ipe does not need any platform-dependent backends, Cairo should compile fine on any platform. * The libpng library You'll need the development package, e.g. on Debian/Ubuntu "libpng12-dev". You can also install from source at "http://www.libpng.org". * The libjpeg library (version 6 or higher) You'll need the development package, e.g. on Debian/Ubuntu "libjpeg8-dev". You can also use libjpeg-turbo instead (the package "libjpeg-turbo8-dev"), from http://libjpeg-turbo.virtualgl.org/. * The Lua language (version 5.2 or 5.3) Lua is an embeddable scripting language. On Debian/Ubuntu, install "liblua5.2-dev". Or compile from source at "www.lua.org" - the sources are ANSI C and compile very easily. Ipe requires Lua 5.2 or Lua 5.3, and will not work with Lua 5.1. Make sure that you build a DYNAMIC library. Ipe will not work if Lua is linked statically (linking statically would include three copies of the Lua interpreter, resulting in random crashes). * The Qt toolkit (version 4.5 or higher) Ipe will compile and work with both Qt 4 and Qt 5. On Linux, you most likely already have it. On Debian/Ubuntu, you would need the packages "qtbase5-dev" and "qtbase5-dev-tools". You can also download binaries or sources at "www.qt.io/". You only need the Qt5Core, Qt5Gui, and Qt5Widgets libraries. * Pdflatex or Xelatex Ipe uses Pdflatex, a PDF-producing version of Latex, to convert Latex source code to Postscript/PDF. Every modern TeX installation includes it. Alternatively, you can use Xelatex, which can use system-specific fonts and also generates PDF directly (through the dvipdfmx backend). If you still have a version of Pdftex earlier than 1.40, set the environment variable IPEANCIENTPDFTEX when running Ipe. Configuring and building Ipe ---------------------------- There are some pieces of information you need to provide to the Ipe build process by editing "src/config.mak" (in many cases you can also just give the definitions on the make command line, see below). You first have to indicate the location of the required components listed above. On Linux, you probably have a correctly working 'pkg-config' script, and the default settings should work. You'll have to check that the Lua package name is correct - try saying pkg-config --modversion lua5.2 If the package isn't found, try 'lua' or 'lua52'. Second, you have to define the Ipe directory structure. Normally, you would only need to define IPEPREFIX properly, depending on where you want Ipe to be installed. These steps will then build Ipe: cd src make make install Instead of editing "src/config.mak", you can also set the variables in the make call, e.g.: cd src make IPEPREFIX=/usr/local sudo make install IPEPREFIX=/usr/local You may need to do "make install" as root (depending on whether you have write permission to the installation location). Dynamic linking --------------- The Ipe libraries are shared libraries, and so your dynamic linker has to find "libipe*.so". If you have chosen a standard library directory for IPELIBDIR, saying "sudo ldconfig" will be enough to run Ipe. If you installed in a different location, such as "/opt/ipe7", you can make a small script called "ipe" like the following, and put it in your path: #!/bin/sh export LD_LIBRARY_PATH="/opt/ipe7/lib/:$LD_LIBRARY_PATH" /opt/ipe7/bin/ipe $* & Alternatively, you could put links to the library in a standard location: sudo ln -f -s IPELIBDIR/lib* /usr/lib sudo ldconfig -------------------------------------------------------------------- ipe-7.2.7/macos.txt000644 000766 000000 00000011651 13022535404 016206 0ustar00otfried.cheongwheel000000 000000 -------------------------------------------------------------------- Building Ipe on Mac OS X -------------------------------------------------------------------- Ipe runs on Mac OS 10.8 and higher, but you should compile on an up-to-date system. If you have Macports... ----------------------- ... then you can install the four libraries that Ipe depends on simply by saying: sudo port install libpng lua cairo freetype Then continue below under "Now you can compile Ipe". -------------------------------------------------------------------- Detailed instructions -------------------------------------------------------------------- * Install Xcode from the Mac App store: http://itunes.apple.com/us/app/xcode/id497799835 * Agree to the Xcode license by saying this in a terminal: sudo xcodebuild -license * Install the command line tools by saying the following in a terminal: xcode-select --install * Get libpng, Freetype, and Cairo Ipe depends on these three libraries. Without using macports or homebrew, the easiest way to get them is to install X11 for MacOS, for instance by installing XQuartz from http://www.xquartz.org - but check first if you perhaps already have an X11 installation by looking for the directories /usr/X11 and /opt/X11. Edit "src/macosx.mak" and set IPEDEPS to the base of your X11 installation. Alternatively, you can install the three libraries from sources: + The libpng library Install from source at "http://www.libpng.org". + The font library 'Freetype 2' Install from source at "www.freetype.org". + The Cairo library The sources are at "www.cairographics.org". Compile with Freetype support, but without fontconfig. You need the Quartz and PS backend (they are enabled by default), all others are optional (disable the X11 backends to create a smaller library). * The Lua language (version 5.2 or 5.3) Lua is an embeddable scripting language. Ipe requires Lua 5.2 or Lua 5.3, and will not work with Lua 5.1. Download the prebuild binaries from http://luabinaries.sourceforge.net/download.html You need the "lua-5.3_MacOS1010_lib.tar.gz" package only. Unzip the package. Copy the header files ("lua.h" and other ".h" files) into "IPEDEPS/include" Copy "liblua53.dylib" into "IPEDEPS/lib". (Where IPEDEPS is as you set it in the previous step.) Or use "/usr/local/include" and "/usr/local/lib", and set LUA_CFLAGS and LUA_LIBS appropriately in "src/macos.mak". DO NOT install "liblua53.a" on your system, to avoid accidentally performing a static link. Alternatively, compile from source at "www.lua.org" - the sources are ANSI C and compile very easily. Make sure that you build a DYNAMIC (shared) library. Unfortunately, "make macosx" compiles a static library - but you really MUST compile a shared library, so you need to modify the Makefile! Ipe will not work if Lua is linked statically (linking statically would include three copies of the Lua interpreter, resulting in random crashes). * Pdflatex or Xelatex Ipe uses Pdflatex, a PDF-producing version of Latex, to convert Latex source code to Postscript/PDF. Every modern TeX installation includes it. Alternatively, you can use Xelatex, which can use system-specific fonts and also generates PDF directly (through the dvipdfmx backend). If you still have a version of Pdftex earlier than 1.40, set the environment variable IPEANCIENTPDFTEX when running Ipe. -------------------------------------------------------------------- * Now you can compile Ipe: cd src make make app * Ipe is now available as a MacOS app in "build/Ipe.app". You can start it from the command line by saying open ../build/Ipe.app (assuming you are still in the "src" directory). Or double-click on the Ipe.app icon in the Finder. You can now use the Finder to move the "Ipe.app" bundle to /Applications, or anywhere else. Note that "Ipe.app" is linked dynamically against the four libraries liblua, libpng, Freetype, and Cairo. It will not work if you copy the bundle to a different computer that does not have (compatible versions of) the libraries in the same locations. If you used macports to install the libraries, make sure you don't accidentally remove those four macports packages. * You will want to add the "/Applications/Ipe.app/Contents/MacOS" directory to your path, so that you can start Ipe and use the tools ipetoipe, iperender, etc. from the command line. * The 'pdflatex' or 'xelatex' program must be in one of these locations: * /Library/TeX/texbin * /usr/texbin * /usr/local/texbin * /usr/local/bin If your pdflatex is somewhere else, change the PATH being searched in "Ipe.app/Contents/Info.plist". -------------------------------------------------------------------- ipe-7.2.7/man/000755 000766 000000 00000000000 13022535404 015112 5ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/news.txt000644 000766 000000 00000236343 13022535404 016067 0ustar00otfried.cheongwheel000000 000000 ---------------------------------------------------------------------- Ipe 7.2.7 (2016) Bayreuth edition * On Windows 10, Monitor DPI is used automatically (but does not yet change when the Window is moved to a different monitor). * Fixed styles directory in ipescript in bundle mode (OSX, snap, appimage). * Fixed vertex-move mode when edges have been transformed before. * On OSX, shear mode and graph mode toolbar buttons were not selectable. * Accept empty ipestyle tag in XML parsing. * Added shortcuts for "pick properties" and "apply properties". * Renamed "tikz.isy" to "tikz-shapes.isy". * Fixed crash in hovering pen on high-resolution Windows 10 tablet. * Fixed cropped letters (bug #106). * Fixed parsing of IPESCRIPTS variable in ipescript. Added ~/.ipe/scripts to the default list in appimage and Ipe.app. * Refuse to load style sheets with fractional grid sizes (bug #115). * Refuse precise scale/stretch with factor zero (bug #114). * Use compatibility layer on Luatex 0.85 (bug #113). ---------------------------------------------------------------------- Ipe 7.2.6 (2016-09-19) Bayreuth edition * A file format update was necessary. Ipe versions older than 7.2.6 will not be able to read documents create with 7.2.6 and newer. * Added new mode to move graph vertices. While the vertex moves, its incident edges follow automatically. This uses a simple heuristic: Vertices are groups, references, or text objects, edges are path objects with a single open curve. * Text objects of type label can now also have a style. Math objects are now handled as having style "math", other styles are useful for styling graph nodes using Tikz, etc. Look at the new style file 'tikz.isy' for inspiration how this can be used. * Added style file 'note-paper.isy' with a note paper background (like the xournal background), for taking handwritten notes._{} * Revived exporting to pdf when saving in xml format (set prefs.auto_export_to_pdf). * On Windows, touch is now only used for pan and zoom. * Tuned pen handling on Windows 8 and higher. It now works smoothly on my slow Windows tablet. * Fixed handling of PDF resources from pdflatex to work with the output generated by Tikz. * Fixed layout of dialogs created without 'addButton' on OSX. * Try to work around Ubuntu bug (see #42) by unsetting environment variables QT_QPA_PLATFORMTHEME and UBUNTU_MENUPROXY when Ipe starts. * Fixed cut-off glyphs (bug #93). * Fixed error rendering TTF and TTC fonts (bug #97). ---------------------------------------------------------------------- Ipe 7.2.5 (2016-07-19) Bayreuth edition * The PDF interpreter for text objects has been improved to handle a much larger subset of PDF. Using interesting PDF-generating latex packages is now supported and encouraged, including tikz, pgf, and tcolorbox. This makes it easy to create boxes for theorems and the like in presentations, as the beamer package does. * The use of \includegraphics inside text objects is now supported. Since PDF is a very complex standard, some PDF features will not be displayed correctly on the screen (but will work correctly in Ipe's PDF output). A few features cannot even be supported in the PDF output. * luatex is now supported as an alternative to pdftex and xetex. * New shear transformation mode. Without axis set, it will use a horizontal line as the fixed line, otherwise your x-axis. * Groups can now be decorated using "decoration symbols". Those should be a path (or a group of paths), and are automatically resized to fit the bounding box of the group. You'll need to include a style sheet containing decoration symbols (e.g. "decorations.isy" from the distribution), then right click on a group to set a decoration. * Action "Edit object" can now be used to edit text inside a group object. This is convenient, for instance, to edit graph vertices (which are most easily represented as a group consisting of a circle and a text object, or a mark and a text object). * Experimental recursive group edit implemented. It keeps all state inside the Ipe document, so that you can save in the middle of a group edit (and autosave continues to work during the group edit). Group edit creates a new layer "EDIT GROUP", unpacks the group into this layer, and locks all other layers. "End group edit" automatically groups the elements again and returns the group to its original layer. * New action "set tangent direction" to set the axis to be tangent to a given circle (or ellipse) or arc. Move mouse close to boundary of circle or circular arc and press Ctrl+F3. * Improvements for ink mode to make it more responsive, less memory-consuming, and display smoother strokes (thanks to Zhengdao Wang and Philipp Kindermann for contributing code). * Fixed missing shortcut for box mode. * Added "Apply properties" to object menus. Fixed bug that caused it to be applied to all objects (not just the selected ones). * When creating a path object, the current arrow size and shape is set, so that they can be used if an arrow is enabled later. * Snapping no longer occurs for objects in layers that are not visible (bug #88). * Text objects now keep their PDF representation as a separate XObject. This implies that after changing the color of a text object, Latex needs to be run to see the change on screen. This should be automatic when automatic Latex run is enabled. * \ipesymbol is no longer supported - you can use tikz or pgf instead, or simply \includegraphics. ---------------------------------------------------------------------- Ipe 7.2.4 (2016-06-23) Bayreuth edition * New modes for making rectangles and parallelograms. * Page numbering works again (bug #57). They are now customizable, see the manual. * Can now create links to external documents or websites, by right-clicking on any top-level group object and using "Set link URL" (feature #41). * Actions to pick the properties of an object (and set them in the properties panel), and to apply all current properties to the selected objects. * Replaced NSComboBox by NSPopUpButton. They are more comfortable to use (you can click anywhere to change the setting, rather than just on the arrow), can display the color icons, and allow to re-select the currently selected choice (bug #47). * File format has been updated to 70204, but only if one of the two new features is used (external links, non-default pagenumberstyle). * Implemented double-clicks on OSX (bug #79). * Some support for HiDPI screens in Windows and Qt (use prefs.ui_scale and prefs.toolbar_scale). * Tested and documented installing Ipe with TeXlive on a USB-stick, so that it can be used on any Windows computer without installing anything (see manual). * Fixed combination of prefs.auto_external_editor and prefs.editor_closes_dialog. * Removed beginnings of magnification gesture handling on OSX (it wasn't finished and broke two-finger gestures for right-click). * Fixed Save dialog (bug #78). * Fixed behaviour when prefs.terminate_on_close is false on OSX (bug #51). * Improved width of grid size/angle size selector (bug #48). * Obey prefs.editable_textfile for editing style sheets (bug #80). * Updated ipe.dtd and manual for the correct Ipe file format (bug #67). * Customizable order of toolbars on Windows (feature #28). * Fixed angle size menu on Qt. * Fixed join path for more than two segments (bug #85). ---------------------------------------------------------------------- Ipe 7.2.3 (2016-06-11) Bayreuth edition * Added /opt/local/bin to latex search path on OS X. * mainmenu.xib was missing from source distribution (bug #44). * Enabled "Command" modifier for mouse actions (bug #46). * Using Cairo FAST mode for rendering bitmaps (feature #53). * Added /bin and /usr/bin to PATH on OSX (bug #71). * Fixed crash in Ipelet information when ipelets contains no 'about' line (bug #66). * Fixed crash when processing empty text object (bug #64). * Notes and bookmarks can now be shown on startup on Cocoa by setting prefs (bug #68). * Fixed code so that compilation on older OSX versions is easier (feature #60). * Fixed substitution of quotes by typographic quotes on OSX (bug #69). * Removed duplicate overwrite warning on OSX (bug #50). * Fixed crash in iperender (bug #63). * Fixed selection of objects in locked layer (bug #55). * On OSX, Ipe can keep running after last Window was closed using prefs.terminate_on_close (request #51). * Quit action on OSX (request #51). * Fixed compilation on FreeBSD (bug #56). * On Windows, Ipe can now use pdflatex from cygwin (feature #72). See the manual for instructions. * Can customize width of bookmarks and notes tools by setting prefs.width_notes_bookmarks (feature #58). * Added file type filter in OSX file dialogs (feature #49). * Improved JPEG file handling (bug #75). * Work-around for bug in Qt 5.5 (bug #54). * Fixed crash when pasting large object on Windows (bug #59). * Fixed crash when starting external editor. ---------------------------------------------------------------------- Ipe 7.2.2 (2016-01-24) Fabian's edition * Page/View selector implemented for Cocoa. * Page sorter implemented for Cocoa, with drag and drop of pages. * Fixed redrawing on Cocoa (bug #34). * Removed APIs post OS X 10.8 (bug #35). * Including qvoronoi ipelet in Ipe.app for OS X. * Ctrl-click instead of right click in line editing tools and for path properties popup menu (bugs #36, #37). * Support for retina displays on OS X (feature #2). * Changed icon format on OS X to tiff, allowing for multi-resolution icons. * Fixed PDF rendering of text with descenders and widths in CID fonts using xetex. * Fixed problem with exporting to eps caused by wrappers in cmr10.pfb and other fonts that are incorrectly embedded by pdflatex. ---------------------------------------------------------------------- Ipe 7.2.1 (2016-01-01) * Color of primary and secondary selection can be set in prefs.lua. * Ipe can now use xelatex instead of pdflatex. You can choose your TeX engine in the document properties. * Type1C and CID-keyed fonts are supported. This means that OpenType fonts on your system should work through xelatex. * Location of pdflatex or xelatex can be specified as an environment variable IPELATEXPATH. * On Windows, environment variables can be set by placing a text file with name "ipe.conf" in the Ipe folder. This makes it possible to provide Ipe on a USB-stick without modifying the host system at all. (The Ipe folder is the same place that contains the "bin", "icons", "lua" subdirectories. Each line of "ipe.conf" is of the form "VARIABLE=setting".) * Snap indicator in status line and mode indicator in properties allow advanced users to hide all toolbars without losing any feedback. * Using native user interface with Cocoa on OS X. * Continuous spell-checking in text input/edit dialogs on OS X (optional, set prefs.spell_check). * Multiple shortcuts are no longer allowed in "shortcuts.lua". * Added Header files to Mac OS app bundle. * Removed support for the "14 standard PDF fonts". Their use is deprecated in PDF 1.5 - all fonts should now be embedded. This means it's no longer necessary to create a fontmap during Ipe installation. * Removed support for codeset conversion. Latex supports Unicode well now, in particular when you use xelatex. * Ipe now requires a C++11 compiler. ---------------------------------------------------------------------- Ipe 7.1.10 (2015-11-21) * "Export to EPS" replaces saving in EPS format. Ipe can still load Ipe figures in EPS format, but will not save in this format anymore. Use "Export to EPS" if you need EPS figures for your publisher. * I learnt how to compile on Mac OS X, and now build "Ipe.app" binaries myself. The makefiles and instructions for Mac OS are updated. * Ipe now compiles with both Qt 4 and Qt 5. This is useful since Qt 5 drops support for older Mac platforms (in particular Snow Leopard). * Transparency now available by default. * Trying both .dylib and .so extension when loading compiled ipelets on Mac OS. * Ipelets compiled using -bundle and .so extension on Mac OS. * Removed lfs from Ipe, added Platform::listDirectory that works correctly with UTF-8 on Windows. * Ipe now runs correctly on Windows if installed in a directory with non-ASCII characters (feature #17). * On Windows, when closing from the cross icon in the window frame, the "Save" option now works. * Fixed problem with Enter key closing edit dialogs (bug #6). * Windows and Mac OS binaries using Lua 5.3. * On Windows libpng/libjpeg replaced by Windows GDI+ calls. "Insert image" now also supports BMP, GIF, and TIFF. * On Mac OS, libjpeg replaced by CoreGraphics calls. * "Export to PNG" added to user interface (feature #22). * Removed auto-exporting functionality. ---------------------------------------------------------------------- Ipe 7.1.9 (2015-10-24) * Migrated to Qt5. * Windows binary now works on WinXP by dynamically loading GetGestureInfo (issue #9, thanks to czietz for the patch). * Ignore spurious double-click (bug #17). * Fixed Ctrl+F shortcut on Windows (bug #9). * Fixed updating of style sheets on Windows (bug #8). * Fixed crash when right-clicking on a toolbar icon on Windows (bug #7). * Changed ordering of Ipelet directories (bug #16). * Fixed misleading caption on layer menu (bug #14). * Compiling with clang++-3.5 for testing. * Bitmaps read from files are now compressed during insertion, crash during insertion of PNG files with color palette fixed. Inserting PNG images with color-keyed transparent color works now (bugs #19, #20). * Improved "About ipelets" dialog. -------------------------------------------------------------------- Ipe 7.1.8 (2015-07-11) * (Partial) support for MacOS retina displays. You need to set prefs.retina to true to enable this. Thanks to Michael Thon for testing my experiments. * Fixed compilation of qvoronoi ipelet on Mac OS X (bug #31). * Now using standard libjpeg API for embedded JPEG images, rather than the TurboJPEG API. Therefore Ipe now compiles with either JPEG library. Thanks to Michael Thon for the patch (bug #32). * IPEBUNDLE variable to compile Ipe without references to the file system. * IPENOGESTURE variable to compile Ipe for Windows Vista and older. * Fixed Document properties dialog (bug #33). * Fixed first entry in layer list popup menu. * Fixed crash in Voronoi ipelet on Windows (issue #5). -------------------------------------------------------------------- Ipe 7.1.7 (2015-02-23) * Fifi shape and color now depends on the context: whether snapping to a vertex, boundary, the grid, etc. When no snapping occurs, Fifi is not drawn at all. * The definition of B-splines has changed. For reasons lost in the mist of time, Ipe has for many years used an incorrect definition of uniform B-splines, which handled the boundary conditions wrongly. In particular, the first and final segment of a spline was always a straight segment. This has now been fixed, and the line/spline tools from now on create correct uniform B-splines. In particular, splines with four control points are now identical to cubic Bezier segments. As a generalization, a spline with three control points generates a quadratic Bezier segment, so the special keys 'q' and 'c' in the line tool are no longer needed. One benefit of this change is that it is now possible to cut B-splines (both open and closed) at any knot value, so that splines can be cut without first decomposing them entirely into Bezier curves. Splines created with older versions of Ipe continue to work as before and can still be edited. They are now called "old splines". As a result, the Ipe file format version was updated to 70107. Older versions of Ipe will not read files created with Ipe 7.1.7. * Separate snap mode for snapping to "control points". These are the control points of splines, but also the centers of ellipses/circles/arcs, the corners of images, and the corners and reference point of text objects. * The midpoint of every straight segment is now also a snap point (when control point snapping is on). * When drawing a polyline or spline object, the previous segments of the object being drawn are now already magnetic and can be snapped to. This feature was actually used in several snapping examples in the manual, but didn't work since Ipe 7.0.0. * A left double-click can now be used to terminate a path object instead of a right click. * Windows binaries now use a native UI without Qt. * On Windows, can now use two-finger touch gestures for pan and zoom. They work even in the middle of drawing an object with the mouse or the pen. * The paste actions (Ctrl+V) will now create an image object if the clipboard contains a bitmap (this function used to be "Insert image from clipboard"). * When selecting objects by dragging a rectangle, select all objects included in the rectangle when dragging is from left to right, select all objects intersecting the rectangle when dragging is from right to left. * Windows shell no longer pops up when running Latex (feature #2). * Abort button for current drawing operation (useful on tablet computers without Escape key). * Focus now on text field in text creation dialogs. * When an external editor is defined, the dialog displaying the Latex error log now offers to show the Latex source used by Ipe (feature #24). * Changed file extension of dynamic libraries to .dylib on Mac OS X (feature #20). * Charset support for Latex conversion now supported on Windows. * Static member function "selectPageOrView" moved from "PageSelector" to "CanvasBase". "PageSelector" is now considered an internal class and should not be used by external code (it doesn't even exist in Windows code). * Developer menu with useful functions for customizing ipelets: reload all ipelets (this is useful when working on an ipelet), list all the keyboard shortcuts, check if there are any duplicate shortcuts defined. The developer menu needs to be enabled by setting prefs.developer. * "Insert image" moved into Ipe program itself instead of an ipelet, now implemented using turbojpeg and libpng libraries instead of Qt. * Fixed creation of arc defined by three collinear points. * Lua bindings for: (1) getting gradient from a stylesheet; (2) creating gradients, tilings, and effects through an XML string; (3) removing definitions of symbolic names from a stylesheet. * In "Save as" file dialog, start with the current filename (feature #22). * Fixed missed intersection points between splines and splines/segments (bug #8). * Unused arguments of Object::setAttribute removed. * Fixed crash when snapping to the intersection of two parallel lines (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728479). * Changed default "Save as" destination on Windows to something more useful. -------------------------------------------------------------------- Ipe 7.1.6 (2014-12-05) * Fixed crash when input file contains zero-radius arc (bug #1). * Added missing "qhull.dll" (bug #3). * IPESTYLES and IPELETPATH now use semicolon as separator on Windows and colon on Unix (bug #4). * New arrow styles "ptarc" and "fptarc" for pointed arrows on circular arcs (feature #19). * Using a separate locale for number conversion, hopefully fixing the problems Ipe users on European locales with a comma for the decimal separator were having (bug #11). * Option "Pretty display" to avoid drawing the green bounding box for text objects, so that one can see what the drawing really looks like (feature #13). * Fixed snapping to negative grid coordinates (bug #9). * Preference prefs.editable_textfile to set the name of the text file to be written for editing in an external text editor. -------------------------------------------------------------------- Ipe 7.1.5 (2014-05-07) * Enabled automatic shortcuts on MacOS X. The shortcuts Alt+Letter for menu items and dialog buttons should now also work on Macs (thanks Sascha). * Included Voronoi ipelet in Windows binaries * New -nocrop option in iperender. * prefs.editor_size setting now works in Qt build (bug #140). * prefs.docks to choose left/right dock side and prefs.hide_docks to select which docks should be visible when Ipe starts. * prefs.editor_closes_dialog to make editing dialog close immediately when user exits external editor * Fixed crash when Ipe file named on command line exists but cannot be loaded. * Fixed error message when trying to open PDF file that was not created by Ipe. * Iperender will now include the page background if used with -nocrop. * Fix compilation on MacOS X 10.9 (bug #145). * Del key on Mac keyboard now works to delete last vertex (bug #149). * Bitmaps are now displayed on screen with better quality (thanks Dmitriy). * Link to IpePresenter in Ipe manual and on the webpage. IpePresenter executable included in Windows binary package. * Layer names with non-ASCII characters now work and no longer cause a crash (bugs #137 and #132). * Using libturbojpeg for decoding embedded JPEG images. It's faster and fixes bug #125. * "Insert text box" now computes position of new textbox based on the position of the visible text only (feature #141). * When text size is changed, Latex is automatically run. -------------------------------------------------------------------- Ipe 7.1.4 (2013-3-15) * Windows binaries provided again. * Migrated to using Lua 5.2 (feature #113). * Fixed bug in "ipescript update-master" with several figures (bug #85). * Ipe scripts (to be run with "ipescript
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
 Nipe
 CA85SourceFilter source adding ASCII85 decoding
 CA85StreamFilter stream adding ASCII85 encoding
 CAllAttributesCollection of all object attributes
 CAngleA double that's an angle
 CArcAn arc of an ellipse
 CAttributeAn attribute of an Ipe Object
 CBase64SourceFilter source adding Base64 decoding
 CBase64StreamFilter stream adding Base64 encoding
 CBBoxPainterPaint objects using this painter to compute an accurate bounding box
 CBezierA cubic Bezier spline
 CBitmapA bitmap
 CBitmapFinderA visitor that recursively scans objects and collects all bitmaps
 CBufferA memory buffer
 CBufferSourceData source for parsing from a buffer
 CCairoPainterIpe Painter using Cairo and Freetype as a backend
 CCanvasA widget (control) that displays an Ipe document page
 CCanvasBase
 CCanvasObserver
 CCascadeA cascade of style sheets
 CClosedSplineA closed B-spline curve
 CColorAn absolute RGB color
 CCurveSubpath consisting of a sequence of CurveSegment's
 CCurveSegmentA segment on an SubPath
 CDataSourceInterface for getting data for parsing
 CDeflateStreamFilter stream adding flate compression
 CDocumentThe model for an Ipe document
 CEffectEffect that Acrobat Reader will show on page change
 CEllipseAn ellipse subpath
 CFaceA typeface (aka font), actually loaded (from a font file or PDF file)
 CFileSourceData source for parsing from a file
 CFileStreamStream writing into an open file
 CFixedFixed point number with three (decimal) fractional digits
 CFontsProvides the fonts used to render text
 CGradientA gradient pattern
 CGroupThe group object
 CImageThe image object
 CImlParserXML Parser for Ipe documents and style sheets
 CInflateSourceFilter source adding flate decompression
 CIpeletAbstract base class for Ipelets
 CIpeletDataInformation provided to an ipelet when it is run
 CIpeletHelperService provider for Ipelets
 CLatexObject that converts latex source to PDF format
 CLayoutLayout of a Page
 CLexLexical analyser. Seeded with a string
 CLineA directed line
 CLinearLinear transformation in the plane (2x2 matrix)
 CMatrixHomogeneous transformation in the plane
 CObjectBase class for all Ipe objects, composite or leaf
 CObjectFactoryFactory for Ipe leaf objects
 CPageAn Ipe document page
 CPageSelectorA Qt widget that displays a list of Ipe pages
 CPainterInterface for drawing
 CPanToolA tool for panning the canvas
 CPathThe path object (polylines, polygons, and generalizations)
 CPdfArrayThe PDF array object
 CPdfBoolThe PDF bool object
 CPdfDictThe PDF dictionary and stream objects
 CPdfFileAll information obtained by parsing a PDF file
 CPdfNameThe PDF name object
 CPdfNullThe PDF null object
 CPdfNumberThe PDF number object
 CPdfObjAbstract base class for PDF objects
 CPdfPainter
 CPdfParserPDF parser
 CPdfRefThe PDF reference object (indirect object)
 CPdfResourcesAll the resources needed by the text objects in the document
 CPdfStringThe PDF string object
 CPdfTokenA PDF lexical token
 CPdfWriterCreate PDF file
 CPlatformPlatform dependent methods
 CPsPainter
 CPsWriter
 CRectAxis-parallel rectangle (which can be empty)
 CReferenceThe reference object
 CRepositoryRepository of strings
 CSegmentA directed line segment
 CSelectToolA tool for selecting objects
 CShapeA geometric shape, consisting of several (open or closed) subpaths
 CSnapPerforms snapping operations, and stores snapping state
 CStreamAbstract base class for output streams
 CStringStrings and buffers
 CStringStreamStream writing into an String
 CStyleSheetA style sheet maps symbolic names to absolute values
 CSubPathA subpath of a Path
 CSymbolA symbol is a named object defined in an ipe::StyleSheet
 CTellStreamAdds position feedback to IpeStream
 CTextThe text object
 CTextPaddingPadding for text bounding box
 CThumbnail
 CTilingA tiling pattern
 CToolAbstract base class for various canvas tools
 CTransformToolA tool for transforming the selected objects on the canvas
 CVectorTwo-dimensional vector
 CVisitorBase class for visitors to Object
 CXmlAttributesStores attributes of an XML tag
 CXmlParserBase class for XML stream parsing
 CCanvas

ipe-7.2.7/build/doc/arrowdown.png000644 000766 000000 00000000366 13022535404 020740 0ustar00otfried.cheongwheel000000 000000 PNG  IHDRɪ|IDATx!NA\ Um@`5i`h W7] b&ofdY4 c 3v=]\B I=BB;k WN@vy4]Y|M}]x6a }dׇY>||5?>|B"'IENDB`ipe-7.2.7/build/doc/arrowright.png000644 000766 000000 00000000345 13022535404 021103 0ustar00otfried.cheongwheel000000 000000 PNG  IHDRɪ|IDATx=QFDk:FPK؃=V@ճ 8SHx0bnrr{򽿾$ TP XOd6"SOB(Q)+YĈ ҪR>Vtsm9(k-@ȧ-$ b [he Kp-l|CApRG'rͭaIENDB`ipe-7.2.7/build/doc/bc_s.png000644 000766 000000 00000001244 13022535404 017620 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR_ kIDATxkQϝ̤I&m&156*nąܸR,4 +H(Ub1J.(EmߏhJmKS'C(х & r3g(z&_9}՟@mu ` h`ԯ &~M4%3?h)\Yi>Jb @giވkg\轭EUv+?E"pB\Y&$vM+Dn)}:Xo 3گ'.f0u9Ljf6%3Gf#sm(,k*ʒJJˢou_~ r]%%mnu]zr5[ưXeI+ Kch` ^ލnIENDB`ipe-7.2.7/build/doc/blank.png000644 000766 000000 00000001677 13022535404 020013 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR DsRGBgAMA a cHRMz&u0`:pQ<PLTE 3f333f3333f3ffffff3f̙3f3f333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f3333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffffff3ffff̙fff3fffffff3ffffff3f333f3333f3ffffff3f̙̙3̙f̙̙̙̙3f3f̙333f3̙333f3fff̙fff3f̙̙3f̙3f̙3f333f3333f3ffffff3f̙3f3fCA pHYs+IDAT8OcI0*h8@h8pd.x1IENDB`ipe-7.2.7/build/doc/class_canvas-members.html000644 000766 000000 00000071347 13022535404 023175 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
Canvas Member List

This is the complete list of members for Canvas, including all inherited members.

additionalModifiers() const ipe::CanvasBaseinline
button(bool press, NSEvent *event)Canvas
Canvas(IpeCanvasView *view)Canvas
CanvasBase()ipe::CanvasBaseprotected
canvasHeight() const ipe::CanvasBaseinline
canvasStyle() const ipe::CanvasBaseinline
canvasTfm() const ipe::CanvasBase
canvasWidth() const ipe::CanvasBaseinline
cascade() const ipe::CanvasBaseinline
center() const ipe::CanvasBaseinline
computeFifi(double x, double y)ipe::CanvasBaseprotected
devToUser(const Vector &arg) const ipe::CanvasBase
drawAxes(cairo_t *cc)ipe::CanvasBaseprotected
drawFifi(cairo_t *cr)ipe::CanvasBaseprotected
drawFrame(cairo_t *cc)ipe::CanvasBaseprotected
drawGrid(cairo_t *cc)ipe::CanvasBaseprotected
drawObjects(cairo_t *cc)ipe::CanvasBaseprotected
drawPaper(cairo_t *cc)ipe::CanvasBaseprotected
drawRect(NSRect rect)Canvas
drawTool(Painter &painter)ipe::CanvasBaseprotected
EAlt enum valueipe::CanvasBase
ECommand enum valueipe::CanvasBase
EControl enum valueipe::CanvasBase
ECrossCursor enum valueipe::CanvasBase
EDotCursor enum valueipe::CanvasBase
EHandCursor enum valueipe::CanvasBase
EMeta enum valueipe::CanvasBase
EShift enum valueipe::CanvasBase
EStandardCursor enum valueipe::CanvasBase
finishTool()ipe::CanvasBase
globalPos() const ipe::CanvasBaseinline
iAdditionalModifiersipe::CanvasBaseprotected
iAutoOriginipe::CanvasBaseprotected
iAutoSnapipe::CanvasBaseprotected
iBHeightipe::CanvasBaseprotected
iBWidthipe::CanvasBaseprotected
iCascadeipe::CanvasBaseprotected
iDimmedipe::CanvasBaseprotected
iFifiModeipe::CanvasBaseprotected
iFifiVisibleipe::CanvasBaseprotected
iFontsipe::CanvasBaseprotected
iGlobalPosipe::CanvasBaseprotected
iHeightipe::CanvasBaseprotected
iMousePosipe::CanvasBaseprotected
iObserveripe::CanvasBaseprotected
iOldFifiipe::CanvasBaseprotected
iPageipe::CanvasBaseprotected
iPageNumberipe::CanvasBaseprotected
iPanipe::CanvasBaseprotected
iRepaintObjectsipe::CanvasBaseprotected
iResourcesipe::CanvasBaseprotected
iSelectionVisibleipe::CanvasBaseprotected
isInkModeipe::CanvasBaseprotected
iSnapipe::CanvasBaseprotected
iStyleipe::CanvasBaseprotected
iSurfaceipe::CanvasBaseprotected
iToolipe::CanvasBaseprotected
iUnsnappedMousePosipe::CanvasBaseprotected
iWidthipe::CanvasBaseprotected
iZoomipe::CanvasBaseprotected
key(NSEvent *event)Canvas
mouseMove(NSEvent *event)Canvas
pan() const ipe::CanvasBaseinline
pos() const ipe::CanvasBaseinline
refreshSurface()ipe::CanvasBaseprotected
scrollWheel(NSEvent *event)Canvas
selectPageOrView(Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)ipe::CanvasBasestatic
setAdditionalModifiers(int mod)ipe::CanvasBase
setAutoOrigin(const Vector &v)ipe::CanvasBase
setCanvasStyle(const Style &style)ipe::CanvasBase
setDimmed(bool dimmed)ipe::CanvasBase
setFifiVisible(bool visible)ipe::CanvasBase
setInkMode(bool ink)ipe::CanvasBaseinline
setObserver(CanvasObserver *observer)ipe::CanvasBase
setPage(const Page *page, int pno, int view, const Cascade *sheet)ipe::CanvasBase
setPan(const Vector &v)ipe::CanvasBase
setResources(const PdfResources *resources)ipe::CanvasBase
setSelectionVisible(bool visible)ipe::CanvasBase
setSnap(const Snap &s)ipe::CanvasBase
setTool(Tool *tool)ipe::CanvasBase
setZoom(double zoom)ipe::CanvasBase
simpleSnapPos() const ipe::CanvasBase
snap() const ipe::CanvasBaseinline
snapToPaperAndFrame()ipe::CanvasBaseprotected
TCursor enum nameipe::CanvasBase
TModifiers enum nameipe::CanvasBase
tool()ipe::CanvasBaseinline
unsnappedPos() const ipe::CanvasBaseinline
update()ipe::CanvasBase
updateTool()ipe::CanvasBase
userToDev(const Vector &arg) const ipe::CanvasBase
view()Canvasinline
zoom() const ipe::CanvasBaseinline
~Canvas()Canvasvirtual
~CanvasBase()ipe::CanvasBasevirtual

ipe-7.2.7/build/doc/class_canvas.html000644 000766 000000 00000163534 13022535404 021545 0ustar00otfried.cheongwheel000000 000000 Ipelib: Canvas Class Reference
Canvas Class Reference

#include <ipecanvas_cocoa.h>

Inherits ipe::CanvasBase.

Public Member Functions

 Canvas (IpeCanvasView *view)
 
virtual ~Canvas ()
 
IpeCanvasView * view ()
 
void button (bool press, NSEvent *event)
 
void mouseMove (NSEvent *event)
 
bool key (NSEvent *event)
 
void scrollWheel (NSEvent *event)
 
void drawRect (NSRect rect)
 
- Public Member Functions inherited from ipe::CanvasBase
virtual ~CanvasBase ()
 
void setPage (const Page *page, int pno, int view, const Cascade *sheet)
 
void setResources (const PdfResources *resources)
 
Vector pan () const
 
double zoom () const
 
const Cascadecascade () const
 
Vector center () const
 
Vector pos () const
 
Vector unsnappedPos () const
 
Vector globalPos () const
 
Vector simpleSnapPos () const
 
const Snapsnap () const
 
void setInkMode (bool ink)
 
int additionalModifiers () const
 
void setAdditionalModifiers (int mod)
 
Vector devToUser (const Vector &arg) const
 
Vector userToDev (const Vector &arg) const
 
void setCanvasStyle (const Style &style)
 
Style canvasStyle () const
 
void setPan (const Vector &v)
 
void setZoom (double zoom)
 
void setSnap (const Snap &s)
 
void setDimmed (bool dimmed)
 
void setAutoOrigin (const Vector &v)
 
Matrix canvasTfm () const
 
void setObserver (CanvasObserver *observer)
 
void setFifiVisible (bool visible)
 
void setSelectionVisible (bool visible)
 
void setTool (Tool *tool)
 
void finishTool ()
 
Tooltool ()
 
void update ()
 
void updateTool ()
 
int canvasWidth () const
 
int canvasHeight () const
 

Additional Inherited Members

- Public Types inherited from ipe::CanvasBase
enum  TModifiers {
  EShift = 0x100, EControl = 0x200, EAlt = 0x400, EMeta = 0x800,
  ECommand = 0x1000
}
 
enum  TCursor { EStandardCursor, EHandCursor, ECrossCursor, EDotCursor }
 
- Static Public Member Functions inherited from ipe::CanvasBase
static int selectPageOrView (Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)
 
- Protected Member Functions inherited from ipe::CanvasBase
 CanvasBase ()
 
void drawPaper (cairo_t *cc)
 
void drawFrame (cairo_t *cc)
 
void drawAxes (cairo_t *cc)
 
void drawGrid (cairo_t *cc)
 
void drawObjects (cairo_t *cc)
 
void drawTool (Painter &painter)
 
void snapToPaperAndFrame ()
 
void refreshSurface ()
 
void computeFifi (double x, double y)
 
void drawFifi (cairo_t *cr)
 
- Protected Attributes inherited from ipe::CanvasBase
CanvasObserveriObserver
 
TooliTool
 
const PageiPage
 
int iPageNumber
 
int iView
 
const CascadeiCascade
 
Style iStyle
 
Vector iPan
 
double iZoom
 
Snap iSnap
 
bool iDimmed
 
bool iAutoSnap
 
Vector iAutoOrigin
 
int iAdditionalModifiers
 
bool isInkMode
 
bool iRepaintObjects
 
double iWidth
 
double iHeight
 
double iBWidth
 
double iBHeight
 
cairo_surface_t * iSurface
 
Vector iUnsnappedMousePos
 
Vector iMousePos
 
Vector iGlobalPos
 
Vector iOldFifi
 
bool iFifiVisible
 
Snap::TSnapModes iFifiMode
 
bool iSelectionVisible
 
const PdfResourcesiResources
 
FontsiFonts
 

Constructor & Destructor Documentation

Canvas::Canvas ( IpeCanvasView *  view)
virtual Canvas::~Canvas ( )
virtual

Member Function Documentation

IpeCanvasView* Canvas::view ( )
inline
void Canvas::button ( bool  press,
NSEvent *  event 
)

Referenced by drawRect().

bool Canvas::key ( NSEvent *  event)

References ipe::CanvasBase::iTool, ipe::Tool::key(), and key().

Referenced by key().


The documentation for this class was generated from the following files:
  • ipecanvas_cocoa.h
  • ipecanvas_cocoa.cpp

ipe-7.2.7/build/doc/classes.html000644 000766 000000 00000055641 13022535404 020541 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Index
Class Index
A | B | C | D | E | F | G | I | L | M | O | P | R | S | T | V | X
  A  
CurveSegment (ipe)   
  L  
PdfNumber (ipe)   String (ipe)   
  D  
PdfObj (ipe)   StringStream (ipe)   
A85Source (ipe)   Latex (ipe)   PdfPainter (ipe)   CanvasBase::Style (ipe)   
A85Stream (ipe)   DataSource (ipe)   Layout (ipe)   PdfParser (ipe)   StyleSheet (ipe)   
AllAttributes (ipe)   DeflateStream (ipe)   Lex (ipe)   PdfRef (ipe)   SubPath (ipe)   
Angle (ipe)   Document (ipe)   Line (ipe)   PdfResources (ipe)   Symbol (ipe)   
Arc (ipe)   
  E  
Linear (ipe)   PdfString (ipe)   
  T  
Attribute (ipe)   
  M  
PdfToken (ipe)   
  B  
Effect (ipe)   PdfWriter (ipe)   TellStream (ipe)   
Ellipse (ipe)   Matrix (ipe)   Platform (ipe)   Text (ipe)   
Base64Source (ipe)   
  F  
Bitmap::MRenderData (ipe)   PsPainter (ipe)   TextPadding (ipe)   
Base64Stream (ipe)   
  O  
PsWriter (ipe)   Thumbnail (ipe)   
BBoxPainter (ipe)   Face (ipe)   
  R  
Tiling (ipe)   
Bezier (ipe)   FileSource (ipe)   Object (ipe)   StyleSheet::TitleStyle (ipe)   
Bitmap (ipe)   FileStream (ipe)   ObjectFactory (ipe)   Rect (ipe)   Tool (ipe)   
BitmapFinder (ipe)   Fixed (ipe)   
  P  
Reference (ipe)   TransformTool (ipe)   
Buffer (ipe)   Fonts (ipe)   Repository (ipe)   
  V  
BufferSource (ipe)   
  G  
Page (ipe)   
  S  
  C  
StyleSheet::PageNumberStyle (ipe)   Vector (ipe)   
Gradient (ipe)   PageSelector (ipe)   Segment (ipe)   Visitor (ipe)   
CairoPainter (ipe)   Group (ipe)   Painter (ipe)   SelectTool (ipe)   
  X  
Canvas   
  I  
PanTool (ipe)   Shape (ipe)   
Canvas (ipe)   Path (ipe)   Snap (ipe)   Text::XForm (ipe)   
CanvasBase (ipe)   Image (ipe)   PdfArray (ipe)   SelectTool::SObj (ipe)   XmlAttributes (ipe)   
CanvasObserver (ipe)   ImlParser (ipe)   PdfBool (ipe)   PdfResources::SPageNumber (ipe)   XmlParser (ipe)   
Cascade (ipe)   InflateSource (ipe)   PdfDict (ipe)   Document::SProperties (ipe)   
ClosedSpline (ipe)   Ipelet (ipe)   PdfFile (ipe)   Painter::State (ipe)   
Color (ipe)   IpeletData (ipe)   PdfName (ipe)   Gradient::Stop (ipe)   
Curve (ipe)   IpeletHelper (ipe)   PdfNull (ipe)   Stream (ipe)   
A | B | C | D | E | F | G | I | L | M | O | P | R | S | T | V | X

ipe-7.2.7/build/doc/classipe_1_1_a85_source-members.html000644 000766 000000 00000006126 13022535404 025026 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::A85Source Member List

This is the complete list of members for ipe::A85Source, including all inherited members.

A85Source(DataSource &source)ipe::A85Source
getChar()ipe::A85Sourcevirtual
~DataSource()=0ipe::DataSourcepure virtual

ipe-7.2.7/build/doc/classipe_1_1_a85_source.html000644 000766 000000 00000014116 13022535404 023374 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::A85Source Class Reference

#include <ipeutils.h>

Inherits ipe::DataSource.

Public Member Functions

 A85Source (DataSource &source)
 
virtual int getChar ()
 
- Public Member Functions inherited from ipe::DataSource
virtual ~DataSource ()=0
 

Detailed Description

Filter source adding ASCII85 decoding.

Constructor & Destructor Documentation

A85Source::A85Source ( DataSource source)

Member Function Documentation

int A85Source::getChar ( )
virtual

Get one more character, or EOF.

Implements ipe::DataSource.

References ipe::DataSource::getChar().

Referenced by ipe::Document::formatFromFilename().


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_a85_stream-members.html000644 000766 000000 00000014077 13022535404 025025 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::A85Stream Member List

This is the complete list of members for ipe::A85Stream, including all inherited members.

A85Stream(Stream &stream)ipe::A85Stream
close()ipe::A85Streamvirtual
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)ipe::A85Streamvirtual
putCString(const char *s)ipe::Streamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::Streamvirtual
putString(String s)ipe::Streamvirtual
putXmlString(String s)ipe::Stream
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_a85_stream.html000644 000766 000000 00000030646 13022535404 023375 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::A85Stream Class Reference

#include <ipeutils.h>

Inherits ipe::Stream.

Public Member Functions

 A85Stream (Stream &stream)
 
virtual void putChar (char ch)
 
virtual void close ()
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Filter stream adding ASCII85 encoding.

Constructor & Destructor Documentation

A85Stream::A85Stream ( Stream stream)

Member Function Documentation

void A85Stream::putChar ( char  ch)
virtual

Output character.

Implements ipe::Stream.

References ipe::Stream::putChar(), and ipe::Stream::putCString().

void A85Stream::close ( )
virtual

Close the stream. No more writing allowed!

Reimplemented from ipe::Stream.

References ipe::Stream::close(), and ipe::Stream::putCString().


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_all_attributes-members.html000644 000766 000000 00000023026 13022535404 026065 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::AllAttributes Member List

ipe-7.2.7/build/doc/classipe_1_1_all_attributes.html000644 000766 000000 00000071411 13022535404 024436 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::AllAttributes Class Reference

#include <ipeattributes.h>

Public Member Functions

 AllAttributes ()
 

Public Attributes

TPathMode iPathMode
 
Attribute iStroke
 
Attribute iFill
 
Attribute iDashStyle
 
Attribute iPen
 
bool iFArrow
 
bool iRArrow
 
Attribute iFArrowShape
 
Attribute iRArrowShape
 
Attribute iFArrowSize
 
Attribute iRArrowSize
 
Attribute iSymbolSize
 
Attribute iTextSize
 
THorizontalAlignment iHorizontalAlignment
 
TVerticalAlignment iVerticalAlignment
 
Attribute iTextStyle
 
Attribute iLabelStyle
 
TPinned iPinned
 
bool iTransformableText
 
TTransformations iTransformations
 
TLineJoin iLineJoin
 
TLineCap iLineCap
 
TFillRule iFillRule
 
Attribute iOpacity
 
Attribute iTiling
 
Attribute iGradient
 
Attribute iMarkShape
 

Detailed Description

Collection of all object attributes.

Constructor & Destructor Documentation

AllAttributes::AllAttributes ( )

Constructor sets default values.

Referenced by ipe::Attribute::normal().

Member Data Documentation

TPathMode ipe::AllAttributes::iPathMode

Should we stroke and/or fill?

Attribute ipe::AllAttributes::iStroke

Stroke color.

Referenced by ipe::Latex::addPageNumber(), and ipe::Text::Text().

Attribute ipe::AllAttributes::iFill

Fill color.

Attribute ipe::AllAttributes::iDashStyle

Dash style.

Attribute ipe::AllAttributes::iPen

Pen (that is, line width).

bool ipe::AllAttributes::iFArrow

Arrow forward?

bool ipe::AllAttributes::iRArrow

Reverse arrow?

Attribute ipe::AllAttributes::iFArrowShape

Shape of forward arrows.

Attribute ipe::AllAttributes::iRArrowShape

Shape of reverse arrows.

Attribute ipe::AllAttributes::iFArrowSize

Forward arrow size.

Attribute ipe::AllAttributes::iRArrowSize

Reverse arrow size.

Attribute ipe::AllAttributes::iSymbolSize

Symbol size.

Attribute ipe::AllAttributes::iTextSize

Text size. Horizontal alignment of label objects.

Referenced by ipe::Latex::addPageNumber(), and ipe::Text::Text().

THorizontalAlignment ipe::AllAttributes::iHorizontalAlignment
TVerticalAlignment ipe::AllAttributes::iVerticalAlignment

Vertical alignment of label objects.

Referenced by ipe::Latex::addPageNumber(), and ipe::Text::Text().

Attribute ipe::AllAttributes::iTextStyle

Text style for minipages.

Referenced by ipe::Text::Text().

Attribute ipe::AllAttributes::iLabelStyle

Text style for labels.

Referenced by ipe::Text::Text().

TPinned ipe::AllAttributes::iPinned

Pinned status. Should newly created text be transformable?

Referenced by ipe::Object::Object().

bool ipe::AllAttributes::iTransformableText

If this is false, newly created text will only allow translations. Otherwise, the value of iTranslations is used (as for other objects).

Referenced by ipe::Text::Text().

TTransformations ipe::AllAttributes::iTransformations

Allowed transformations.

Referenced by ipe::Object::Object().

TLineJoin ipe::AllAttributes::iLineJoin

Line join style.

TLineCap ipe::AllAttributes::iLineCap

Line cap style.

TFillRule ipe::AllAttributes::iFillRule

Shape fill rule.

Attribute ipe::AllAttributes::iOpacity

Opacity.

Referenced by ipe::Text::Text().

Attribute ipe::AllAttributes::iTiling

Tiling pattern.

Attribute ipe::AllAttributes::iGradient

Gradient pattern.

Attribute ipe::AllAttributes::iMarkShape

Shape of Mark to create.


The documentation for this class was generated from the following files:
  • ipeattributes.h
  • ipeattributes.cpp

ipe-7.2.7/build/doc/classipe_1_1_angle-members.html000644 000766 000000 00000010220 13022535404 024125 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Angle Member List

This is the complete list of members for ipe::Angle, including all inherited members.

Angle()ipe::Angleinlineexplicit
Angle(double alpha)ipe::Angleinline
degrees() const ipe::Angle
Degrees(double alpha)ipe::Angleinlinestatic
liesBetween(Angle small, Angle large) const ipe::Angle
normalize(double lowlimit)ipe::Angle
operator double() const ipe::Angleinline

ipe-7.2.7/build/doc/classipe_1_1_angle.html000644 000766 000000 00000032202 13022535404 022501 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Angle Class Reference

#include <ipegeo.h>

Public Member Functions

 Angle ()
 
 Angle (double alpha)
 
 operator double () const
 
double degrees () const
 
Angle normalize (double lowlimit)
 
bool liesBetween (Angle small, Angle large) const
 

Static Public Member Functions

static Angle Degrees (double alpha)
 

Detailed Description

A double that's an angle.

An Angle is really nothing more than a double. Having a separate type is sometimes useful, for instance in the Vector constructor, and this class serves as the right place for a few utility functions. It also makes it clear whether a value is in radians or in degrees.

Constructor & Destructor Documentation

ipe::Angle::Angle ( )
inlineexplicit

Construct uninitialized angle.

Referenced by ipe::Vector::angle(), Degrees(), and ipe::Arc::intersect().

ipe::Angle::Angle ( double  alpha)
inline

Construct an angle (in radians).

Member Function Documentation

static Angle ipe::Angle::Degrees ( double  alpha)
inlinestatic

Construct an angle in degrees.

References Angle().

Referenced by ipe::ImlParser::parseStyle().

ipe::Angle::operator double ( ) const
inline

Return value (in radians).

References degrees(), liesBetween(), and normalize().

double Angle::degrees ( ) const
Angle Angle::normalize ( double  lowlimit)

Normalize the value to the range lowlimit .. lowlimit + 2 pi.

This Angle object is modified, a copy is returned.

Referenced by ipe::Painter::doDrawArc(), ipe::Snap::getLine(), liesBetween(), and operator double().

bool Angle::liesBetween ( Angle  small,
Angle  large 
) const

When considering the positively oriented circle arc from angle small to large, does it cover this angle?

References normalize(), and ipe::Vector::Vector().

Referenced by ipe::Arc::bbox(), ipe::Arc::distance(), ipe::Arc::intersect(), and operator double().


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_arc-members.html000644 000766 000000 00000015422 13022535404 023615 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Arc Member List

This is the complete list of members for ipe::Arc, including all inherited members.

Arc()ipe::Arcinline
Arc(const Matrix &m, Angle alpha, Angle beta)ipe::Arcinline
Arc(const Matrix &m)ipe::Arcinline
Arc(const Matrix &m0, const Vector &begp, const Vector &endp)ipe::Arc
bbox() const ipe::Arc
beginp() const ipe::Arcinline
distance(const Vector &v, double bound) const ipe::Arc
distance(const Vector &v, double bound, Vector &pos, Angle &angle) const ipe::Arc
endp() const ipe::Arcinline
iAlphaipe::Arc
iBetaipe::Arc
iMipe::Arc
intersect(const Line &l, std::vector< Vector > &result) const ipe::Arc
intersect(const Segment &s, std::vector< Vector > &result) const ipe::Arc
intersect(const Arc &a, std::vector< Vector > &result) const ipe::Arc
intersect(const Bezier &b, std::vector< Vector > &result) const ipe::Arc
isEllipse() const ipe::Arcinline

ipe-7.2.7/build/doc/classipe_1_1_arc.html000644 000766 000000 00000076721 13022535404 022176 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Arc Class Reference

#include <ipegeo.h>

Public Member Functions

 Arc ()
 
 Arc (const Matrix &m, Angle alpha, Angle beta)
 
 Arc (const Matrix &m)
 
 Arc (const Matrix &m0, const Vector &begp, const Vector &endp)
 
bool isEllipse () const
 
double distance (const Vector &v, double bound) const
 
double distance (const Vector &v, double bound, Vector &pos, Angle &angle) const
 
Rect bbox () const
 
Vector beginp () const
 
Vector endp () const
 
void intersect (const Line &l, std::vector< Vector > &result) const
 
void intersect (const Segment &s, std::vector< Vector > &result) const
 
void intersect (const Arc &a, std::vector< Vector > &result) const
 
void intersect (const Bezier &b, std::vector< Vector > &result) const
 

Public Attributes

Matrix iM
 
Angle iAlpha
 
Angle iBeta
 

Detailed Description

An arc of an ellipse.

The ellipse is represented using the matrix that transforms the unit circle x^2 + y^2 = 1 to the desired ellipse. The arc coordinate system is the coordinate system of this unit circle.

A full ellipse is described by iAlpha = 0, iBeta = IpeTwoPi.

An elliptic arc is the image of the circular arc from iAlpha to iBeta (in increasing angle in arc coordinate system).

Constructor & Destructor Documentation

ipe::Arc::Arc ( )
inline

Construct unit circle.

Referenced by ipe::Matrix::operator*().

ipe::Arc::Arc ( const Matrix m,
Angle  alpha,
Angle  beta 
)
inline

Construct with given parameters.

ipe::Arc::Arc ( const Matrix m)
inline

Construct an ellipse.

Arc::Arc ( const Matrix m,
const Vector begp,
const Vector endp 
)

Construct arc for ellipse defined by m, from begp to endp.

This assumes that m has been correctly computed such that begb and endp already lie on the ellipse.

References ipe::Matrix::inverse().

Member Function Documentation

bool ipe::Arc::isEllipse ( ) const
inline

Is this an entire ellipse?

References iAlpha, and iBeta.

Referenced by ipe::CairoPainter::doDrawArc(), and ipe::Painter::doDrawArc().

double Arc::distance ( const Vector v,
double  bound 
) const

This doesn't really compute the distance, but a reasonable approximation.

Referenced by ipe::Ellipse::distance(), ipe::Snap::setEdge(), ipe::CurveSegment::snapBnd(), and ipe::Ellipse::snapBnd().

double Arc::distance ( const Vector v,
double  bound,
Vector pos,
Angle angle 
) const

Like distance(), but sets pos to point on arc and angle to its angle in arc coordinates. angle and pos are not modified if result is larger than bound.

References ipe::Vector::angle(), ipe::Matrix::inverse(), ipe::Angle::liesBetween(), and ipe::Vector::normalized().

Rect Arc::bbox ( ) const

Return a tight bounding box.

References ipe::Rect::addPoint(), ipe::Linear::inverse(), and ipe::Angle::liesBetween().

Referenced by intersect().

Vector ipe::Arc::beginp ( ) const
inline

Return begin point of arc.

References iAlpha, and iM.

Referenced by ipe::Path::drawArrow(), and intersect().

Vector ipe::Arc::endp ( ) const
inline

Return end point of arc.

References iBeta, and iM.

Referenced by ipe::Path::drawArrow(), and intersect().

void Arc::intersect ( const Line l,
std::vector< Vector > &  result 
) const

Compute intersection points of Arc with Line.

References ipe::Vector::angle(), ipe::Line::dir(), ipe::Line::iP, ipe::Angle::liesBetween(), and ipe::Matrix::linear().

Referenced by intersect().

void Arc::intersect ( const Segment s,
std::vector< Vector > &  result 
) const

Compute intersection points of Arc with Segment.

References ipe::Segment::iP, ipe::Segment::iQ, and ipe::Segment::line().

void Arc::intersect ( const Arc a,
std::vector< Vector > &  result 
) const

Compute intersection points of Arc with Arc.

References bbox(), beginp(), endp(), and intersect().

void Arc::intersect ( const Bezier b,
std::vector< Vector > &  result 
) const

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_attribute-members.html000644 000766 000000 00000047273 13022535404 025064 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Attribute Member List

This is the complete list of members for ipe::Attribute, including all inherited members.

ARROW_ARC()ipe::Attributeinlinestatic
ARROW_FARC()ipe::Attributeinlinestatic
ARROW_FPTARC()ipe::Attributeinlinestatic
ARROW_NORMAL()ipe::Attributeinlinestatic
ARROW_PTARC()ipe::Attributeinlinestatic
Attribute()ipe::Attributeinlineexplicit
Attribute(bool symbolic, String name)ipe::Attributeexplicit
Attribute(Fixed value)ipe::Attributeexplicit
Attribute(Color color)ipe::Attributeexplicit
Attribute(THorizontalAlignment align)ipe::Attributeinlineexplicit
Attribute(TVerticalAlignment align)ipe::Attributeinlineexplicit
Attribute(TLineJoin join)ipe::Attributeinlineexplicit
Attribute(TLineCap cap)ipe::Attributeinlineexplicit
Attribute(TFillRule rule)ipe::Attributeinlineexplicit
Attribute(TPinned pin)ipe::Attributeinlineexplicit
Attribute(TTransformations trans)ipe::Attributeinlineexplicit
Attribute(TPathMode pm)ipe::Attributeinlineexplicit
BACKGROUND()ipe::Attributeinlinestatic
BLACK()ipe::Attributeinlinestatic
Boolean(bool flag)ipe::Attributeinlinestatic
boolean() const ipe::Attributeinline
color() const ipe::Attribute
fillRule() const ipe::Attributeinline
horizontalAlignment() const ipe::Attributeinline
index() const ipe::Attributeinline
internal() const ipe::Attributeinline
isArcArrow() const ipe::Attributeinline
isBoolean() const ipe::Attributeinline
isColor() const ipe::Attributeinline
isEnum() const ipe::Attributeinline
isNormal() const ipe::Attributeinline
isNumber() const ipe::Attributeinline
isString() const ipe::Attributeinline
isSymbolic() const ipe::Attributeinline
lineCap() const ipe::Attributeinline
lineJoin() const ipe::Attributeinline
makeColor(String str, Attribute deflt)ipe::Attributestatic
makeDashStyle(String str)ipe::Attributestatic
makeScalar(String str, Attribute deflt)ipe::Attributestatic
makeTextSize(String str)ipe::Attributestatic
normal(Kind kind)ipe::Attributestatic
NORMAL()ipe::Attributeinlinestatic
number() const ipe::Attribute
ONE()ipe::Attributeinlinestatic
OPAQUE()ipe::Attributeinlinestatic
operator!=(const Attribute &rhs) const ipe::Attributeinline
operator==(const Attribute &rhs) const ipe::Attributeinline
pathMode() const ipe::Attributeinline
pinned() const ipe::Attributeinline
string() const ipe::Attribute
StyleSheet classipe::Attributefriend
SYM_FILL()ipe::Attributeinlinestatic
SYM_PEN()ipe::Attributeinlinestatic
SYM_STROKE()ipe::Attributeinlinestatic
transformations() const ipe::Attributeinline
UNDEFINED()ipe::Attributeinlinestatic
verticalAlignment() const ipe::Attributeinline
WHITE()ipe::Attributeinlinestatic

ipe-7.2.7/build/doc/classipe_1_1_attribute.html000644 000766 000000 00000274563 13022535404 023440 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Attribute Class Reference

#include <ipeattributes.h>

Public Member Functions

 Attribute ()
 
 Attribute (bool symbolic, String name)
 
 Attribute (Fixed value)
 
 Attribute (Color color)
 
 Attribute (THorizontalAlignment align)
 
 Attribute (TVerticalAlignment align)
 
 Attribute (TLineJoin join)
 
 Attribute (TLineCap cap)
 
 Attribute (TFillRule rule)
 
 Attribute (TPinned pin)
 
 Attribute (TTransformations trans)
 
 Attribute (TPathMode pm)
 
bool isSymbolic () const
 
bool isString () const
 
bool isColor () const
 
bool isNumber () const
 
bool isEnum () const
 
bool isBoolean () const
 
bool isNormal () const
 
int index () const
 
int internal () const
 
String string () const
 
Fixed number () const
 
Color color () const
 
bool boolean () const
 
THorizontalAlignment horizontalAlignment () const
 
TVerticalAlignment verticalAlignment () const
 
TLineJoin lineJoin () const
 
TLineCap lineCap () const
 
TFillRule fillRule () const
 
TPinned pinned () const
 
TTransformations transformations () const
 
TPathMode pathMode () const
 
bool operator== (const Attribute &rhs) const
 
bool operator!= (const Attribute &rhs) const
 
bool isArcArrow () const
 

Static Public Member Functions

static Attribute Boolean (bool flag)
 
static Attribute BLACK ()
 
static Attribute WHITE ()
 
static Attribute ONE ()
 
static Attribute NORMAL ()
 
static Attribute UNDEFINED ()
 
static Attribute BACKGROUND ()
 
static Attribute SYM_STROKE ()
 
static Attribute SYM_FILL ()
 
static Attribute SYM_PEN ()
 
static Attribute ARROW_NORMAL ()
 
static Attribute OPAQUE ()
 
static Attribute ARROW_ARC ()
 
static Attribute ARROW_FARC ()
 
static Attribute ARROW_PTARC ()
 
static Attribute ARROW_FPTARC ()
 
static Attribute makeColor (String str, Attribute deflt)
 
static Attribute makeScalar (String str, Attribute deflt)
 
static Attribute makeDashStyle (String str)
 
static Attribute makeTextSize (String str)
 
static Attribute normal (Kind kind)
 

Friends

class StyleSheet
 

Detailed Description

An attribute of an Ipe Object.

An attribute is either an absolute value or a symbolic name that has to be looked up in a StyleSheet.

All string values are replaced by indices into a Repository (that applies both to symbolic names and to absolute values that are strings). All other values are stored directly inside the attribute, either as a Fixed or a Color.

There are five different kinds of Attribute objects:

  • if isSymbolic() is true, index() returns the index into the repository, and string() returns the symbolic name.
  • if isColor() is true, color() returns an absolute RGB color.
  • if isNumeric() is true, number() returns an absolute scalar value.
  • if isEnum() is true, the attribute represents an enumeration value.
  • otherwise, isString() is true, and index() returns the index into the repository (for a string expressing the absolute value of the attribute), and string() returns the string itself.

Constructor & Destructor Documentation

ipe::Attribute::Attribute ( )
inlineexplicit

Default constructor.

Referenced by Attribute().

Attribute::Attribute ( bool  symbolic,
String  name 
)
explicit

Create an attribute with string value.

References ipe::Repository::get(), and ipe::Repository::toIndex().

Attribute::Attribute ( Fixed  value)
explicit

Create an absolute numeric attribute.

References ipe::Fixed::internal().

Attribute::Attribute ( Color  color)
explicit

Create an attribute with absolute color.

References Attribute(), ipe::Color::iBlue, ipe::Color::iGreen, ipe::Fixed::internal(), and ipe::Color::iRed.

ipe::Attribute::Attribute ( THorizontalAlignment  align)
inlineexplicit
ipe::Attribute::Attribute ( TVerticalAlignment  align)
inlineexplicit
ipe::Attribute::Attribute ( TLineJoin  join)
inlineexplicit
ipe::Attribute::Attribute ( TLineCap  cap)
inlineexplicit
ipe::Attribute::Attribute ( TFillRule  rule)
inlineexplicit
ipe::Attribute::Attribute ( TPinned  pin)
inlineexplicit
ipe::Attribute::Attribute ( TTransformations  trans)
inlineexplicit
ipe::Attribute::Attribute ( TPathMode  pm)
inlineexplicit

Member Function Documentation

static Attribute ipe::Attribute::Boolean ( bool  flag)
inlinestatic
bool ipe::Attribute::isString ( ) const
inline

Is it an absolute string value?

bool ipe::Attribute::isColor ( ) const
inline

Is it a color?

Referenced by ipe::ImlParser::parseStyle().

bool ipe::Attribute::isNumber ( ) const
inline
bool ipe::Attribute::isEnum ( ) const
inline
bool ipe::Attribute::isBoolean ( ) const
inline

Is it a boolean?

int ipe::Attribute::internal ( ) const
inline
bool ipe::Attribute::boolean ( ) const
inline
THorizontalAlignment ipe::Attribute::horizontalAlignment ( ) const
inline

Referenced by ipe::Text::setAttribute().

TVerticalAlignment ipe::Attribute::verticalAlignment ( ) const
inline

Referenced by ipe::Text::setAttribute().

TLineJoin ipe::Attribute::lineJoin ( ) const
inline

Referenced by ipe::Path::setAttribute().

TLineCap ipe::Attribute::lineCap ( ) const
inline

Referenced by ipe::Path::setAttribute().

TFillRule ipe::Attribute::fillRule ( ) const
inline

Referenced by ipe::Path::setAttribute().

TPinned ipe::Attribute::pinned ( ) const
inline
TTransformations ipe::Attribute::transformations ( ) const
inline
TPathMode ipe::Attribute::pathMode ( ) const
inline

Referenced by ipe::Path::setAttribute().

bool ipe::Attribute::operator== ( const Attribute rhs) const
inline

Are two values equal (only compares index!)

bool ipe::Attribute::operator!= ( const Attribute rhs) const
inline

Are two values different (only compares index!)

static Attribute ipe::Attribute::BLACK ( )
inlinestatic
static Attribute ipe::Attribute::WHITE ( )
inlinestatic

Create absolute white color.

Referenced by ipe::Reference::Reference(), and ipe::Reference::saveAsXml().

static Attribute ipe::Attribute::ONE ( )
inlinestatic

Create absolute number one.

Referenced by normal(), ipe::Reference::Reference(), and ipe::Reference::saveAsXml().

static Attribute ipe::Attribute::UNDEFINED ( )
inlinestatic

Create symbolic attribute "undefined".

Referenced by ipe::StyleSheet::find(), ipe::Cascade::find(), and ipe::Object::getAttribute().

static Attribute ipe::Attribute::BACKGROUND ( )
inlinestatic
static Attribute ipe::Attribute::SYM_STROKE ( )
inlinestatic
static Attribute ipe::Attribute::SYM_FILL ( )
inlinestatic
static Attribute ipe::Attribute::SYM_PEN ( )
inlinestatic

Create symbolic attribute "sym-pen".

Referenced by ipe::Painter::setPen(), and ipe::Painter::setSymPen().

static Attribute ipe::Attribute::ARROW_NORMAL ( )
inlinestatic

Create symbolic attribute "arrow/normal(spx)".

Referenced by normal().

static Attribute ipe::Attribute::OPAQUE ( )
inlinestatic

Create symbolic attribute "opaque".

Referenced by normal(), ipe::Text::saveAsXml(), ipe::Path::saveAsXml(), and ipe::Text::Text().

static Attribute ipe::Attribute::ARROW_ARC ( )
inlinestatic

Create symbolic attribute "arrow/arc(spx)".

Referenced by ipe::Path::draw().

static Attribute ipe::Attribute::ARROW_FARC ( )
inlinestatic

Create symbolic attribute "arrow/farc(spx)".

Referenced by ipe::Path::draw(), and ipe::Path::drawArrow().

static Attribute ipe::Attribute::ARROW_PTARC ( )
inlinestatic

Create symbolic attribute "arrow/ptarc(spx)".

Referenced by ipe::Path::drawArrow().

static Attribute ipe::Attribute::ARROW_FPTARC ( )
inlinestatic

Create symbolic attribute "arrow/fptarc(spx)".

Referenced by ipe::Path::drawArrow().

bool ipe::Attribute::isArcArrow ( ) const
inline

Is it one of the symbolic attributes "arrow/*arc(spc)"?

Referenced by ipe::Path::draw(), and ipe::Path::drawArrow().

Attribute Attribute::makeColor ( String  str,
Attribute  deflt 
)
static

Make a color attribute.

If the string starts with a letter, make a symbolic attribute. Otherwise, it's either a single gray value (0.0 to 1.0), or the three red, green, and blue components, separated by spaces. If it's an empty string, return deflt.

References ipe::Color::Color(), and ipe::String::empty().

Referenced by ipe::ImlParser::parseStyle(), ipe::Reference::Reference(), and ipe::Text::Text().

Attribute Attribute::makeScalar ( String  str,
Attribute  deflt 
)
static

Make a scalar attribute.

If str is empty, simply return deflt. If str starts with a letter, make a symbolic attribute. Otherwise, must be a number.

References ipe::String::empty().

Referenced by ipe::ImlParser::parseStyle(), and ipe::Reference::Reference().

Attribute Attribute::makeDashStyle ( String  str)
static

Construct dash style attribute from string.

Strings starting with '[' create an absolute dash style. The empty string is equivalent to 'normal'. Any other string creates a symbolic dash style.

References ipe::String::empty(), and NORMAL().

Referenced by ipe::ImlParser::parseStyle().

Attribute Attribute::makeTextSize ( String  str)
static

Construct text size attribute from string.

String starting with digit creates a numeric absolute value, string starting with letter creates symbolic text size, anything else creates absolute (string) text size. The empty string is treated like "normal".

References ipe::String::empty(), and NORMAL().

Referenced by ipe::ImlParser::parseStyle(), and ipe::Text::Text().

Friends And Related Function Documentation

friend class StyleSheet
friend

The documentation for this class was generated from the following files:
  • ipeattributes.h
  • ipeattributes.cpp

ipe-7.2.7/build/doc/classipe_1_1_b_box_painter-members.html000644 000766 000000 00000055450 13022535404 025670 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::BBoxPainter Member List

This is the complete list of members for ipe::BBoxPainter, including all inherited members.

addClipPath()ipe::Painter
bbox() const ipe::BBoxPainterinline
BBoxPainter(const Cascade *style)ipe::BBoxPainter
cascade() const ipe::Painterinline
closePath()ipe::Painter
curveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painter
curveTo(const Bezier &bezier)ipe::Painterinline
dashStyle() const ipe::Painterinline
dashStyle(std::vector< double > &dashes, double &offset) const ipe::Painter
doAddClipPath()ipe::BBoxPainterprotectedvirtual
doClosePath()ipe::Painterprotectedvirtual
doCurveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::BBoxPainterprotectedvirtual
doDrawArc(const Arc &arc)ipe::Painterprotectedvirtual
doDrawBitmap(Bitmap bitmap)ipe::BBoxPainterprotectedvirtual
doDrawPath(TPathMode mode)ipe::BBoxPainterprotectedvirtual
doDrawSymbol(Attribute symbol)ipe::Painterprotectedvirtual
doDrawText(const Text *text)ipe::BBoxPainterprotectedvirtual
doLineTo(const Vector &v)ipe::BBoxPainterprotectedvirtual
doMoveTo(const Vector &v)ipe::BBoxPainterprotectedvirtual
doNewPath()ipe::BBoxPainterprotectedvirtual
doPop()ipe::BBoxPainterprotectedvirtual
doPush()ipe::BBoxPainterprotectedvirtual
drawArc(const Arc &arc)ipe::Painter
drawArcAsBezier(double alpha)ipe::Painterprotected
drawBitmap(Bitmap bitmap)ipe::Painter
drawEllipse()ipe::Painter
drawPath(TPathMode mode)ipe::Painter
drawSymbol(Attribute symbol)ipe::Painter
drawText(const Text *text)ipe::Painter
fill() const ipe::Painterinline
fillRule() const ipe::Painterinline
gradient() const ipe::Painterinline
iCascadeipe::Painterprotected
iInPathipe::Painterprotected
iMatrixipe::Painterprotected
iStateipe::Painterprotected
lineCap() const ipe::Painterinline
lineJoin() const ipe::Painterinline
lineTo(const Vector &v)ipe::Painter
matrix() const ipe::Painterinline
moveTo(const Vector &v)ipe::Painter
newPath()ipe::Painter
opacity() const ipe::Painterinline
Painter(const Cascade *style)ipe::Painter
pen() const ipe::Painterinline
pop()ipe::Painter
popMatrix()ipe::Painter
push()ipe::Painter
pushMatrix()ipe::Painter
rect(const Rect &re)ipe::Painter
setDashStyle(Attribute dash)ipe::Painter
setFill(Attribute color)ipe::Painter
setFillRule(TFillRule rule)ipe::Painter
setGradient(Attribute grad)ipe::Painter
setLineCap(TLineCap cap)ipe::Painter
setLineJoin(TLineJoin join)ipe::Painter
setOpacity(Attribute opaq)ipe::Painter
setPen(Attribute pen)ipe::Painter
setState(const State &state)ipe::Painter
setStroke(Attribute color)ipe::Painter
setSymFill(Attribute color)ipe::Painter
setSymPen(Attribute wid)ipe::Painter
setSymStroke(Attribute color)ipe::Painter
setTiling(Attribute til)ipe::Painter
state() const ipe::Painterinline
stroke() const ipe::Painterinline
symFill() const ipe::Painterinline
symPen() const ipe::Painterinline
symStroke() const ipe::Painterinline
tiling() const ipe::Painterinline
transform(const Matrix &m)ipe::Painter
translate(const Vector &v)ipe::Painter
untransform(TTransformations trans)ipe::Painter
~Painter()ipe::Paintervirtual

ipe-7.2.7/build/doc/classipe_1_1_b_box_painter.html000644 000766 000000 00000156401 13022535404 024236 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::BBoxPainter Class Reference

#include <ipeutils.h>

Inherits ipe::Painter.

Public Member Functions

 BBoxPainter (const Cascade *style)
 
Rect bbox () const
 
- Public Member Functions inherited from ipe::Painter
 Painter (const Cascade *style)
 
virtual ~Painter ()
 
void transform (const Matrix &m)
 
void untransform (TTransformations trans)
 
void translate (const Vector &v)
 
void push ()
 
void pop ()
 
void pushMatrix ()
 
void popMatrix ()
 
void newPath ()
 
void moveTo (const Vector &v)
 
void lineTo (const Vector &v)
 
void curveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
void curveTo (const Bezier &bezier)
 
void rect (const Rect &re)
 
void drawEllipse ()
 
void drawArc (const Arc &arc)
 
void closePath ()
 
void drawPath (TPathMode mode)
 
void drawBitmap (Bitmap bitmap)
 
void drawText (const Text *text)
 
void drawSymbol (Attribute symbol)
 
void addClipPath ()
 
void setStroke (Attribute color)
 
void setFill (Attribute color)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap cap)
 
void setLineJoin (TLineJoin join)
 
void setFillRule (TFillRule rule)
 
void setSymStroke (Attribute color)
 
void setSymFill (Attribute color)
 
void setSymPen (Attribute wid)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute til)
 
void setGradient (Attribute grad)
 
const Cascadecascade () const
 
Color stroke () const
 
Color fill () const
 
const Matrixmatrix () const
 
Fixed pen () const
 
String dashStyle () const
 
void dashStyle (std::vector< double > &dashes, double &offset) const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
Color symStroke () const
 
Color symFill () const
 
Fixed symPen () const
 
Fixed opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
const Statestate () const
 
void setState (const State &state)
 

Protected Member Functions

virtual void doPush ()
 
virtual void doPop ()
 
virtual void doNewPath ()
 
virtual void doMoveTo (const Vector &v)
 
virtual void doLineTo (const Vector &v)
 
virtual void doCurveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
virtual void doDrawPath (TPathMode mode)
 
virtual void doDrawBitmap (Bitmap bitmap)
 
virtual void doDrawText (const Text *text)
 
virtual void doAddClipPath ()
 
- Protected Member Functions inherited from ipe::Painter
virtual void doDrawArc (const Arc &arc)
 
virtual void doClosePath ()
 
virtual void doDrawSymbol (Attribute symbol)
 
void drawArcAsBezier (double alpha)
 

Additional Inherited Members

- Protected Attributes inherited from ipe::Painter
std::list< StateiState
 
std::list< MatrixiMatrix
 
const CascadeiCascade
 
int iInPath
 

Detailed Description

Paint objects using this painter to compute an accurate bounding box.

The Object::bbox member function computes a bounding box useful for distance calculations and optimizations. To find a bounding box that is accurate for the actual drawn object, paint the object using a BBoxPainter, and retrieve the box with bbox.

Constructor & Destructor Documentation

BBoxPainter::BBoxPainter ( const Cascade style)

Member Function Documentation

Rect ipe::BBoxPainter::bbox ( ) const
inline
void BBoxPainter::doPush ( )
protectedvirtual

Perform graphics state push on output medium.

Reimplemented from ipe::Painter.

void BBoxPainter::doPop ( )
protectedvirtual

Perform graphics state pop on output medium.

Reimplemented from ipe::Painter.

void BBoxPainter::doNewPath ( )
protectedvirtual

Perform new path operator.

Reimplemented from ipe::Painter.

References ipe::Rect::clear().

void BBoxPainter::doMoveTo ( const Vector v)
protectedvirtual

Perform moveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Rect::addPoint().

void BBoxPainter::doLineTo ( const Vector v)
protectedvirtual

Perform lineto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Rect::addPoint().

void BBoxPainter::doCurveTo ( const Vector v1,
const Vector v2,
const Vector v3 
)
protectedvirtual

Perform curveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Rect::addPoint(), ipe::Bezier::bbox(), ipe::Rect::bottomLeft(), and ipe::Rect::topRight().

void BBoxPainter::doDrawPath ( TPathMode  mode)
protectedvirtual
void BBoxPainter::doDrawBitmap ( Bitmap  bitmap)
protectedvirtual
void BBoxPainter::doAddClipPath ( )
protectedvirtual

Add a clip path.

Reimplemented from ipe::Painter.


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_base64_source-members.html000644 000766 000000 00000006172 13022535404 025516 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Base64Source Member List

This is the complete list of members for ipe::Base64Source, including all inherited members.

Base64Source(DataSource &source)ipe::Base64Source
getChar()ipe::Base64Sourcevirtual
~DataSource()=0ipe::DataSourcepure virtual

ipe-7.2.7/build/doc/classipe_1_1_base64_source.html000644 000766 000000 00000014136 13022535404 024065 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Base64Source Class Reference
ipe::Base64Source Class Reference

#include <ipeutils.h>

Inherits ipe::DataSource.

Public Member Functions

 Base64Source (DataSource &source)
 
virtual int getChar ()
 
- Public Member Functions inherited from ipe::DataSource
virtual ~DataSource ()=0
 

Detailed Description

Filter source adding Base64 decoding.

Constructor & Destructor Documentation

Base64Source::Base64Source ( DataSource source)

Member Function Documentation

int Base64Source::getChar ( )
virtual

Get one more character, or EOF.

Implements ipe::DataSource.

References ipe::DataSource::getChar().

Referenced by ipe::Bitmap::Bitmap().


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_base64_stream-members.html000644 000766 000000 00000014154 13022535404 025510 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Base64Stream Member List

This is the complete list of members for ipe::Base64Stream, including all inherited members.

Base64Stream(Stream &stream)ipe::Base64Stream
close()ipe::Base64Streamvirtual
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)ipe::Base64Streamvirtual
putCString(const char *s)ipe::Streamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::Streamvirtual
putString(String s)ipe::Streamvirtual
putXmlString(String s)ipe::Stream
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_base64_stream.html000644 000766 000000 00000031324 13022535404 024056 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Base64Stream Class Reference
ipe::Base64Stream Class Reference

#include <ipeutils.h>

Inherits ipe::Stream.

Public Member Functions

 Base64Stream (Stream &stream)
 
virtual void putChar (char ch)
 
virtual void close ()
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Filter stream adding Base64 encoding.

Constructor & Destructor Documentation

Base64Stream::Base64Stream ( Stream stream)

Member Function Documentation

void Base64Stream::putChar ( char  ch)
virtual

Output character.

Implements ipe::Stream.

References ipe::Stream::putChar(), and ipe::Stream::putCString().

Referenced by ipe::Bitmap::saveAsXml().

void Base64Stream::close ( )
virtual

Close the stream. No more writing allowed!

Reimplemented from ipe::Stream.

References ipe::Stream::close(), and ipe::Stream::putCString().

Referenced by ipe::Bitmap::saveAsXml().


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_bezier-members.html000644 000766 000000 00000016722 13022535404 024334 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Bezier Member List

This is the complete list of members for ipe::Bezier, including all inherited members.

approximate(double precision, std::vector< Vector > &result) const ipe::Bezier
bbox() const ipe::Bezier
Bezier()ipe::Bezierinline
Bezier(const Vector &p0, const Vector &p1, const Vector &p2, const Vector &p3)ipe::Bezierinline
closedSpline(int n, const Vector *v, std::vector< Bezier > &result)ipe::Bezierstatic
distance(const Vector &v, double bound)ipe::Bezier
intersect(const Line &l, std::vector< Vector > &result) const ipe::Bezier
intersect(const Segment &l, std::vector< Vector > &result) const ipe::Bezier
intersect(const Bezier &b, std::vector< Vector > &result) const ipe::Bezier
iVipe::Bezier
oldSpline(int n, const Vector *v, std::vector< Bezier > &result)ipe::Bezierstatic
point(double t) const ipe::Bezier
quadBezier(const Vector &p0, const Vector &p1, const Vector &p2)ipe::Bezierstatic
snap(const Vector &v, double &t, Vector &pos, double &bound) const ipe::Bezier
spline(int n, const Vector *v, std::vector< Bezier > &result)ipe::Bezierstatic
straight(double precision) const ipe::Bezier
subdivide(Bezier &l, Bezier &r) const ipe::Bezier
tangent(double t) const ipe::Bezier

ipe-7.2.7/build/doc/classipe_1_1_bezier.html000644 000766 000000 00000110565 13022535404 022704 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Bezier Class Reference

#include <ipegeo.h>

Public Member Functions

 Bezier ()
 
 Bezier (const Vector &p0, const Vector &p1, const Vector &p2, const Vector &p3)
 
Vector point (double t) const
 
Vector tangent (double t) const
 
double distance (const Vector &v, double bound)
 
bool straight (double precision) const
 
void subdivide (Bezier &l, Bezier &r) const
 
void approximate (double precision, std::vector< Vector > &result) const
 
Rect bbox () const
 
bool snap (const Vector &v, double &t, Vector &pos, double &bound) const
 
void intersect (const Line &l, std::vector< Vector > &result) const
 
void intersect (const Segment &l, std::vector< Vector > &result) const
 
void intersect (const Bezier &b, std::vector< Vector > &result) const
 

Static Public Member Functions

static Bezier quadBezier (const Vector &p0, const Vector &p1, const Vector &p2)
 
static void oldSpline (int n, const Vector *v, std::vector< Bezier > &result)
 
static void spline (int n, const Vector *v, std::vector< Bezier > &result)
 
static void closedSpline (int n, const Vector *v, std::vector< Bezier > &result)
 

Public Attributes

Vector iV [4]
 

Detailed Description

A cubic Bezier spline.

Constructor & Destructor Documentation

ipe::Bezier::Bezier ( )
inline

Default constructor, uninitialized curve.

ipe::Bezier::Bezier ( const Vector p0,
const Vector p1,
const Vector p2,
const Vector p3 
)
inline

Constructor with four control points.

Member Function Documentation

Vector Bezier::point ( double  t) const

Return point on curve with parameter t (from 0.0 to 1.0).

Vector Bezier::tangent ( double  t) const

Return tangent direction of curve at parameter t (from 0.0 to 1.0).

The returned vector is not normalized.

Referenced by ipe::Snap::setEdge().

double Bezier::distance ( const Vector v,
double  bound 
)

Return distance to Bezier spline.

But may just return bound if actual distance is larger. The Bezier spline is approximated to a precision of 1.0, and the distance to the approximation is returned.

References ipe::Rect::addPoint(), and ipe::Rect::certainClearance().

bool Bezier::straight ( double  precision) const

Returns true if the Bezier curve is nearly identical to the line segment iV[0]..iV[3].

References ipe::Line::distance(), and ipe::Line::through().

Referenced by ipe::Arc::intersect(), and snap().

void Bezier::subdivide ( Bezier l,
Bezier r 
) const

Subdivide this Bezier curve in the middle.

References iV.

Referenced by ipe::Arc::intersect(), and snap().

void Bezier::approximate ( double  precision,
std::vector< Vector > &  result 
) const

Approximate by a polygonal chain.

result must be empty when calling this.

References approximate().

Referenced by approximate().

Rect Bezier::bbox ( ) const

Return a tight bounding box (accurate to within 0.5).

References ipe::Rect::addPoint(), ipe::Rect::bottomLeft(), and ipe::Rect::topRight().

Referenced by ipe::BBoxPainter::doCurveTo().

bool Bezier::snap ( const Vector v,
double &  t,
Vector pos,
double &  bound 
) const

Find (approximately) nearest point on Bezier spline.

Find point on spline nearest to v, but only if it is closer than bound. If a point is found, sets t to the parameter value and pos to the actual point, and returns true.

References ipe::Rect::addPoint(), ipe::Rect::certainClearance(), ipe::Rect::intersects(), ipe::Segment::intersects(), iV, ipe::Segment::project(), ipe::Vector::snap(), snap(), straight(), and subdivide().

Referenced by ipe::Snap::setEdge(), and snap().

Bezier Bezier::quadBezier ( const Vector p0,
const Vector p1,
const Vector p2 
)
static

Convert a quadratic Bezier-spline to a cubic one.

The quadratic Bezier-spline with control points p0, p1, p2 is identical to the cubic Bezier-spline with control points q0 = p0, q1 = (2p1 + p0)/3, q2 = (2p1 + p2)/3, q3 = p2.

void Bezier::oldSpline ( int  n,
const Vector v,
std::vector< Bezier > &  result 
)
static

Convert an old-style Ipe B-spline to a series of Bezier splines.

For some reason lost in the mist of time, this was the definition of splines in Ipe for many years. It doesn't use knots. The first and last control point are simply given multiplicity 3.

Bezier splines are appended to result.

Referenced by ipe::CurveSegment::beziers().

void Bezier::spline ( int  n,
const Vector v,
std::vector< Bezier > &  result 
)
static

Convert a clamped uniform B-spline to a series of Bezier splines.

See Thomas Sederberg, Computer-Aided Geometric Design, Chapter 6.

In polar coordinates, a control point is defined by three knots, so n control points need n + 2 knots. To clamp the spline to the first and last control point, the first and last knot are repeated three times. This leads to k knot intervals and the knot sequence [0, 0, 0, 1, 2, 3, 4, 5, 6, ..., k-2, k-1, k, k, k] There are k + 5 = n + 2 knots in this sequence, so k = n-3 is the number of knot intervals and therefore the number of output Bezier curves.

If n = 4, the knot sequence is [0, 0, 0, 1, 1, 1] and the result is simply the Bezier curve on the four control points.

When n in {2, 3}, returns a single Bezier curve that is a segment or quadratic Bezier spline. This is different from the behaviour of the "old" Ipe splines.

Bezier splines are appended to result.

Referenced by ipe::CurveSegment::beziers().

void Bezier::closedSpline ( int  n,
const Vector v,
std::vector< Bezier > &  result 
)
static

Convert a closed uniform cubic B-spline to a series of Bezier splines.

Bezier splines are appended to result.

Referenced by ipe::ClosedSpline::beziers().

void Bezier::intersect ( const Line l,
std::vector< Vector > &  result 
) const

Compute intersection points of Bezier with Line.

References intersect(), ipe::Segment::intersects(), and ipe::Line::side().

Referenced by intersect().

void Bezier::intersect ( const Segment l,
std::vector< Vector > &  result 
) const

Compute intersection points of Bezier with Segment.

References ipe::Segment::iP, and ipe::Segment::iQ.

void Bezier::intersect ( const Bezier b,
std::vector< Vector > &  result 
) const

Compute intersection points of Bezier with Bezier.

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_bitmap-members.html000644 000766 000000 00000032175 13022535404 024330 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Bitmap Member List

This is the complete list of members for ipe::Bitmap, including all inherited members.

Bitmap()ipe::Bitmap
Bitmap(int width, int height, TColorSpace colorSpace, int bitsPerComponent, Buffer data, TFilter filter, bool deflate=false)ipe::Bitmap
Bitmap(const XmlAttributes &attr, String data)ipe::Bitmap
Bitmap(const XmlAttributes &attr, Buffer data)ipe::Bitmap
Bitmap(const Bitmap &rhs)ipe::Bitmap
bitsPerComponent() const ipe::Bitmapinline
colorKey() const ipe::Bitmap
colorSpace() const ipe::Bitmapinline
components() const ipe::Bitmapinline
data() const ipe::Bitmapinline
EDCTDecode enum valueipe::Bitmap
EDeviceCMYK enum valueipe::Bitmap
EDeviceGray enum valueipe::Bitmap
EDeviceRGB enum valueipe::Bitmap
EDirect enum valueipe::Bitmap
EFlateDecode enum valueipe::Bitmap
equal(Bitmap rhs) const ipe::Bitmap
filter() const ipe::Bitmapinline
height() const ipe::Bitmapinline
isNull() const ipe::Bitmapinline
objNum() const ipe::Bitmapinline
operator!=(const Bitmap &rhs) const ipe::Bitmapinline
operator<(const Bitmap &rhs) const ipe::Bitmapinline
operator=(const Bitmap &rhs)ipe::Bitmap
operator==(const Bitmap &rhs) const ipe::Bitmapinline
pixelData() const ipe::Bitmap
readJpeg(const char *fname, Vector &dotsPerInch, const char *&errmsg)ipe::Bitmapstatic
readJpegInfo(FILE *file, int &width, int &height, Vector &dotsPerInch, TColorSpace &colorSpace, int &bitsPerComponent)ipe::Bitmapstatic
readPNG(const char *fname, bool deflate, Vector &dotsPerInch, const char *&errmsg)ipe::Bitmapstatic
renderData() const ipe::Bitmapinline
saveAsXml(Stream &stream, int id, int pdfObjNum=-1) const ipe::Bitmap
setColorKey(int key)ipe::Bitmap
setObjNum(int objNum) const ipe::Bitmapinline
setRenderData(MRenderData *data) const ipe::Bitmap
size() const ipe::Bitmapinline
TColorSpace enum nameipe::Bitmap
TFilter enum nameipe::Bitmap
width() const ipe::Bitmapinline
~Bitmap()ipe::Bitmap

ipe-7.2.7/build/doc/classipe_1_1_bitmap.html000644 000766 000000 00000174570 13022535404 022706 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Bitmap Class Reference

#include <ipebitmap.h>

Classes

class  MRenderData
 

Public Types

enum  TFilter { EDirect, EFlateDecode, EDCTDecode }
 
enum  TColorSpace { EDeviceRGB, EDeviceGray, EDeviceCMYK }
 

Public Member Functions

 Bitmap ()
 
 Bitmap (int width, int height, TColorSpace colorSpace, int bitsPerComponent, Buffer data, TFilter filter, bool deflate=false)
 
 Bitmap (const XmlAttributes &attr, String data)
 
 Bitmap (const XmlAttributes &attr, Buffer data)
 
 Bitmap (const Bitmap &rhs)
 
 ~Bitmap ()
 
Bitmapoperator= (const Bitmap &rhs)
 
void saveAsXml (Stream &stream, int id, int pdfObjNum=-1) const
 
bool isNull () const
 
bool equal (Bitmap rhs) const
 
TColorSpace colorSpace () const
 
TFilter filter () const
 
int components () const
 
int bitsPerComponent () const
 
int width () const
 
int height () const
 
int colorKey () const
 
void setColorKey (int key)
 
const char * data () const
 
int size () const
 
int objNum () const
 
void setObjNum (int objNum) const
 
MRenderDatarenderData () const
 
void setRenderData (MRenderData *data) const
 
Buffer pixelData () const
 
bool operator== (const Bitmap &rhs) const
 
bool operator!= (const Bitmap &rhs) const
 
bool operator< (const Bitmap &rhs) const
 

Static Public Member Functions

static const char * readJpegInfo (FILE *file, int &width, int &height, Vector &dotsPerInch, TColorSpace &colorSpace, int &bitsPerComponent)
 
static Bitmap readJpeg (const char *fname, Vector &dotsPerInch, const char *&errmsg)
 
static Bitmap readPNG (const char *fname, bool deflate, Vector &dotsPerInch, const char *&errmsg)
 

Detailed Description

A bitmap.

Bitmaps are explicitely shared using reference-counting. Copying is cheap, so Bitmap objects are meant to be passed by value.

The bitmap can cache data to speed up rendering. This data can be set only once (as the bitmap is conceptually immutable).

The bitmap also provides a slot for short-term storage of an "object number". The PDF embedder, for instance, sets it to the PDF object number when embedding the bitmap, and can reuse it when "drawing" the bitmap.

Member Enumeration Documentation

Enumerator
EDirect 
EFlateDecode 
EDCTDecode 
Enumerator
EDeviceRGB 
EDeviceGray 
EDeviceCMYK 

Constructor & Destructor Documentation

Bitmap::Bitmap ( )

Default constructor constructs null bitmap.

Referenced by readJpeg(), and ipe::Bitmap::MRenderData::~MRenderData().

Bitmap::Bitmap ( int  width,
int  height,
TColorSpace  colorSpace,
int  bitsPerComponent,
Buffer  data,
TFilter  filter,
bool  deflate = false 
)

Create a new image.

filter specifies the format of the data. If filter is EDirect, then setting deflate compresses the bitmap and changes the filter to EFlateDecode.

References bitsPerComponent(), colorSpace(), data(), ipe::Buffer::data(), ipe::DeflateStream::deflate(), EDeviceCMYK, EDeviceGray, EDeviceRGB, EDirect, EFlateDecode, filter(), height(), ipe::Buffer::size(), and width().

Bitmap::Bitmap ( const XmlAttributes attr,
String  data 
)
Bitmap::Bitmap ( const Bitmap rhs)

Copy constructor.

Since Bitmaps are reference counted, this is very fast.

Bitmap::~Bitmap ( )

Destructor.

Member Function Documentation

Bitmap & Bitmap::operator= ( const Bitmap rhs)

Assignment operator (takes care of reference counting).

Very fast.

bool ipe::Bitmap::isNull ( ) const
inline

Is this a null bitmap?

Referenced by ipe::ImlParser::parseObject().

bool Bitmap::equal ( Bitmap  rhs) const
Bitmap::TColorSpace ipe::Bitmap::colorSpace ( ) const
inline

Return the color space of the image.

Referenced by Bitmap(), readJpeg(), saveAsXml(), and ipe::PdfWriter::~PdfWriter().

Bitmap::TFilter ipe::Bitmap::filter ( ) const
inline

Return the data filter of the image data.

Referenced by Bitmap(), pixelData(), saveAsXml(), and ipe::PdfWriter::~PdfWriter().

int ipe::Bitmap::components ( ) const
inline

Return number of components per pixel.

Referenced by Bitmap(), and pixelData().

int ipe::Bitmap::bitsPerComponent ( ) const
inline

Return the number of bits per component.

Referenced by Bitmap(), pixelData(), readJpeg(), saveAsXml(), and ipe::PdfWriter::~PdfWriter().

int ipe::Bitmap::width ( ) const
inline
int ipe::Bitmap::height ( ) const
inline
int Bitmap::colorKey ( ) const

Return rgb representation of the transparent color.

Returns -1 if the bitmap is not color keyed.

Referenced by pixelData(), and ipe::PdfWriter::~PdfWriter().

void Bitmap::setColorKey ( int  key)

Set transparent color.

Use key == -1 to disable color key.

Referenced by readPNG().

const char * ipe::Bitmap::data ( ) const
inline

Return a pointer to the image data (in PDF arrangement).

Referenced by Bitmap(), pixelData(), saveAsXml(), setRenderData(), and ipe::PdfWriter::~PdfWriter().

int ipe::Bitmap::size ( ) const
inline

Return size (number of bytes) of image data (in PDF arrangement).

Referenced by saveAsXml(), and ipe::PdfWriter::~PdfWriter().

int ipe::Bitmap::objNum ( ) const
inline
void ipe::Bitmap::setObjNum ( int  objNum) const
inline

Set object number of the bitmap.

References objNum().

Referenced by ipe::Page::saveAsIpePage(), ipe::Page::saveSelection(), and ipe::PdfWriter::~PdfWriter().

Bitmap::MRenderData * ipe::Bitmap::renderData ( ) const
inline

Return cached bitmap for rendering.

Referenced by ipe::CairoPainter::doDrawBitmap().

void Bitmap::setRenderData ( MRenderData data) const

Set a cached bitmap for fast rendering.

References data().

Referenced by ipe::CairoPainter::doDrawBitmap().

Buffer Bitmap::pixelData ( ) const

Convert bitmap data to a height x width pixel array in rgb format.

Returns empty buffer if it cannot decode the bitmap information. Otherwise, returns a buffer of size width() * height() uint32_t's.

References bitsPerComponent(), colorKey(), components(), data(), ipe::Buffer::data(), EDCTDecode, EDirect, EFlateDecode, filter(), height(), ipe::Buffer::size(), and width().

Referenced by ipe::CairoPainter::doDrawBitmap().

bool ipe::Bitmap::operator== ( const Bitmap rhs) const
inline

Two bitmaps are equal if they share the same data.

bool ipe::Bitmap::operator!= ( const Bitmap rhs) const
inline

Two bitmaps are equal if they share the same data.

bool ipe::Bitmap::operator< ( const Bitmap rhs) const
inline

Less operator, to be able to sort bitmaps.

The checksum is used, when it is equal, the shared address. This guarantees that bitmaps that are == (share their implementation) are next to each other, and blocks of them are next to blocks that are identical in contents.

const char * Bitmap::readJpegInfo ( FILE *  file,
int &  width,
int &  height,
Vector dotsPerInch,
TColorSpace colorSpace,
int &  bitsPerComponent 
)
static

Read information about JPEG image from file.

Returns NULL on success, an error message otherwise.

References EDeviceCMYK, EDeviceGray, and EDeviceRGB.

Referenced by readJpeg().

Bitmap Bitmap::readJpeg ( const char *  fname,
Vector dotsPerInch,
const char *&  errmsg 
)
static

Read JPEG image from file.

Returns the image as a DCT-encoded Bitmap. Sets dotsPerInch if the image file contains a resolution, otherwise sets it to (0,0). If reading the file fails, returns a null Bitmap, and sets the error message errmsg.

References Bitmap(), bitsPerComponent(), colorSpace(), ipe::String::data(), EDCTDecode, ipe::Platform::fopen(), height(), ipe::Platform::readFile(), readJpegInfo(), ipe::String::size(), and width().

Bitmap Bitmap::readPNG ( const char *  fname,
bool  deflate,
Vector dotsPerInch,
const char *&  errmsg 
)
static

Read PNG image from file.

Returns the image as a Bitmap. It will be compressed if deflate is set. Sets dotsPerInch if the image file contains a resolution, otherwise sets it to (0,0). If reading the file fails, returns a null Bitmap, and sets the error message errmsg.

References ipe::Buffer::data(), EDirect, ipe::Platform::fopen(), and setColorKey().


The documentation for this class was generated from the following files:
  • ipebitmap.h
  • ipebitmap.cpp
  • ipebitmap_unix.cpp
  • ipebitmap_win.cpp

ipe-7.2.7/build/doc/classipe_1_1_bitmap_1_1_m_render_data-members.html000644 000766 000000 00000005302 13022535404 027624 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Bitmap::MRenderData Member List

This is the complete list of members for ipe::Bitmap::MRenderData, including all inherited members.

~MRenderData()ipe::Bitmap::MRenderDatavirtual

ipe-7.2.7/build/doc/classipe_1_1_bitmap_1_1_m_render_data.html000644 000766 000000 00000010166 13022535404 026200 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Bitmap::MRenderData Class Reference
ipe::Bitmap::MRenderData Class Reference

#include <ipebitmap.h>

Inherited by RenderData.

Public Member Functions

virtual ~MRenderData ()
 

Detailed Description

Abstract base class for pixmap data stored by a client.

Constructor & Destructor Documentation

Bitmap::MRenderData::~MRenderData ( )
virtual

References ipe::Bitmap::Bitmap().


The documentation for this class was generated from the following files:
  • ipebitmap.h
  • ipebitmap.cpp

ipe-7.2.7/build/doc/classipe_1_1_bitmap_finder-members.html000644 000766 000000 00000011053 13022535404 025647 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::BitmapFinder Member List

This is the complete list of members for ipe::BitmapFinder, including all inherited members.

iBitmapsipe::BitmapFinder
scanPage(const Page *page)ipe::BitmapFinder
visitGroup(const Group *obj)ipe::BitmapFindervirtual
visitImage(const Image *obj)ipe::BitmapFindervirtual
visitPath(const Path *obj)ipe::Visitorvirtual
visitReference(const Reference *obj)ipe::Visitorvirtual
visitText(const Text *obj)ipe::Visitorvirtual
~Visitor()ipe::Visitorvirtual

ipe-7.2.7/build/doc/classipe_1_1_bitmap_finder.html000644 000766 000000 00000030014 13022535404 024215 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::BitmapFinder Class Reference

#include <ipeutils.h>

Inherits ipe::Visitor.

Public Member Functions

void scanPage (const Page *page)
 
virtual void visitGroup (const Group *obj)
 
virtual void visitImage (const Image *obj)
 
- Public Member Functions inherited from ipe::Visitor
virtual ~Visitor ()
 
virtual void visitPath (const Path *obj)
 
virtual void visitText (const Text *obj)
 
virtual void visitReference (const Reference *obj)
 

Public Attributes

std::vector< BitmapiBitmaps
 

Detailed Description

A visitor that recursively scans objects and collects all bitmaps.

Member Function Documentation

void BitmapFinder::visitGroup ( const Group obj)
virtual

Called on an Group object.

Reimplemented from ipe::Visitor.

References ipe::Group::begin(), and ipe::Group::end().

void BitmapFinder::visitImage ( const Image obj)
virtual

Called on an Image object.

Reimplemented from ipe::Visitor.

References ipe::Image::bitmap(), and iBitmaps.

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_buffer-members.html000644 000766 000000 00000013455 13022535404 024325 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Buffer Member List

This is the complete list of members for ipe::Buffer, including all inherited members.

Buffer() noexcept=defaultipe::Buffer
Buffer(const Buffer &rhs) noexceptipe::Buffer
Buffer(Buffer &&rhs) noexceptipe::Buffer
Buffer(int size) noexceptipe::Bufferexplicit
Buffer(const char *data, int size) noexceptipe::Bufferexplicit
data() noexceptipe::Bufferinline
data() const noexceptipe::Bufferinline
operator=(const Buffer &rhs) noexceptipe::Buffer
operator=(Buffer &&rhs) noexceptipe::Buffer
operator[](int index) noexceptipe::Bufferinline
operator[](int index) const noexceptipe::Bufferinline
size() const noexceptipe::Bufferinline
~Buffer() noexceptipe::Buffer

ipe-7.2.7/build/doc/classipe_1_1_buffer.html000644 000766 000000 00000052362 13022535404 022675 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Buffer Class Reference

#include <ipebase.h>

Public Member Functions

 Buffer () noexcept=default
 
 ~Buffer () noexcept
 
 Buffer (const Buffer &rhs) noexcept
 
 Buffer (Buffer &&rhs) noexcept
 
Bufferoperator= (const Buffer &rhs) noexcept
 
Bufferoperator= (Buffer &&rhs) noexcept
 
 Buffer (int size) noexcept
 
 Buffer (const char *data, int size) noexcept
 
char & operator[] (int index) noexcept
 
const char & operator[] (int index) const noexcept
 
int size () const noexcept
 
char * data () noexcept
 
const char * data () const noexcept
 

Detailed Description

A memory buffer.

Implements sharing semantics using reference counting.

Constructor & Destructor Documentation

ipe::Buffer::Buffer ( )
defaultnoexcept
Buffer::~Buffer ( )
noexcept

Destructor.

Buffer::Buffer ( const Buffer rhs)
noexcept

Copy constructor. Constant time, buffer is shared.

Buffer::Buffer ( Buffer &&  rhs)
noexcept

Move constructor. Constant time.

Buffer::Buffer ( int  size)
explicitnoexcept

Create buffer of specified size.

Buffer::Buffer ( const char *  data,
int  size 
)
explicitnoexcept

Create buffer by copying the data.

References ipe::String::data(), and ipe::String::size().

Member Function Documentation

Buffer & Buffer::operator= ( const Buffer rhs)
noexcept

Assignment operator (constant-time).

Buffer & Buffer::operator= ( Buffer &&  rhs)
noexcept

Assignment move operator (constant-time).

char& ipe::Buffer::operator[] ( int  index)
inlinenoexcept

Character access.

const char& ipe::Buffer::operator[] ( int  index) const
inlinenoexcept

Character access (const version).

const char* ipe::Buffer::data ( ) const
inlinenoexcept

Return pointer to buffer data (const version).


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_buffer_source-members.html000644 000766 000000 00000006606 13022535404 025705 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::BufferSource Member List

This is the complete list of members for ipe::BufferSource, including all inherited members.

BufferSource(const Buffer &buffer)ipe::BufferSource
getChar()ipe::BufferSourcevirtual
setPosition(int pos)ipe::BufferSource
~DataSource()=0ipe::DataSourcepure virtual

ipe-7.2.7/build/doc/classipe_1_1_buffer_source.html000644 000766 000000 00000015621 13022535404 024252 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::BufferSource Class Reference
ipe::BufferSource Class Reference

#include <ipebase.h>

Inherits ipe::DataSource.

Public Member Functions

 BufferSource (const Buffer &buffer)
 
virtual int getChar ()
 
void setPosition (int pos)
 
- Public Member Functions inherited from ipe::DataSource
virtual ~DataSource ()=0
 

Detailed Description

Data source for parsing from a buffer.

Constructor & Destructor Documentation

BufferSource::BufferSource ( const Buffer buffer)

Member Function Documentation

int BufferSource::getChar ( )
virtual

Get one more character, or EOF.

Implements ipe::DataSource.

References ipe::Buffer::size().

void BufferSource::setPosition ( int  pos)

The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_cairo_painter-members.html000644 000766 000000 00000056333 13022535404 025675 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::CairoPainter Member List

This is the complete list of members for ipe::CairoPainter, including all inherited members.

addClipPath()ipe::Painter
CairoPainter(const Cascade *sheet, Fonts *fonts, cairo_t *cc, double zoom, bool pretty)ipe::CairoPainter
cascade() const ipe::Painterinline
closePath()ipe::Painter
curveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painter
curveTo(const Bezier &bezier)ipe::Painterinline
dashStyle() const ipe::Painterinline
dashStyle(std::vector< double > &dashes, double &offset) const ipe::Painter
doAddClipPath()ipe::CairoPainterprotectedvirtual
doClosePath()ipe::CairoPainterprotectedvirtual
doCurveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::CairoPainterprotectedvirtual
doDrawArc(const Arc &arc)ipe::CairoPainterprotectedvirtual
doDrawBitmap(Bitmap bitmap)ipe::CairoPainterprotectedvirtual
doDrawPath(TPathMode mode)ipe::CairoPainterprotectedvirtual
doDrawSymbol(Attribute symbol)ipe::Painterprotectedvirtual
doDrawText(const Text *text)ipe::CairoPainterprotectedvirtual
doLineTo(const Vector &v)ipe::CairoPainterprotectedvirtual
doMoveTo(const Vector &v)ipe::CairoPainterprotectedvirtual
doNewPath()ipe::Painterprotectedvirtual
doPop()ipe::CairoPainterprotectedvirtual
doPush()ipe::CairoPainterprotectedvirtual
drawArc(const Arc &arc)ipe::Painter
drawArcAsBezier(double alpha)ipe::Painterprotected
drawBitmap(Bitmap bitmap)ipe::Painter
drawEllipse()ipe::Painter
drawPath(TPathMode mode)ipe::Painter
drawSymbol(Attribute symbol)ipe::Painter
drawText(const Text *text)ipe::Painter
fill() const ipe::Painterinline
fillRule() const ipe::Painterinline
gradient() const ipe::Painterinline
iCascadeipe::Painterprotected
iInPathipe::Painterprotected
iMatrixipe::Painterprotected
iStateipe::Painterprotected
lineCap() const ipe::Painterinline
lineJoin() const ipe::Painterinline
lineTo(const Vector &v)ipe::Painter
matrix() const ipe::Painterinline
moveTo(const Vector &v)ipe::Painter
newPath()ipe::Painter
opacity() const ipe::Painterinline
Painter(const Cascade *style)ipe::Painter
pen() const ipe::Painterinline
pop()ipe::Painter
popMatrix()ipe::Painter
push()ipe::Painter
pushMatrix()ipe::Painter
rect(const Rect &re)ipe::Painter
setDashStyle(Attribute dash)ipe::Painter
setDimmed(bool dim)ipe::CairoPainterinline
setFill(Attribute color)ipe::Painter
setFillRule(TFillRule rule)ipe::Painter
setGradient(Attribute grad)ipe::Painter
setLineCap(TLineCap cap)ipe::Painter
setLineJoin(TLineJoin join)ipe::Painter
setOpacity(Attribute opaq)ipe::Painter
setPen(Attribute pen)ipe::Painter
setState(const State &state)ipe::Painter
setStroke(Attribute color)ipe::Painter
setSymFill(Attribute color)ipe::Painter
setSymPen(Attribute wid)ipe::Painter
setSymStroke(Attribute color)ipe::Painter
setTiling(Attribute til)ipe::Painter
state() const ipe::Painterinline
stroke() const ipe::Painterinline
symFill() const ipe::Painterinline
symPen() const ipe::Painterinline
symStroke() const ipe::Painterinline
tiling() const ipe::Painterinline
transform(const Matrix &m)ipe::Painter
translate(const Vector &v)ipe::Painter
untransform(TTransformations trans)ipe::Painter
~CairoPainter()ipe::CairoPainterinlinevirtual
~Painter()ipe::Paintervirtual

ipe-7.2.7/build/doc/classipe_1_1_cairo_painter.html000644 000766 000000 00000212757 13022535404 024251 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::CairoPainter Class Reference

#include <ipecairopainter.h>

Inherits ipe::Painter.

Public Member Functions

 CairoPainter (const Cascade *sheet, Fonts *fonts, cairo_t *cc, double zoom, bool pretty)
 
virtual ~CairoPainter ()
 
void setDimmed (bool dim)
 
- Public Member Functions inherited from ipe::Painter
 Painter (const Cascade *style)
 
virtual ~Painter ()
 
void transform (const Matrix &m)
 
void untransform (TTransformations trans)
 
void translate (const Vector &v)
 
void push ()
 
void pop ()
 
void pushMatrix ()
 
void popMatrix ()
 
void newPath ()
 
void moveTo (const Vector &v)
 
void lineTo (const Vector &v)
 
void curveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
void curveTo (const Bezier &bezier)
 
void rect (const Rect &re)
 
void drawEllipse ()
 
void drawArc (const Arc &arc)
 
void closePath ()
 
void drawPath (TPathMode mode)
 
void drawBitmap (Bitmap bitmap)
 
void drawText (const Text *text)
 
void drawSymbol (Attribute symbol)
 
void addClipPath ()
 
void setStroke (Attribute color)
 
void setFill (Attribute color)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap cap)
 
void setLineJoin (TLineJoin join)
 
void setFillRule (TFillRule rule)
 
void setSymStroke (Attribute color)
 
void setSymFill (Attribute color)
 
void setSymPen (Attribute wid)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute til)
 
void setGradient (Attribute grad)
 
const Cascadecascade () const
 
Color stroke () const
 
Color fill () const
 
const Matrixmatrix () const
 
Fixed pen () const
 
String dashStyle () const
 
void dashStyle (std::vector< double > &dashes, double &offset) const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
Color symStroke () const
 
Color symFill () const
 
Fixed symPen () const
 
Fixed opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
const Statestate () const
 
void setState (const State &state)
 

Protected Member Functions

virtual void doPush ()
 
virtual void doPop ()
 
virtual void doMoveTo (const Vector &v)
 
virtual void doLineTo (const Vector &v)
 
virtual void doCurveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
virtual void doClosePath ()
 
virtual void doDrawArc (const Arc &arc)
 
virtual void doAddClipPath ()
 
virtual void doDrawPath (TPathMode mode)
 
virtual void doDrawBitmap (Bitmap bitmap)
 
virtual void doDrawText (const Text *text)
 
- Protected Member Functions inherited from ipe::Painter
virtual void doNewPath ()
 
virtual void doDrawSymbol (Attribute symbol)
 
void drawArcAsBezier (double alpha)
 

Additional Inherited Members

- Protected Attributes inherited from ipe::Painter
std::list< StateiState
 
std::list< MatrixiMatrix
 
const CascadeiCascade
 
int iInPath
 

Detailed Description

Ipe Painter using Cairo and Freetype as a backend.

This painter draws to a Cairo surface.

Constructor & Destructor Documentation

CairoPainter::CairoPainter ( const Cascade sheet,
Fonts fonts,
cairo_t *  cc,
double  zoom,
bool  pretty 
)

Construct a painter.

zoom one means 72 pixels per inch. Set pretty to true to avoid drawing text without Latex.

virtual ipe::CairoPainter::~CairoPainter ( )
inlinevirtual

Member Function Documentation

void CairoPainter::doPush ( )
protectedvirtual

Perform graphics state push on output medium.

Reimplemented from ipe::Painter.

Referenced by setDimmed().

void CairoPainter::doPop ( )
protectedvirtual

Perform graphics state pop on output medium.

Reimplemented from ipe::Painter.

Referenced by setDimmed().

void CairoPainter::doMoveTo ( const Vector v)
protectedvirtual

Perform moveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Vector::x, and ipe::Vector::y.

Referenced by setDimmed().

void CairoPainter::doLineTo ( const Vector v)
protectedvirtual

Perform lineto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Vector::x, and ipe::Vector::y.

Referenced by setDimmed().

void CairoPainter::doCurveTo ( const Vector v1,
const Vector v2,
const Vector v3 
)
protectedvirtual

Perform curveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References ipe::Vector::x, and ipe::Vector::y.

Referenced by setDimmed().

void CairoPainter::doClosePath ( )
protectedvirtual

Perform closepath operator.

Reimplemented from ipe::Painter.

Referenced by setDimmed().

void CairoPainter::doDrawArc ( const Arc arc)
protectedvirtual

Draw an elliptic arc.

The default implementations calls drawArcAsBezier(). The transformation matrix has not yet been applied to arc.

Reimplemented from ipe::Painter.

References ipe::Arc::iAlpha, ipe::Arc::iBeta, ipe::Arc::iM, ipe::Arc::isEllipse(), and ipe::Painter::matrix().

Referenced by setDimmed().

void CairoPainter::doAddClipPath ( )
protectedvirtual

Add a clip path.

Reimplemented from ipe::Painter.

Referenced by setDimmed().

void CairoPainter::doDrawBitmap ( Bitmap  bitmap)
protectedvirtual

The documentation for this class was generated from the following files:
  • ipecairopainter.h
  • ipecairopainter.cpp

ipe-7.2.7/build/doc/classipe_1_1_canvas-members.html000644 000766 000000 00000104415 13022535404 024324 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Canvas Member List

This is the complete list of members for ipe::Canvas, including all inherited members.

additionalModifiers() const ipe::CanvasBaseinline
Canvas(GtkWidget *parent)ipe::Canvas
Canvas(QWidget *parent, Qt::WFlags f=0)ipe::Canvas
Canvas(HWND parent)ipe::Canvas
CanvasBase()ipe::CanvasBaseprotected
canvasHeight() const ipe::CanvasBaseinline
canvasStyle() const ipe::CanvasBaseinline
canvasTfm() const ipe::CanvasBase
canvasWidth() const ipe::CanvasBaseinline
cascade() const ipe::CanvasBaseinline
center() const ipe::CanvasBaseinline
computeFifi(double x, double y)ipe::CanvasBaseprotected
createBitmap(unsigned char *p, int w, int h)ipe::Canvasstatic
devToUser(const Vector &arg) const ipe::CanvasBase
drawAxes(cairo_t *cc)ipe::CanvasBaseprotected
drawFifi(QPainter &q)ipe::Canvasprotected
ipe::CanvasBase::drawFifi(cairo_t *cr)ipe::CanvasBaseprotected
drawFrame(cairo_t *cc)ipe::CanvasBaseprotected
drawGrid(cairo_t *cc)ipe::CanvasBaseprotected
drawObjects(cairo_t *cc)ipe::CanvasBaseprotected
drawPaper(cairo_t *cc)ipe::CanvasBaseprotected
drawTool(Painter &painter)ipe::CanvasBaseprotected
EAlt enum valueipe::CanvasBase
ECommand enum valueipe::CanvasBase
EControl enum valueipe::CanvasBase
ECrossCursor enum valueipe::CanvasBase
EDotCursor enum valueipe::CanvasBase
EHandCursor enum valueipe::CanvasBase
EMeta enum valueipe::CanvasBase
EShift enum valueipe::CanvasBase
EStandardCursor enum valueipe::CanvasBase
finishTool()ipe::CanvasBase
getDpiForWindow(HWND hwnd)ipe::Canvasstatic
globalPos() const ipe::CanvasBaseinline
iAdditionalModifiersipe::CanvasBaseprotected
iAutoOriginipe::CanvasBaseprotected
iAutoSnapipe::CanvasBaseprotected
iBHeightipe::CanvasBaseprotected
iBWidthipe::CanvasBaseprotected
iCascadeipe::CanvasBaseprotected
iDimmedipe::CanvasBaseprotected
iFifiModeipe::CanvasBaseprotected
iFifiVisibleipe::CanvasBaseprotected
iFontsipe::CanvasBaseprotected
iGlobalPosipe::CanvasBaseprotected
iHeightipe::CanvasBaseprotected
iMousePosipe::CanvasBaseprotected
init(HINSTANCE hInstance)ipe::Canvasstatic
invalidate()ipe::Canvasprotectedvirtual
invalidate(int x, int y, int w, int h)ipe::Canvasprotectedvirtual
iObserveripe::CanvasBaseprotected
iOldFifiipe::CanvasBaseprotected
iPageipe::CanvasBaseprotected
iPageNumberipe::CanvasBaseprotected
iPanipe::CanvasBaseprotected
iRepaintObjectsipe::CanvasBaseprotected
iResourcesipe::CanvasBaseprotected
iSelectionVisibleipe::CanvasBaseprotected
isInkModeipe::CanvasBaseprotected
iSnapipe::CanvasBaseprotected
iStyleipe::CanvasBaseprotected
iSurfaceipe::CanvasBaseprotected
iToolipe::CanvasBaseprotected
iUnsnappedMousePosipe::CanvasBaseprotected
iViewipe::CanvasBaseprotected
iWidthipe::CanvasBaseprotected
iZoomipe::CanvasBaseprotected
keyPressEvent(QKeyEvent *ev)ipe::Canvasprotectedvirtual
mouseButton(QMouseEvent *ev, int button, bool press)ipe::Canvasprotected
mouseDoubleClickEvent(QMouseEvent *ev)ipe::Canvasprotectedvirtual
mouseMoveEvent(QMouseEvent *ev)ipe::Canvasprotectedvirtual
mousePressEvent(QMouseEvent *ev)ipe::Canvasprotectedvirtual
mouseReleaseEvent(QMouseEvent *ev)ipe::Canvasprotectedvirtual
paintEvent(QPaintEvent *ev)ipe::Canvasprotectedvirtual
pan() const ipe::CanvasBaseinline
pos() const ipe::CanvasBaseinline
refreshSurface()ipe::CanvasBaseprotected
selectPageOrView(Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)ipe::CanvasBasestatic
setAdditionalModifiers(int mod)ipe::CanvasBase
setAutoOrigin(const Vector &v)ipe::CanvasBase
setCanvasStyle(const Style &style)ipe::CanvasBase
setCursor(TCursor cursor, double w=1.0, Color *color=0)ipe::Canvasvirtual
setDimmed(bool dimmed)ipe::CanvasBase
setFifiVisible(bool visible)ipe::CanvasBase
setInkMode(bool ink)ipe::CanvasBaseinline
setObserver(CanvasObserver *observer)ipe::CanvasBase
setPage(const Page *page, int pno, int view, const Cascade *sheet)ipe::CanvasBase
setPan(const Vector &v)ipe::CanvasBase
setResources(const PdfResources *resources)ipe::CanvasBase
setSelectionVisible(bool visible)ipe::CanvasBase
setSnap(const Snap &s)ipe::CanvasBase
setTool(Tool *tool)ipe::CanvasBase
setZoom(double zoom)ipe::CanvasBase
simpleSnapPos() const ipe::CanvasBase
sizeHint() const ipe::Canvasprotectedvirtual
snap() const ipe::CanvasBaseinline
snapToPaperAndFrame()ipe::CanvasBaseprotected
tabletEvent(QTabletEvent *ev)ipe::Canvasprotectedvirtual
TCursor enum nameipe::CanvasBase
TModifiers enum nameipe::CanvasBase
tool()ipe::CanvasBaseinline
unsnappedPos() const ipe::CanvasBaseinline
update()ipe::CanvasBase
updateTool()ipe::CanvasBase
userToDev(const Vector &arg) const ipe::CanvasBase
wheelEvent(QWheelEvent *ev)ipe::Canvasprotectedvirtual
window() const ipe::Canvasinline
windowId() const ipe::Canvasinline
zoom() const ipe::CanvasBaseinline
~Canvas()ipe::Canvas
~CanvasBase()ipe::CanvasBasevirtual

ipe-7.2.7/build/doc/classipe_1_1_canvas.html000644 000766 000000 00000247064 13022535404 022704 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Canvas Class Reference

#include <ipecanvas_win.h>

Inherits ipe::CanvasBase, QWidget, ipe::CanvasBase, and ipe::CanvasBase.

Public Member Functions

 Canvas (GtkWidget *parent)
 
 ~Canvas ()
 
GtkWidget * window () const
 
 Canvas (QWidget *parent, Qt::WFlags f=0)
 
virtual void setCursor (TCursor cursor, double w=1.0, Color *color=0)
 
 Canvas (HWND parent)
 
HWND windowId () const
 
- Public Member Functions inherited from ipe::CanvasBase
virtual ~CanvasBase ()
 
void setPage (const Page *page, int pno, int view, const Cascade *sheet)
 
void setResources (const PdfResources *resources)
 
Vector pan () const
 
double zoom () const
 
const Cascadecascade () const
 
Vector center () const
 
Vector pos () const
 
Vector unsnappedPos () const
 
Vector globalPos () const
 
Vector simpleSnapPos () const
 
const Snapsnap () const
 
void setInkMode (bool ink)
 
int additionalModifiers () const
 
void setAdditionalModifiers (int mod)
 
Vector devToUser (const Vector &arg) const
 
Vector userToDev (const Vector &arg) const
 
void setCanvasStyle (const Style &style)
 
Style canvasStyle () const
 
void setPan (const Vector &v)
 
void setZoom (double zoom)
 
void setSnap (const Snap &s)
 
void setDimmed (bool dimmed)
 
void setAutoOrigin (const Vector &v)
 
Matrix canvasTfm () const
 
void setObserver (CanvasObserver *observer)
 
void setFifiVisible (bool visible)
 
void setSelectionVisible (bool visible)
 
void setTool (Tool *tool)
 
void finishTool ()
 
Tooltool ()
 
void update ()
 
void updateTool ()
 
int canvasWidth () const
 
int canvasHeight () const
 

Static Public Member Functions

static void init (HINSTANCE hInstance)
 
static UINT getDpiForWindow (HWND hwnd)
 
static HBITMAP createBitmap (unsigned char *p, int w, int h)
 
- Static Public Member Functions inherited from ipe::CanvasBase
static int selectPageOrView (Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)
 

Protected Member Functions

virtual void invalidate ()
 
virtual void invalidate (int x, int y, int w, int h)
 
void drawFifi (QPainter &q)
 
virtual void paintEvent (QPaintEvent *ev)
 
void mouseButton (QMouseEvent *ev, int button, bool press)
 
virtual void mouseDoubleClickEvent (QMouseEvent *ev)
 
virtual void mousePressEvent (QMouseEvent *ev)
 
virtual void mouseReleaseEvent (QMouseEvent *ev)
 
virtual void mouseMoveEvent (QMouseEvent *ev)
 
virtual void tabletEvent (QTabletEvent *ev)
 
virtual void wheelEvent (QWheelEvent *ev)
 
virtual void keyPressEvent (QKeyEvent *ev)
 
virtual QSize sizeHint () const
 
- Protected Member Functions inherited from ipe::CanvasBase
 CanvasBase ()
 
void drawPaper (cairo_t *cc)
 
void drawFrame (cairo_t *cc)
 
void drawAxes (cairo_t *cc)
 
void drawGrid (cairo_t *cc)
 
void drawObjects (cairo_t *cc)
 
void drawTool (Painter &painter)
 
void snapToPaperAndFrame ()
 
void refreshSurface ()
 
void computeFifi (double x, double y)
 
void drawFifi (cairo_t *cr)
 

Additional Inherited Members

- Public Types inherited from ipe::CanvasBase
enum  TModifiers {
  EShift = 0x100, EControl = 0x200, EAlt = 0x400, EMeta = 0x800,
  ECommand = 0x1000
}
 
enum  TCursor { EStandardCursor, EHandCursor, ECrossCursor, EDotCursor }
 
- Protected Attributes inherited from ipe::CanvasBase
CanvasObserveriObserver
 
TooliTool
 
const PageiPage
 
int iPageNumber
 
int iView
 
const CascadeiCascade
 
Style iStyle
 
Vector iPan
 
double iZoom
 
Snap iSnap
 
bool iDimmed
 
bool iAutoSnap
 
Vector iAutoOrigin
 
int iAdditionalModifiers
 
bool isInkMode
 
bool iRepaintObjects
 
double iWidth
 
double iHeight
 
double iBWidth
 
double iBHeight
 
cairo_surface_t * iSurface
 
Vector iUnsnappedMousePos
 
Vector iMousePos
 
Vector iGlobalPos
 
Vector iOldFifi
 
bool iFifiVisible
 
Snap::TSnapModes iFifiMode
 
bool iSelectionVisible
 
const PdfResourcesiResources
 
FontsiFonts
 

Detailed Description

A widget (control) that displays an Ipe document page.

Constructor & Destructor Documentation

Canvas::Canvas ( GtkWidget *  parent)

References ~Canvas().

Referenced by ipe::IpeQ(), and Canvas::scrollWheel().

Canvas::Canvas ( QWidget *  parent,
Qt::WFlags  f = 0 
)

Construct a new canvas.

Canvas::Canvas ( HWND  parent)

Member Function Documentation

GtkWidget* ipe::Canvas::window ( ) const
inline

Referenced by Canvas::drawRect().

virtual void ipe::Canvas::setCursor ( TCursor  cursor,
double  w = 1.0,
Color color = 0 
)
virtual

Implements ipe::CanvasBase.

virtual void ipe::Canvas::invalidate ( )
protectedvirtual

Implements ipe::CanvasBase.

virtual void ipe::Canvas::invalidate ( int  x,
int  y,
int  w,
int  h 
)
protectedvirtual

Implements ipe::CanvasBase.

void Canvas::mouseDoubleClickEvent ( QMouseEvent *  ev)
protectedvirtual

References mouseButton().

Referenced by ipe::IpeQ().

void Canvas::mousePressEvent ( QMouseEvent *  ev)
protectedvirtual

References mouseButton().

Referenced by ipe::IpeQ().

void Canvas::mouseReleaseEvent ( QMouseEvent *  ev)
protectedvirtual

References mouseButton().

Referenced by ipe::IpeQ().

void Canvas::mouseMoveEvent ( QMouseEvent *  ev)
protectedvirtual
void Canvas::wheelEvent ( QWheelEvent *  ev)
protectedvirtual
void Canvas::keyPressEvent ( QKeyEvent *  ev)
protectedvirtual
void Canvas::init ( HINSTANCE  hInstance)
static
UINT Canvas::getDpiForWindow ( HWND  hwnd)
static
HWND ipe::Canvas::windowId ( ) const
inline

References createBitmap(), and mouseButton().

HBITMAP Canvas::createBitmap ( unsigned char *  p,
int  w,
int  h 
)
static

Referenced by windowId().


The documentation for this class was generated from the following files:
  • ipecanvas_gtk.h
  • ipecanvas_win.h
  • ipecanvas_qt.h
  • ipecanvas_cocoa.cpp
  • ipecanvas_gtk.cpp
  • ipecanvas_qt.cpp
  • ipecanvas_win.cpp
  • ipeselector_win.cpp

ipe-7.2.7/build/doc/classipe_1_1_canvas_base-members.html000644 000766 000000 00000070527 13022535404 025324 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::CanvasBase Member List

This is the complete list of members for ipe::CanvasBase, including all inherited members.

additionalModifiers() const ipe::CanvasBaseinline
CanvasBase()ipe::CanvasBaseprotected
canvasHeight() const ipe::CanvasBaseinline
canvasStyle() const ipe::CanvasBaseinline
canvasTfm() const ipe::CanvasBase
canvasWidth() const ipe::CanvasBaseinline
cascade() const ipe::CanvasBaseinline
center() const ipe::CanvasBaseinline
computeFifi(double x, double y)ipe::CanvasBaseprotected
devToUser(const Vector &arg) const ipe::CanvasBase
drawAxes(cairo_t *cc)ipe::CanvasBaseprotected
drawFifi(cairo_t *cr)ipe::CanvasBaseprotected
drawFrame(cairo_t *cc)ipe::CanvasBaseprotected
drawGrid(cairo_t *cc)ipe::CanvasBaseprotected
drawObjects(cairo_t *cc)ipe::CanvasBaseprotected
drawPaper(cairo_t *cc)ipe::CanvasBaseprotected
drawTool(Painter &painter)ipe::CanvasBaseprotected
EAlt enum valueipe::CanvasBase
ECommand enum valueipe::CanvasBase
EControl enum valueipe::CanvasBase
ECrossCursor enum valueipe::CanvasBase
EDotCursor enum valueipe::CanvasBase
EHandCursor enum valueipe::CanvasBase
EMeta enum valueipe::CanvasBase
EShift enum valueipe::CanvasBase
EStandardCursor enum valueipe::CanvasBase
finishTool()ipe::CanvasBase
globalPos() const ipe::CanvasBaseinline
iAdditionalModifiersipe::CanvasBaseprotected
iAutoOriginipe::CanvasBaseprotected
iAutoSnapipe::CanvasBaseprotected
iBHeightipe::CanvasBaseprotected
iBWidthipe::CanvasBaseprotected
iCascadeipe::CanvasBaseprotected
iDimmedipe::CanvasBaseprotected
iFifiModeipe::CanvasBaseprotected
iFifiVisibleipe::CanvasBaseprotected
iFontsipe::CanvasBaseprotected
iGlobalPosipe::CanvasBaseprotected
iHeightipe::CanvasBaseprotected
iMousePosipe::CanvasBaseprotected
invalidate(int x, int y, int w, int h)=0ipe::CanvasBasepure virtual
invalidate()=0ipe::CanvasBaseprotectedpure virtual
iObserveripe::CanvasBaseprotected
iOldFifiipe::CanvasBaseprotected
iPageipe::CanvasBaseprotected
iPageNumberipe::CanvasBaseprotected
iPanipe::CanvasBaseprotected
iRepaintObjectsipe::CanvasBaseprotected
iResourcesipe::CanvasBaseprotected
iSelectionVisibleipe::CanvasBaseprotected
isInkModeipe::CanvasBaseprotected
iSnapipe::CanvasBaseprotected
iStyleipe::CanvasBaseprotected
iSurfaceipe::CanvasBaseprotected
iToolipe::CanvasBaseprotected
iUnsnappedMousePosipe::CanvasBaseprotected
iViewipe::CanvasBaseprotected
iWidthipe::CanvasBaseprotected
iZoomipe::CanvasBaseprotected
pan() const ipe::CanvasBaseinline
pos() const ipe::CanvasBaseinline
refreshSurface()ipe::CanvasBaseprotected
selectPageOrView(Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)ipe::CanvasBasestatic
setAdditionalModifiers(int mod)ipe::CanvasBase
setAutoOrigin(const Vector &v)ipe::CanvasBase
setCanvasStyle(const Style &style)ipe::CanvasBase
setCursor(TCursor cursor, double w=1.0, Color *color=0)=0ipe::CanvasBasepure virtual
setDimmed(bool dimmed)ipe::CanvasBase
setFifiVisible(bool visible)ipe::CanvasBase
setInkMode(bool ink)ipe::CanvasBaseinline
setObserver(CanvasObserver *observer)ipe::CanvasBase
setPage(const Page *page, int pno, int view, const Cascade *sheet)ipe::CanvasBase
setPan(const Vector &v)ipe::CanvasBase
setResources(const PdfResources *resources)ipe::CanvasBase
setSelectionVisible(bool visible)ipe::CanvasBase
setSnap(const Snap &s)ipe::CanvasBase
setTool(Tool *tool)ipe::CanvasBase
setZoom(double zoom)ipe::CanvasBase
simpleSnapPos() const ipe::CanvasBase
snap() const ipe::CanvasBaseinline
snapToPaperAndFrame()ipe::CanvasBaseprotected
TCursor enum nameipe::CanvasBase
TModifiers enum nameipe::CanvasBase
tool()ipe::CanvasBaseinline
unsnappedPos() const ipe::CanvasBaseinline
update()ipe::CanvasBase
updateTool()ipe::CanvasBase
userToDev(const Vector &arg) const ipe::CanvasBase
zoom() const ipe::CanvasBaseinline
~CanvasBase()ipe::CanvasBasevirtual

ipe-7.2.7/build/doc/classipe_1_1_canvas_base.html000644 000766 000000 00000332522 13022535404 023670 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::CanvasBase Class Reference

#include <ipecanvas.h>

Inherited by Canvas, ipe::Canvas, ipe::Canvas, and ipe::Canvas.

Classes

struct  Style
 

Public Types

enum  TModifiers {
  EShift = 0x100, EControl = 0x200, EAlt = 0x400, EMeta = 0x800,
  ECommand = 0x1000
}
 
enum  TCursor { EStandardCursor, EHandCursor, ECrossCursor, EDotCursor }
 

Public Member Functions

virtual ~CanvasBase ()
 
void setPage (const Page *page, int pno, int view, const Cascade *sheet)
 
void setResources (const PdfResources *resources)
 
Vector pan () const
 
double zoom () const
 
const Cascadecascade () const
 
Vector center () const
 
Vector pos () const
 
Vector unsnappedPos () const
 
Vector globalPos () const
 
Vector simpleSnapPos () const
 
const Snapsnap () const
 
void setInkMode (bool ink)
 
int additionalModifiers () const
 
void setAdditionalModifiers (int mod)
 
Vector devToUser (const Vector &arg) const
 
Vector userToDev (const Vector &arg) const
 
void setCanvasStyle (const Style &style)
 
Style canvasStyle () const
 
void setPan (const Vector &v)
 
void setZoom (double zoom)
 
void setSnap (const Snap &s)
 
void setDimmed (bool dimmed)
 
void setAutoOrigin (const Vector &v)
 
Matrix canvasTfm () const
 
void setObserver (CanvasObserver *observer)
 
void setFifiVisible (bool visible)
 
void setSelectionVisible (bool visible)
 
void setTool (Tool *tool)
 
void finishTool ()
 
Tooltool ()
 
void update ()
 
void updateTool ()
 
int canvasWidth () const
 
int canvasHeight () const
 
virtual void setCursor (TCursor cursor, double w=1.0, Color *color=0)=0
 
virtual void invalidate (int x, int y, int w, int h)=0
 

Static Public Member Functions

static int selectPageOrView (Document *doc, int page=-1, int startIndex=0, int pageWidth=240, int width=600, int height=480)
 

Protected Member Functions

 CanvasBase ()
 
void drawPaper (cairo_t *cc)
 
void drawFrame (cairo_t *cc)
 
void drawAxes (cairo_t *cc)
 
void drawGrid (cairo_t *cc)
 
void drawObjects (cairo_t *cc)
 
void drawTool (Painter &painter)
 
void snapToPaperAndFrame ()
 
void refreshSurface ()
 
void computeFifi (double x, double y)
 
void drawFifi (cairo_t *cr)
 
virtual void invalidate ()=0
 

Protected Attributes

CanvasObserveriObserver
 
TooliTool
 
const PageiPage
 
int iPageNumber
 
int iView
 
const CascadeiCascade
 
Style iStyle
 
Vector iPan
 
double iZoom
 
Snap iSnap
 
bool iDimmed
 
bool iAutoSnap
 
Vector iAutoOrigin
 
int iAdditionalModifiers
 
bool isInkMode
 
bool iRepaintObjects
 
double iWidth
 
double iHeight
 
double iBWidth
 
double iBHeight
 
cairo_surface_t * iSurface
 
Vector iUnsnappedMousePos
 
Vector iMousePos
 
Vector iGlobalPos
 
Vector iOldFifi
 
bool iFifiVisible
 
Snap::TSnapModes iFifiMode
 
bool iSelectionVisible
 
const PdfResourcesiResources
 
FontsiFonts
 

Member Enumeration Documentation

Keyboard modifiers.

Enumerator
EShift 
EControl 
EAlt 
EMeta 
ECommand 
Enumerator
EStandardCursor 
EHandCursor 
ECrossCursor 
EDotCursor 

Constructor & Destructor Documentation

CanvasBase::~CanvasBase ( )
virtual

destructor.

CanvasBase::CanvasBase ( )
protected

Construct a new canvas.

Referenced by ipe::CanvasObserver::canvasObserverSizeChanged().

Member Function Documentation

void CanvasBase::setPage ( const Page page,
int  pno,
int  view,
const Cascade sheet 
)

Set the page to be displayed.

Doesn't take ownership of any argument. The page number pno is only needed if page numbering is turned on.

void CanvasBase::setResources ( const PdfResources resources)

set information about Latex fonts (from ipe::Document)

References ipe::Fonts::New().

Vector ipe::CanvasBase::pan ( ) const
inline

Return current pan.

Referenced by ipe::PanTool::mouseButton(), and Canvas::scrollWheel().

double ipe::CanvasBase::zoom ( ) const
inline
const Cascade* ipe::CanvasBase::cascade ( ) const
inline

Return current style sheet cascade.

Referenced by ipe::PanTool::draw().

Vector ipe::CanvasBase::center ( ) const
inline

Return center of canvas.

Vector ipe::CanvasBase::pos ( ) const
inline
Vector ipe::CanvasBase::unsnappedPos ( ) const
inline
Vector ipe::CanvasBase::globalPos ( ) const
inline

Return global mouse position of last mouse press/release.

Referenced by ipe::Canvas::tabletEvent().

Vector CanvasBase::simpleSnapPos ( ) const

Return snapped mouse position without angular snapping.

const Snap& ipe::CanvasBase::snap ( ) const
inline

Return current snapping information.

Referenced by ipe::TransformTool::TransformTool().

void ipe::CanvasBase::setInkMode ( bool  ink)
inline

Set ink mode.

int ipe::CanvasBase::additionalModifiers ( ) const
inline

Return current additional modifiers.

void CanvasBase::setAdditionalModifiers ( int  mod)

Set additional modifiers.

These modifier bits are passed to the Tool when a key is pressed or a drawing action is performed in addition to the actual keyboard modifiers.

Vector CanvasBase::devToUser ( const Vector arg) const

Convert canvas (device) coordinates to user coordinates.

References ipe::Vector::x, and ipe::Vector::y.

Vector CanvasBase::userToDev ( const Vector arg) const

Convert user coordinates to canvas (device) coordinates.

References ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::Canvas::drawFifi().

void CanvasBase::setCanvasStyle ( const Style style)

Set style of canvas drawing.

Includes paper color, pretty text, and grid.

Style ipe::CanvasBase::canvasStyle ( ) const
inline

Return canvas style.

void CanvasBase::setPan ( const Vector v)

Set current pan position.

The pan position is the user coordinate that is displayed at the very center of the canvas.

Referenced by ipe::PanTool::mouseButton(), and Canvas::scrollWheel().

void CanvasBase::setZoom ( double  zoom)

Set current zoom factor.

The zoom factor maps user coordinates to screen pixel coordinates.

void CanvasBase::setSnap ( const Snap s)

Set the snapping information.

void CanvasBase::setDimmed ( bool  dimmed)

Dim whole canvas, except for the Tool.

This mode will be reset when the Tool finishes.

void CanvasBase::setAutoOrigin ( const Vector v)

Enable automatic angular snapping with this origin.

Referenced by ipe::TransformTool::TransformTool().

Matrix CanvasBase::canvasTfm ( ) const

Matrix mapping user coordinates to canvas coordinates.

Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().

void CanvasBase::setObserver ( CanvasObserver observer)

Set an observer.

Use 0 to delete current observer.

void CanvasBase::setFifiVisible ( bool  visible)

Set whether Fifi should be shown.

Fifi will only be shown if a snapping mode is active.

void CanvasBase::setSelectionVisible ( bool  visible)

Set whether selection should be shown when there is no tool.

void CanvasBase::setTool ( Tool tool)

Set a new tool.

Calls canvasObserverToolChanged().

Tool* ipe::CanvasBase::tool ( )
inline
void CanvasBase::update ( )

Mark for update with redrawing of objects.

Referenced by Canvas::scrollWheel().

void CanvasBase::updateTool ( )

Mark for update with redrawing of tool only.

Referenced by ipe::SelectTool::key(), ipe::PanTool::mouseMove(), ipe::SelectTool::mouseMove(), and ipe::TransformTool::mouseMove().

int ipe::CanvasBase::canvasWidth ( ) const
inline
int ipe::CanvasBase::canvasHeight ( ) const
inline
virtual void ipe::CanvasBase::setCursor ( TCursor  cursor,
double  w = 1.0,
Color color = 0 
)
pure virtual
int CanvasBase::selectPageOrView ( Document doc,
int  page = -1,
int  startIndex = 0,
int  pageWidth = 240,
int  width = 600,
int  height = 480 
)
static

Show dialog to select a page or a view.

If page is negative (the default), shows thumbnails of all pages of the document in a dialog. If the user selects a page, the page number is returned. If the dialog is canceled, -1 is returned.

If page is non-negative, all views of this page are shown, and the selected view number is returned.

itemWidth is the width of the page thumbnails (the height is computed automatically).

If page is negative (the default), shows thumbnails of all pages of the document in a dialog. If the user selects a page, the page number is returned. If the dialog is canceled, -1 is returned.

If page is non-negative, all views of this page are shown, and the selected view number is returned.

References ipe::Thumbnail::height(), and ipe::Thumbnail::width().

Referenced by ipe::PageSelector::PageSelector().

virtual void ipe::CanvasBase::invalidate ( int  x,
int  y,
int  w,
int  h 
)
pure virtual

Implemented in ipe::Canvas.

void CanvasBase::drawPaper ( cairo_t *  cc)
protected
void CanvasBase::drawFrame ( cairo_t *  cc)
protected
void CanvasBase::drawAxes ( cairo_t *  cc)
protected

References ipe::Vector::x, and ipe::Vector::y.

void CanvasBase::drawGrid ( cairo_t *  cc)
protected
void CanvasBase::drawTool ( Painter painter)
protected

Draw the current canvas tool.

If no tool is set, it draws the selected objects.

References ipe::EPrimarySelected, ipe::ESecondarySelected, ipe::Painter::setPen(), and ipe::Painter::setStroke().

Referenced by Canvas::drawRect(), and ipe::Canvas::paintEvent().

void CanvasBase::refreshSurface ( )
protected
void CanvasBase::computeFifi ( double  x,
double  y 
)
protected

Stores the mouse position in iUnsnappedMousePos, computes Fifi if snapping is enabled, and stores snapped position in iMousePos.

References ipe::Snap::ESnapAuto, ipe::Snap::ESnapNone, ipe::Vector::x, and ipe::Vector::y.

Referenced by Canvas::drawRect(), ipe::Canvas::mouseButton(), Canvas::mouseMove(), ipe::Canvas::mouseMoveEvent(), and ipe::Canvas::tabletEvent().

virtual void ipe::CanvasBase::invalidate ( )
protectedpure virtual

Implemented in ipe::Canvas.

Member Data Documentation

const Page* ipe::CanvasBase::iPage
protected
int ipe::CanvasBase::iPageNumber
protected
int ipe::CanvasBase::iView
protected
const Cascade* ipe::CanvasBase::iCascade
protected
Style ipe::CanvasBase::iStyle
protected
Vector ipe::CanvasBase::iPan
protected
double ipe::CanvasBase::iZoom
protected

Referenced by Canvas::drawRect().

Snap ipe::CanvasBase::iSnap
protected
bool ipe::CanvasBase::iDimmed
protected
bool ipe::CanvasBase::iAutoSnap
protected
Vector ipe::CanvasBase::iAutoOrigin
protected
int ipe::CanvasBase::iAdditionalModifiers
protected
bool ipe::CanvasBase::isInkMode
protected
bool ipe::CanvasBase::iRepaintObjects
protected

Referenced by ipe::Canvas::~Canvas().

double ipe::CanvasBase::iWidth
protected
double ipe::CanvasBase::iHeight
protected
double ipe::CanvasBase::iBWidth
protected
double ipe::CanvasBase::iBHeight
protected
cairo_surface_t* ipe::CanvasBase::iSurface
protected
Vector ipe::CanvasBase::iUnsnappedMousePos
protected
Vector ipe::CanvasBase::iMousePos
protected

Referenced by ipe::Canvas::drawFifi().

Vector ipe::CanvasBase::iGlobalPos
protected
Vector ipe::CanvasBase::iOldFifi
protected

Referenced by ipe::Canvas::drawFifi().

bool ipe::CanvasBase::iFifiVisible
protected
Snap::TSnapModes ipe::CanvasBase::iFifiMode
protected

Referenced by ipe::Canvas::drawFifi().

bool ipe::CanvasBase::iSelectionVisible
protected
const PdfResources* ipe::CanvasBase::iResources
protected
Fonts* ipe::CanvasBase::iFonts
protected

Referenced by Canvas::drawRect().


The documentation for this class was generated from the following files:
  • ipecanvas.h
  • ipecanvas.cpp
  • ipeselector_cocoa.cpp
  • ipeselector_gtk.cpp
  • ipeselector_qt.cpp
  • ipeselector_win.cpp

ipe-7.2.7/build/doc/classipe_1_1_canvas_observer-members.html000644 000766 000000 00000010265 13022535404 026232 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::CanvasObserver Member List

This is the complete list of members for ipe::CanvasObserver, including all inherited members.

canvasObserverMouseAction(int button)ipe::CanvasObservervirtual
canvasObserverPositionChanged()ipe::CanvasObservervirtual
canvasObserverSizeChanged()ipe::CanvasObservervirtual
canvasObserverToolChanged(bool hasTool)ipe::CanvasObservervirtual
canvasObserverWheelMoved(double degrees, bool precise)ipe::CanvasObservervirtual
~CanvasObserver()ipe::CanvasObservervirtual

ipe-7.2.7/build/doc/classipe_1_1_canvas_observer.html000644 000766 000000 00000024424 13022535404 024604 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::CanvasObserver Class Reference
ipe::CanvasObserver Class Reference

#include <ipecanvas.h>

Public Member Functions

virtual ~CanvasObserver ()
 
virtual void canvasObserverWheelMoved (double degrees, bool precise)
 
virtual void canvasObserverMouseAction (int button)
 
virtual void canvasObserverPositionChanged ()
 
virtual void canvasObserverToolChanged (bool hasTool)
 
virtual void canvasObserverSizeChanged ()
 

Constructor & Destructor Documentation

CanvasObserver::~CanvasObserver ( )
virtual

Member Function Documentation

void CanvasObserver::canvasObserverWheelMoved ( double  degrees,
bool  precise 
)
virtual
void CanvasObserver::canvasObserverMouseAction ( int  button)
virtual
void CanvasObserver::canvasObserverPositionChanged ( )
virtual
void CanvasObserver::canvasObserverToolChanged ( bool  hasTool)
virtual
void CanvasObserver::canvasObserverSizeChanged ( )
virtual

The documentation for this class was generated from the following files:
  • ipecanvas.h
  • ipecanvas.cpp

ipe-7.2.7/build/doc/classipe_1_1_cascade-members.html000644 000766 000000 00000021737 13022535404 024441 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Cascade Member List

This is the complete list of members for ipe::Cascade, including all inherited members.

allNames(Kind kind, AttributeSeq &seq) const ipe::Cascade
Cascade()ipe::Cascade
Cascade(const Cascade &rhs)ipe::Cascade
count() const ipe::Cascadeinline
fillRule() const ipe::Cascade
find(Kind, Attribute sym) const ipe::Cascade
findDefinition(Kind kind, Attribute sym) const ipe::Cascade
findEffect(Attribute sym) const ipe::Cascade
findGradient(Attribute sym) const ipe::Cascade
findLayout() const ipe::Cascade
findPageNumberStyle() const ipe::Cascade
findPreamble() const ipe::Cascade
findSymbol(Attribute sym) const ipe::Cascade
findTextPadding() const ipe::Cascade
findTiling(Attribute sym) const ipe::Cascade
findTitleStyle() const ipe::Cascade
has(Kind kind, Attribute sym) const ipe::Cascade
insert(int index, StyleSheet *sheet)ipe::Cascade
lineCap() const ipe::Cascade
lineJoin() const ipe::Cascade
operator=(const Cascade &rhs)ipe::Cascade
remove(int index)ipe::Cascade
saveAsXml(Stream &stream) const ipe::Cascade
sheet(int index)ipe::Cascadeinline
sheet(int index) const ipe::Cascadeinline
~Cascade()ipe::Cascade

ipe-7.2.7/build/doc/classipe_1_1_cascade.html000644 000766 000000 00000111563 13022535404 023006 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Cascade Class Reference

#include <ipestyle.h>

Public Member Functions

 Cascade ()
 
 Cascade (const Cascade &rhs)
 
Cascadeoperator= (const Cascade &rhs)
 
 ~Cascade ()
 
int count () const
 
StyleSheetsheet (int index)
 
const StyleSheetsheet (int index) const
 
void insert (int index, StyleSheet *sheet)
 
void remove (int index)
 
void saveAsXml (Stream &stream) const
 
bool has (Kind kind, Attribute sym) const
 
Attribute find (Kind, Attribute sym) const
 
const SymbolfindSymbol (Attribute sym) const
 
const GradientfindGradient (Attribute sym) const
 
const TilingfindTiling (Attribute sym) const
 
const EffectfindEffect (Attribute sym) const
 
const LayoutfindLayout () const
 
const TextPaddingfindTextPadding () const
 
const StyleSheet::TitleStylefindTitleStyle () const
 
const StyleSheet::PageNumberStylefindPageNumberStyle () const
 
String findPreamble () const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
void allNames (Kind kind, AttributeSeq &seq) const
 
int findDefinition (Kind kind, Attribute sym) const
 

Detailed Description

A cascade of style sheets.

The StyleSheets of a document cascade in the sense that a document can refer to several StyleSheets, which are arranged in a stack. A lookup is done from top to bottom, and returns as soon as a match is found. Ipe always appends the built-in "standard" style sheet at the bottom of the cascade.

Constructor & Destructor Documentation

Cascade::Cascade ( )

Create an empty cascade.

This does not add the standard style sheet.

Cascade::Cascade ( const Cascade rhs)

Copy constructor.

References count().

Cascade::~Cascade ( )

Destructor.

Member Function Documentation

Cascade & Cascade::operator= ( const Cascade rhs)

Assignment operator.

References count().

int ipe::Cascade::count ( ) const
inline

Return number of style sheets.

Referenced by Cascade(), and operator=().

StyleSheet* ipe::Cascade::sheet ( int  index)
inline

Return StyleSheet at index.

const StyleSheet* ipe::Cascade::sheet ( int  index) const
inline

Return StyleSheet at index.

void Cascade::insert ( int  index,
StyleSheet sheet 
)

Insert a style sheet into the cascade.

Takes ownership of sheet.

Referenced by ipe::Document::Document(), and ipe::ImlParser::parseDocument().

void Cascade::remove ( int  index)

Remove a style sheet from the cascade.

The old sheet is deleted.

void Cascade::saveAsXml ( Stream stream) const
bool Cascade::has ( Kind  kind,
Attribute  sym 
) const
const Gradient * Cascade::findGradient ( Attribute  sym) const
const Tiling * Cascade::findTiling ( Attribute  sym) const
const Effect * Cascade::findEffect ( Attribute  sym) const
const Layout * Cascade::findLayout ( ) const

Find page layout (such as text margins).

Referenced by ipe::PanTool::draw(), and ipe::Thumbnail::Thumbnail().

const TextPadding * Cascade::findTextPadding ( ) const

Find text padding (for text bbox computation).

Referenced by ipe::BBoxPainter::doDrawText().

const StyleSheet::TitleStyle * Cascade::findTitleStyle ( ) const

Get style of page titles (or 0 if none defined).

Referenced by ipe::Page::applyTitleStyle().

const StyleSheet::PageNumberStyle * Cascade::findPageNumberStyle ( ) const

Return style of page numbering (or 0 if none defined).

String Cascade::findPreamble ( ) const

Return total LaTeX preamble (of the whole cascade).

TLineCap Cascade::lineCap ( ) const
TLineJoin Cascade::lineJoin ( ) const
TFillRule Cascade::fillRule ( ) const
void Cascade::allNames ( Kind  kind,
AttributeSeq seq 
) const
int Cascade::findDefinition ( Kind  kind,
Attribute  sym 
) const

Find stylesheet defining the attribute.

This method goes through the cascade looking for a definition of the symbolic attribute sym. It returns the index of the stylesheet defining the attribute, or -1 if the attribute is not defined.

The method panics if sym is not symbolic. It also works for ESymbol, EGradient, ETiling, and EEffect.

References ipe::Attribute::isSymbolic().

Referenced by ipe::Object::checkSymbol().


The documentation for this class was generated from the following files:
  • ipestyle.h
  • ipestyle.cpp

ipe-7.2.7/build/doc/classipe_1_1_closed_spline-members.html000644 000766 000000 00000017772 13022535404 025705 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::ClosedSpline Member List

This is the complete list of members for ipe::ClosedSpline, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::ClosedSplinevirtual
asClosedSpline() const ipe::ClosedSplinevirtual
asCurve() const ipe::SubPathvirtual
asEllipse() const ipe::SubPathvirtual
beziers(std::vector< Bezier > &bez) const ipe::ClosedSpline
closed() const ipe::SubPathvirtual
ClosedSpline(const std::vector< Vector > &v)ipe::ClosedSpline
distance(const Vector &v, const Matrix &m, double bound) const ipe::ClosedSplinevirtual
draw(Painter &painter) const ipe::ClosedSplinevirtual
EClosedSpline enum valueipe::SubPath
ECurve enum valueipe::SubPath
EEllipse enum valueipe::SubPath
iCPipe::ClosedSpline
save(Stream &stream) const ipe::ClosedSplinevirtual
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::ClosedSplinevirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const ipe::ClosedSplinevirtual
type() const ipe::ClosedSplinevirtual
Type enum nameipe::SubPath
~SubPath()=0ipe::SubPathpure virtual

ipe-7.2.7/build/doc/classipe_1_1_closed_spline.html000644 000766 000000 00000060523 13022535404 024245 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::ClosedSpline Class Reference

#include <ipeshape.h>

Inherits ipe::SubPath.

Public Member Functions

 ClosedSpline (const std::vector< Vector > &v)
 
virtual Type type () const
 
virtual const ClosedSplineasClosedSpline () const
 
void beziers (std::vector< Bezier > &bez) const
 
virtual void save (Stream &stream) const
 
virtual void draw (Painter &painter) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
- Public Member Functions inherited from ipe::SubPath
virtual ~SubPath ()=0
 
virtual bool closed () const
 
virtual const EllipseasEllipse () const
 
virtual const CurveasCurve () const
 

Public Attributes

std::vector< VectoriCP
 

Additional Inherited Members

- Public Types inherited from ipe::SubPath
enum  Type { ECurve, EEllipse, EClosedSpline }
 

Detailed Description

A closed B-spline curve.

Constructor & Destructor Documentation

ClosedSpline::ClosedSpline ( const std::vector< Vector > &  v)

Member Function Documentation

SubPath::Type ClosedSpline::type ( ) const
virtual

Return type of this subpath.

Implements ipe::SubPath.

References ipe::SubPath::EClosedSpline.

const ClosedSpline * ClosedSpline::asClosedSpline ( ) const
virtual

Return this object as an ClosedSpline, or 0 if it's not a closed spline.

Reimplemented from ipe::SubPath.

void ClosedSpline::beziers ( std::vector< Bezier > &  bez) const
void ClosedSpline::save ( Stream stream) const
virtual

Save subpath to XML stream.

Implements ipe::SubPath.

void ClosedSpline::draw ( Painter painter) const
virtual

Draw subpath (does not call drawPath()).

Implements ipe::SubPath.

References ipe::Painter::closePath(), ipe::Painter::curveTo(), and ipe::Painter::moveTo().

void ClosedSpline::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Add subpath to box.

Implements ipe::SubPath.

References ipe::Rect::addPoint(), and ipe::Rect::addRect().

double ClosedSpline::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance from v to subpath transformed by m.

Implements ipe::SubPath.

References ipe::Ellipse::distance().

void ClosedSpline::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  cp 
) const
virtual

Snap to vertex.

Implements ipe::SubPath.

void ClosedSpline::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Snap to boundary of subpath.

Implements ipe::SubPath.

References ipe::Shape::Shape().

Member Data Documentation

std::vector<Vector> ipe::ClosedSpline::iCP

The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_color-members.html000644 000766 000000 00000012543 13022535404 024167 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Color Member List

This is the complete list of members for ipe::Color, including all inherited members.

Color()ipe::Colorinline
Color(String str)ipe::Colorexplicit
Color(int r, int g, int b)ipe::Colorexplicit
iBlueipe::Color
iGreenipe::Color
iRedipe::Color
isGray() const ipe::Color
operator!=(const Color &rhs) const ipe::Colorinline
operator<<(Stream &stream, const Color &attr)ipe::Colorrelated
operator==(const Color &rhs) const ipe::Color
save(Stream &stream) const ipe::Color
saveRGB(Stream &stream) const ipe::Color

ipe-7.2.7/build/doc/classipe_1_1_color.html000644 000766 000000 00000056602 13022535404 022543 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Color Class Reference

#include <ipeattributes.h>

Public Member Functions

 Color ()
 
 Color (String str)
 
 Color (int r, int g, int b)
 
void save (Stream &stream) const
 
void saveRGB (Stream &stream) const
 
bool isGray () const
 
bool operator== (const Color &rhs) const
 
bool operator!= (const Color &rhs) const
 

Public Attributes

Fixed iRed
 
Fixed iGreen
 
Fixed iBlue
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Color &attr)
 

Detailed Description

An absolute RGB color.

Constructor & Destructor Documentation

ipe::Color::Color ( )
inline

Default constructor.

References isGray(), operator==(), save(), and saveRGB().

Referenced by ipe::Attribute::makeColor().

Color::Color ( String  str)
explicit

Construct a color from a string.

If only a single number is given, this is a gray value, otherwise red, green, and blue components must be given.

References ipe::Lex::eos(), iBlue, iGreen, and iRed.

Color::Color ( int  red,
int  green,
int  blue 
)
explicit

Construct a color.

Arguments red, green, blue range from 0 to 1000.

References ipe::Fixed::fromInternal(), iBlue, iGreen, and iRed.

Member Function Documentation

void Color::save ( Stream stream) const

Save to stream.

References iBlue, iGreen, iRed, and isGray().

Referenced by Color(), and operator<<().

void Color::saveRGB ( Stream stream) const

Save to stream in long format.

The RGB components are saved separately even for gray colors.

References iBlue, iGreen, and iRed.

Referenced by Color(), and ipe::PdfPainter::drawAttributes().

bool Color::isGray ( ) const

is it an absolute gray value?

References iBlue, iGreen, and iRed.

Referenced by Color(), ipe::Latex::createLatexSource(), ipe::PdfPainter::drawColor(), and save().

bool Color::operator== ( const Color rhs) const

References ipe::Effect::Effect(), iBlue, iGreen, and iRed.

Referenced by Color().

bool ipe::Color::operator!= ( const Color rhs) const
inline

Friends And Related Function Documentation

Stream & operator<< ( Stream stream,
const Color attr 
)
related

References save().

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipeattributes.h
  • ipeattributes.cpp

ipe-7.2.7/build/doc/classipe_1_1_curve-members.html000644 000766 000000 00000022650 13022535405 024176 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Curve Member List

This is the complete list of members for ipe::Curve, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Curvevirtual
appendArc(const Matrix &m, const Vector &v0, const Vector &v1)ipe::Curve
appendOldSpline(const std::vector< Vector > &v)ipe::Curveinline
appendSegment(const Vector &v0, const Vector &v1)ipe::Curve
appendSpline(const std::vector< Vector > &v)ipe::Curveinline
asClosedSpline() const ipe::SubPathvirtual
asCurve() const ipe::Curvevirtual
asEllipse() const ipe::SubPathvirtual
closed() const ipe::Curveinlinevirtual
closingSegment(Vector u[2]) const ipe::Curve
countSegments() const ipe::Curveinline
Curve()ipe::Curve
distance(const Vector &v, const Matrix &m, double bound) const ipe::Curvevirtual
draw(Painter &painter) const ipe::Curvevirtual
EClosedSpline enum valueipe::SubPath
ECurve enum valueipe::SubPath
EEllipse enum valueipe::SubPath
save(Stream &stream) const ipe::Curvevirtual
segment(int i) const ipe::Curve
setClosed(bool closed)ipe::Curve
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Curvevirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const ipe::Curvevirtual
type() const ipe::Curvevirtual
Type enum nameipe::SubPath
~SubPath()=0ipe::SubPathpure virtual

ipe-7.2.7/build/doc/classipe_1_1_curve.html000644 000766 000000 00000110424 13022535405 022543 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Curve Class Reference

#include <ipeshape.h>

Inherits ipe::SubPath.

Public Member Functions

 Curve ()
 
virtual Type type () const
 
virtual bool closed () const
 
virtual const CurveasCurve () const
 
virtual void save (Stream &stream) const
 
virtual void draw (Painter &painter) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
int countSegments () const
 
CurveSegment segment (int i) const
 
CurveSegment closingSegment (Vector u[2]) const
 
void appendSegment (const Vector &v0, const Vector &v1)
 
void appendArc (const Matrix &m, const Vector &v0, const Vector &v1)
 
void appendSpline (const std::vector< Vector > &v)
 
void appendOldSpline (const std::vector< Vector > &v)
 
void setClosed (bool closed)
 
- Public Member Functions inherited from ipe::SubPath
virtual ~SubPath ()=0
 
virtual const EllipseasEllipse () const
 
virtual const ClosedSplineasClosedSpline () const
 

Additional Inherited Members

- Public Types inherited from ipe::SubPath
enum  Type { ECurve, EEllipse, EClosedSpline }
 

Detailed Description

Subpath consisting of a sequence of CurveSegment's.

Constructor & Destructor Documentation

Curve::Curve ( )

Create an empty, open subpath.

Referenced by ipe::CurveSegment::snapBnd().

Member Function Documentation

SubPath::Type Curve::type ( ) const
virtual

Return type of this subpath.

Implements ipe::SubPath.

virtual bool ipe::Curve::closed ( ) const
inlinevirtual
const Curve * Curve::asCurve ( ) const
virtual

Return this object as an Curve, or else 0.

Reimplemented from ipe::SubPath.

void Curve::save ( Stream stream) const
virtual
void Curve::draw ( Painter painter) const
virtual

Draw subpath (does not call drawPath()).

Implements ipe::SubPath.

References ipe::Painter::closePath(), and ipe::Painter::moveTo().

void Curve::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Add subpath to box.

Implements ipe::SubPath.

double Curve::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance from v to subpath transformed by m.

Implements ipe::SubPath.

void Curve::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  cp 
) const
virtual

Snap to vertex.

Implements ipe::SubPath.

References ipe::CanvasBase::pos().

void Curve::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Snap to boundary of subpath.

Implements ipe::SubPath.

int ipe::Curve::countSegments ( ) const
inline

Return number of segments. This does not include the closing segment for a closed path.

Referenced by ipe::Shape::isSegment().

CurveSegment Curve::segment ( int  i) const

Return segment.

If i is negative, elements from the end are returned. The closing segment of a closed path is not accessible this way (use closingSegment() instead)!

Referenced by ipe::Path::clone(), ipe::Path::draw(), and ipe::Shape::isSegment().

CurveSegment Curve::closingSegment ( Vector  u[2]) const

Returns the closing segment of a closed path.

Since the closing segment isn't actually stored inside this object, you have to provide a length-2 vector for the control points.

This method panics if the Curve is not closed.

References ipe::CurveSegment::ESegment, and ipe::SubPath::~SubPath().

void Curve::appendSegment ( const Vector v0,
const Vector v1 
)

Append a straight segment to the subpath.

References ipe::CurveSegment::ESegment.

Referenced by ipe::Shape::load(), and ipe::Shape::Shape().

void Curve::appendArc ( const Matrix m,
const Vector v0,
const Vector v1 
)
void ipe::Curve::appendSpline ( const std::vector< Vector > &  v)
inline
void ipe::Curve::appendOldSpline ( const std::vector< Vector > &  v)
inline
void Curve::setClosed ( bool  closed)

Set whether subpath is closed or not.

Referenced by ipe::Shape::load(), and ipe::Shape::Shape().


The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_curve_segment-members.html000644 000766 000000 00000017147 13022535405 025725 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::CurveSegment Member List

This is the complete list of members for ipe::CurveSegment, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::CurveSegment
arc() const ipe::CurveSegment
beziers(std::vector< Bezier > &bez) const ipe::CurveSegment
countCP() const ipe::CurveSegmentinline
cp(int i) const ipe::CurveSegmentinline
Curve classipe::CurveSegmentfriend
distance(const Vector &v, const Matrix &m, double bound) const ipe::CurveSegment
draw(Painter &painter) const ipe::CurveSegment
EArc enum valueipe::CurveSegment
EOldSpline enum valueipe::CurveSegment
ESegment enum valueipe::CurveSegment
ESpline enum valueipe::CurveSegment
last() const ipe::CurveSegmentinline
matrix() const ipe::CurveSegmentinline
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::CurveSegment
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const ipe::CurveSegment
type() const ipe::CurveSegmentinline
Type enum nameipe::CurveSegment

ipe-7.2.7/build/doc/classipe_1_1_curve_segment.html000644 000766 000000 00000075120 13022535405 024270 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::CurveSegment Class Reference

#include <ipeshape.h>

Public Types

enum  Type { EArc, ESegment, ESpline, EOldSpline }
 

Public Member Functions

Type type () const
 
int countCP () const
 
Vector cp (int i) const
 
Vector last () const
 
Matrix matrix () const
 
Arc arc () const
 
void beziers (std::vector< Bezier > &bez) const
 
void draw (Painter &painter) const
 
void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
double distance (const Vector &v, const Matrix &m, double bound) const
 
void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
 
void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 

Friends

class Curve
 

Detailed Description

A segment on an SubPath.

A segment is either an elliptic arc, a straight segment, or a B-spline curve, depending on its type(). This is a lightweight object, created on the fly by Curve::segment(). There is no public constructor, so the only way to create such an object is through that method.

The type() is one of the following:

  • ESegment: the segment has two control points, and represents a line segment.
  • ESpline: a B-spline curve with n control points. The first and last control point's knot value is repeated three times, so the curve begins and ends in these points. A spline with 4 control points is a single Bezier curve with those control points. A spline with 3 control points is defined to be a quadratic Bezier curve with those control points.
  • EOldSpline: an incorrectly defined B-spline, used by Ipe for many years. Supported for compatibility.
  • EArc: an elliptic arc, with begin and end point. The supporting ellipse is defined by the matrix(), it is the image under the affine transformation matrix() of the unit circle. matrix() is such that its inverse transforms both start and end position to points (nearly) on the unit circle. The arc is the image of the positively (counter-clockwise) directed arc from the pre-image of the start position to the pre-image of the end position. Whether this is a positively or negatively oriented arc in user space depends on the matrix.

Member Enumeration Documentation

Enumerator
EArc 
ESegment 
ESpline 
EOldSpline 

Member Function Documentation

Type ipe::CurveSegment::type ( ) const
inline

Type of segment.

Referenced by ipe::Path::clone(), ipe::Shape::isSegment(), and matrix().

int ipe::CurveSegment::countCP ( ) const
inline

Number of control points.

Referenced by ipe::Path::clone().

Vector ipe::CurveSegment::cp ( int  i) const
inline

Return control point.

Referenced by ipe::Path::clone(), ipe::Curve::closed(), matrix(), and ipe::Ellipse::matrix().

Vector ipe::CurveSegment::last ( ) const
inline

Return last control point.

Referenced by ipe::Path::clone().

Matrix ipe::CurveSegment::matrix ( ) const
inline
Arc CurveSegment::arc ( ) const

Return segment as Arc.

Panics if segment is not an arc.

Referenced by matrix().

void CurveSegment::beziers ( std::vector< Bezier > &  bez) const

Convert B-spline to a sequence of Bezier splines.

References ipe::Bezier::oldSpline(), and ipe::Bezier::spline().

Referenced by matrix().

void CurveSegment::draw ( Painter painter) const

Draw the segment.

Current position of the painter is already on first control point.

References ipe::Painter::curveTo(), ipe::Painter::drawArc(), and ipe::Painter::lineTo().

Referenced by ipe::Curve::closed(), matrix(), ipe::Ellipse::matrix(), and ipe::Shape::subPath().

void CurveSegment::addToBBox ( Rect box,
const Matrix m,
bool  cpf 
) const

Add segment to bounding box.

Does not assume that first control point has already been added.

If cpf is true, then control points of splines, Bezier curves, and the center of arcs are included in the bbox (so that snapping can find them). Otherwise, a tight bounding box for the geometric object itself is computed.

References ipe::Rect::addPoint(), and ipe::Rect::addRect().

Referenced by ipe::Curve::closed(), matrix(), and ipe::Ellipse::matrix().

double CurveSegment::distance ( const Vector v,
const Matrix m,
double  bound 
) const

Return distance to the segment.

References ipe::Segment::distance().

Referenced by ipe::Curve::closed(), matrix(), and ipe::Ellipse::matrix().

void CurveSegment::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  ctl 
) const

Snap to vertex of the segment.

The method assumes that the first control point has already been tested.

References ipe::CanvasBase::pos().

Referenced by ipe::Curve::closed(), matrix(), and ipe::Ellipse::matrix().

void CurveSegment::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const

Friends And Related Function Documentation

friend class Curve
friend

The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_data_source-members.html000644 000766 000000 00000005512 13022535405 025341 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::DataSource Member List

This is the complete list of members for ipe::DataSource, including all inherited members.

getChar()=0ipe::DataSourcepure virtual
~DataSource()=0ipe::DataSourcepure virtual

ipe-7.2.7/build/doc/classipe_1_1_data_source.html000644 000766 000000 00000015235 13022535405 023714 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::DataSource Class Reference
ipe::DataSource Class Referenceabstract

#include <ipebase.h>

Inherited by ipe::A85Source, ipe::Base64Source, ipe::BufferSource, ipe::FileSource, ipe::InflateSource, PsSource, and StandardStyleSource.

Public Member Functions

virtual ~DataSource ()=0
 
virtual int getChar ()=0
 

Detailed Description

Interface for getting data for parsing.

Constructor & Destructor Documentation

DataSource::~DataSource ( )
pure virtual

Pure virtual destructor.

Referenced by ipe::FileStream::tell().

Member Function Documentation


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_deflate_stream-members.html000644 000766 000000 00000015447 13022535405 026037 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::DeflateStream Member List

This is the complete list of members for ipe::DeflateStream, including all inherited members.

close()ipe::DeflateStreamvirtual
deflate(const char *data, int size, int &deflatedSize, int compressLevel)ipe::DeflateStreamstatic
DeflateStream(Stream &stream, int level)ipe::DeflateStream
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)ipe::DeflateStreamvirtual
putCString(const char *s)ipe::Streamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::Streamvirtual
putString(String s)ipe::Streamvirtual
putXmlString(String s)ipe::Stream
~DeflateStream()ipe::DeflateStreamvirtual
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_deflate_stream.html000644 000766 000000 00000042263 13022535405 024403 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::DeflateStream Class Reference

#include <ipeutils.h>

Inherits ipe::Stream.

Public Member Functions

 DeflateStream (Stream &stream, int level)
 
virtual ~DeflateStream ()
 
virtual void putChar (char ch)
 
virtual void close ()
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Static Public Member Functions

static Buffer deflate (const char *data, int size, int &deflatedSize, int compressLevel)
 

Detailed Description

Filter stream adding flate compression.

Constructor & Destructor Documentation

DeflateStream::DeflateStream ( Stream stream,
int  level 
)
DeflateStream::~DeflateStream ( )
virtual

Member Function Documentation

void DeflateStream::putChar ( char  ch)
virtual

Output character.

Implements ipe::Stream.

References ipe::Buffer::data(), deflate(), ipe::Stream::putRaw(), and ipe::Buffer::size().

void DeflateStream::close ( )
virtual

Close the stream. No more writing allowed!

Reimplemented from ipe::Stream.

References ipe::Stream::close(), ipe::Buffer::data(), deflate(), ipe::Stream::putRaw(), and ipe::Buffer::size().

Referenced by ipe::PdfWriter::createPageView(), and ipe::Document::save().

Buffer DeflateStream::deflate ( const char *  data,
int  size,
int &  deflatedSize,
int  compressLevel 
)
static

Deflate a buffer in a single run.

The returned buffer may be larger than necessary: deflatedSize is set to the number of bytes actually used.

References ipe::Buffer::data().

Referenced by ipe::Bitmap::Bitmap(), close(), putChar(), and ipe::PdfWriter::~PdfWriter().


The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_document-members.html000644 000766 000000 00000043601 13022535405 024667 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Document Member List

This is the complete list of members for ipe::Document, including all inherited members.

cascade()ipe::Documentinline
cascade() const ipe::Documentinline
checkStyle(AttributeSeq &seq) const ipe::Document
countPages() const ipe::Documentinline
countTotalViews() const ipe::Document
Document()ipe::Document
Document(const Document &rhs)ipe::Document
EEps enum valueipe::Document
EExport enum valueipe::Document
EFileOpenError enum valueipe::Document
EIpe5 enum valueipe::Document
EMarkedView enum valueipe::Document
ENotAnIpeFile enum valueipe::Document
ENoZip enum valueipe::Document
EPdf enum valueipe::Document
ErrLatex enum valueipe::Document
ErrLatexOutput enum valueipe::Document
ErrNoDir enum valueipe::Document
ErrNone enum valueipe::Document
ErrNoText enum valueipe::Document
ErrOldPdfLatex enum valueipe::Document
ErrRunLatex enum valueipe::Document
ErrWritingSource enum valueipe::Document
ESaveNormal enum valueipe::Document
EUnknown enum valueipe::Document
EVersionTooOld enum valueipe::Document
EVersionTooRecent enum valueipe::Document
EXml enum valueipe::Document
exportPages(const char *fname, uint flags, int fromPage, int toPage) const ipe::Document
exportView(const char *fname, TFormat format, uint flags, int pno, int vno) const ipe::Document
fileFormat(DataSource &source)ipe::Documentstatic
findBitmaps(BitmapFinder &bm) const ipe::Document
formatFromFilename(String fn)ipe::Documentstatic
insert(int no, Page *page)ipe::Document
load(DataSource &source, TFormat format, int &reason)ipe::Documentstatic
load(const char *fname, int &reason)ipe::Documentstatic
LoadErrors enum nameipe::Document
loadWithErrorReport(const char *fname)ipe::Documentstatic
operator=(const Document &rhs)=deleteipe::Document
page(int no) const ipe::Documentinline
page(int no)ipe::Documentinline
properties() const ipe::Documentinline
push_back(Page *page)ipe::Document
remove(int no)ipe::Document
replaceCascade(Cascade *cascade)ipe::Document
resources() const noexceptipe::Documentinline
runLatex(String &logFile)ipe::Document
runLatex()ipe::Document
save(TellStream &stream, TFormat format, uint flags) const ipe::Document
save(const char *fname, TFormat format, uint flags) const ipe::Document
saveAsXml(Stream &stream, bool usePdfBitmaps=false) const ipe::Document
set(int no, Page *page)ipe::Document
setProperties(const SProperties &info)ipe::Document
setResources(PdfResources *resources)ipe::Document
TFormat enum nameipe::Document
~Document()ipe::Document

ipe-7.2.7/build/doc/classipe_1_1_document.html000644 000766 000000 00000234303 13022535405 023240 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Document Class Reference

#include <ipedoc.h>

Classes

struct  SProperties
 

Public Types

enum  TFormat {
  EXml, EPdf, EEps, EIpe5,
  EUnknown
}
 
enum  { ESaveNormal = 0, EExport = 1, ENoZip = 2, EMarkedView = 4 }
 
enum  LoadErrors { EVersionTooOld = -1, EVersionTooRecent = -2, EFileOpenError = -3, ENotAnIpeFile = -4 }
 
enum  {
  ErrNone, ErrNoText, ErrNoDir, ErrWritingSource,
  ErrOldPdfLatex, ErrRunLatex, ErrLatex, ErrLatexOutput
}
 

Public Member Functions

 Document ()
 
 Document (const Document &rhs)
 
Documentoperator= (const Document &rhs)=delete
 
 ~Document ()
 
bool save (TellStream &stream, TFormat format, uint flags) const
 
bool save (const char *fname, TFormat format, uint flags) const
 
bool exportPages (const char *fname, uint flags, int fromPage, int toPage) const
 
bool exportView (const char *fname, TFormat format, uint flags, int pno, int vno) const
 
void saveAsXml (Stream &stream, bool usePdfBitmaps=false) const
 
int countPages () const
 
int countTotalViews () const
 
const Pagepage (int no) const
 
Pagepage (int no)
 
Pageset (int no, Page *page)
 
void insert (int no, Page *page)
 
void push_back (Page *page)
 
Pageremove (int no)
 
SProperties properties () const
 
void setProperties (const SProperties &info)
 
Cascadecascade ()
 
const Cascadecascade () const
 
CascadereplaceCascade (Cascade *cascade)
 
void setResources (PdfResources *resources)
 
const PdfResourcesresources () const noexcept
 
void findBitmaps (BitmapFinder &bm) const
 
bool checkStyle (AttributeSeq &seq) const
 
int runLatex (String &logFile)
 
int runLatex ()
 

Static Public Member Functions

static TFormat fileFormat (DataSource &source)
 
static TFormat formatFromFilename (String fn)
 
static Documentload (DataSource &source, TFormat format, int &reason)
 
static Documentload (const char *fname, int &reason)
 
static DocumentloadWithErrorReport (const char *fname)
 

Detailed Description

The model for an Ipe document.

The Document class represents the contents of an Ipe document, and all the methods necessary to load, save, and modify it.

Member Enumeration Documentation

There are several Ipe document formats.

Enumerator
EXml 

Save as XML.

EPdf 

Save as PDF.

EEps 

Encapsulated Postscript (loading only)

EIpe5 

Ancient Ipe format.

EUnknown 

Unknown file format.

anonymous enum

Options for saving Ipe documents (to PDF and Postscript)

Enumerator
ESaveNormal 

Nothing special.

EExport 

Don't include Ipe markup.

ENoZip 

Do not compress streams.

EMarkedView 

Create marked views only.

Errors that can happen while loading documents.

Enumerator
EVersionTooOld 

The version of the file is too old.

EVersionTooRecent 

The file version is newer than this Ipelib.

EFileOpenError 

Error opening the file.

ENotAnIpeFile 

The file was not created by Ipe.

anonymous enum

Error codes returned by RunLatex.

Enumerator
ErrNone 
ErrNoText 
ErrNoDir 
ErrWritingSource 
ErrOldPdfLatex 
ErrRunLatex 
ErrLatex 
ErrLatexOutput 

Constructor & Destructor Documentation

Document::Document ( )

Construct an empty document for filling by a client.

As constructed, it has no pages, A4 media, and only the standard style sheet.

References ipe::Cascade::insert(), and ipe::StyleSheet::standard().

Referenced by formatFromFilename().

Document::Document ( const Document rhs)

Copy constructor.

References countPages(), ipe::DataSource::getChar(), and page().

Document::~Document ( )

Destructor.

References countPages(), and page().

Member Function Documentation

Document& ipe::Document::operator= ( const Document rhs)
delete
Document::TFormat Document::fileFormat ( DataSource source)
static

Determine format of file in source.

References EEps, EIpe5, EPdf, EUnknown, EXml, and ipe::String::substr().

Referenced by load().

Document * Document::load ( DataSource source,
TFormat  format,
int &  reason 
)
static

Construct a document from an input stream.

Returns 0 if the stream couldn't be parsed, and a reason explaining that in reason. If reason is positive, it is a file (stream) offset where parsing failed. If reason is negative, it is an error code, see Document::LoadErrors.

References EEps, EIpe5, ENotAnIpeFile, EPdf, EVersionTooOld, and EXml.

Referenced by load(), and loadWithErrorReport().

Document * Document::load ( const char *  fname,
int &  reason 
)
static
Document * Document::loadWithErrorReport ( const char *  fname)
static
bool Document::save ( TellStream stream,
TFormat  format,
uint  flags 
) const
bool Document::save ( const char *  fname,
TFormat  format,
uint  flags 
) const

References ipe::Platform::fopen(), and save().

bool Document::exportPages ( const char *  fname,
uint  flags,
int  fromPage,
int  toPage 
) const
bool Document::exportView ( const char *  fname,
TFormat  format,
uint  flags,
int  pno,
int  vno 
) const
void Document::saveAsXml ( Stream stream,
bool  usePdfBitmaps = false 
) const
int ipe::Document::countPages ( ) const
inline
int Document::countTotalViews ( ) const

Return total number of views in all pages.

References countPages(), ipe::Page::countViews(), and page().

Referenced by countPages().

const Page* ipe::Document::page ( int  no) const
inline

Return page (const version).

The first page is no 0.

Referenced by checkStyle(), countTotalViews(), Document(), findBitmaps(), insert(), page(), ipe::PageSelector::PageSelector(), runLatex(), saveAsXml(), set(), and ~Document().

Page* ipe::Document::page ( int  no)
inline

Return page.

The first page is no 0.

References insert(), page(), and push_back().

Page * Document::set ( int  no,
Page page 
)

Replace page.

Returns the original page.

References page().

void Document::insert ( int  no,
Page page 
)

Insert a new page.

The page is inserted at index no.

References page().

Referenced by page().

void Document::push_back ( Page page)

Append a new page.

Referenced by page(), and ipe::ImlParser::parseDocument().

Page * Document::remove ( int  no)

Remove a page.

Returns the page that has been removed.

SProperties ipe::Document::properties ( ) const
inline

Return document properties.

References setProperties().

Referenced by ipe::ImlParser::parseDocument(), and runLatex().

void Document::setProperties ( const SProperties info)

Set document properties.

Referenced by ipe::ImlParser::parseDocument(), and properties().

const Cascade* ipe::Document::cascade ( ) const
inline

Return stylesheet cascade (const version).

References cascade(), replaceCascade(), resources(), and setResources().

Cascade * Document::replaceCascade ( Cascade sheets)

Replace the entire style sheet cascade.

Takes ownership of cascade, and returns the original cascade.

Referenced by cascade().

void Document::setResources ( PdfResources resources)

Update the PDF resources (after running latex).

Takes ownership.

References ipe::ImlParser::parseStyleSheet(), and resources().

Referenced by cascade(), and runLatex().

const PdfResources* ipe::Document::resources ( ) const
inlinenoexcept

Return the current PDF resources.

References checkStyle(), and findBitmaps().

Referenced by cascade(), runLatex(), setResources(), and ipe::Thumbnail::Thumbnail().

void Document::findBitmaps ( BitmapFinder bm) const
bool Document::checkStyle ( AttributeSeq seq) const

Check all symbolic attributes in the document.

This function verifies that all symbolic attributes in the document are defined in the style sheet. It appends to seq all symbolic attributes (in no particular order, but without duplicates) that are NOT defined.

Returns true if there are no undefined symbolic attributes in the document.

References cascade(), ipe::Object::checkStyle(), ipe::Page::count(), countPages(), ipe::Page::object(), and page().

Referenced by resources().

int Document::runLatex ( )

Run Pdflatex (suitable for console applications)

Success/error is reported on stderr.

References ErrLatex, ErrLatexOutput, ErrNoDir, ErrNone, ErrNoText, ErrOldPdfLatex, ErrRunLatex, and ErrWritingSource.


The documentation for this class was generated from the following files:
  • ipedoc.h
  • ipedoc.cpp

ipe-7.2.7/build/doc/classipe_1_1_effect-members.html000644 000766 000000 00000020707 13022535405 024307 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Effect Member List

This is the complete list of members for ipe::Effect, including all inherited members.

EBlindsH enum valueipe::Effect
EBlindsV enum valueipe::Effect
EBoxI enum valueipe::Effect
EBoxO enum valueipe::Effect
EDissolve enum valueipe::Effect
Effect()ipe::Effect
EGlitterD enum valueipe::Effect
EGlitterLR enum valueipe::Effect
EGlitterTB enum valueipe::Effect
ENormal enum valueipe::Effect
ESplitHI enum valueipe::Effect
ESplitHO enum valueipe::Effect
ESplitVI enum valueipe::Effect
ESplitVO enum valueipe::Effect
EWipeBT enum valueipe::Effect
EWipeLR enum valueipe::Effect
EWipeRL enum valueipe::Effect
EWipeTB enum valueipe::Effect
iDurationipe::Effect
iEffectipe::Effect
iTransitionTimeipe::Effect
pageDictionary(Stream &stream) const ipe::Effect
TEffect enum nameipe::Effect

ipe-7.2.7/build/doc/classipe_1_1_ellipse-members.html000644 000766 000000 00000017022 13022535405 024504 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Ellipse Member List

This is the complete list of members for ipe::Ellipse, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Ellipsevirtual
asClosedSpline() const ipe::SubPathvirtual
asCurve() const ipe::SubPathvirtual
asEllipse() const ipe::Ellipsevirtual
closed() const ipe::SubPathvirtual
distance(const Vector &v, const Matrix &m, double bound) const ipe::Ellipsevirtual
draw(Painter &painter) const ipe::Ellipsevirtual
EClosedSpline enum valueipe::SubPath
ECurve enum valueipe::SubPath
EEllipse enum valueipe::SubPath
Ellipse(const Matrix &m)ipe::Ellipse
matrix() const ipe::Ellipseinline
save(Stream &stream) const ipe::Ellipsevirtual
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Ellipsevirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const ipe::Ellipsevirtual
type() const ipe::Ellipsevirtual
Type enum nameipe::SubPath
~SubPath()=0ipe::SubPathpure virtual

ipe-7.2.7/build/doc/classipe_1_1_ellipse.html000644 000766 000000 00000060103 13022535405 023052 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Ellipse Class Reference

#include <ipeshape.h>

Inherits ipe::SubPath.

Public Member Functions

 Ellipse (const Matrix &m)
 
virtual Type type () const
 
virtual const EllipseasEllipse () const
 
Matrix matrix () const
 
virtual void save (Stream &stream) const
 
virtual void draw (Painter &painter) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
- Public Member Functions inherited from ipe::SubPath
virtual ~SubPath ()=0
 
virtual bool closed () const
 
virtual const ClosedSplineasClosedSpline () const
 
virtual const CurveasCurve () const
 

Additional Inherited Members

- Public Types inherited from ipe::SubPath
enum  Type { ECurve, EEllipse, EClosedSpline }
 

Detailed Description

An ellipse subpath.

Constructor & Destructor Documentation

Ellipse::Ellipse ( const Matrix m)

Member Function Documentation

SubPath::Type Ellipse::type ( ) const
virtual

Return type of this subpath.

Implements ipe::SubPath.

References ipe::SubPath::EEllipse.

Referenced by ipe::Shape::load().

const Ellipse * Ellipse::asEllipse ( ) const
virtual

Return this object as an Ellipse, or 0 if it's not an ellipse.

Reimplemented from ipe::SubPath.

Matrix ipe::Ellipse::matrix ( ) const
inline
void Ellipse::save ( Stream stream) const
virtual

Save subpath to XML stream.

Implements ipe::SubPath.

References matrix().

void Ellipse::draw ( Painter painter) const
virtual

Draw subpath (does not call drawPath()).

Implements ipe::SubPath.

References ipe::Painter::drawArc().

void Ellipse::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Add subpath to box.

Implements ipe::SubPath.

References ipe::Rect::addRect().

double Ellipse::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance from v to subpath transformed by m.

Implements ipe::SubPath.

References ipe::Arc::distance().

Referenced by ipe::ClosedSpline::distance().

void Ellipse::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  cp 
) const
virtual

snaps to center of ellipse.

Implements ipe::SubPath.

void Ellipse::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Snap to boundary of subpath.

Implements ipe::SubPath.

References ipe::Arc::distance().


The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_face-members.html000644 000766 000000 00000010112 13022535405 023736 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Face Member List

This is the complete list of members for ipe::Face, including all inherited members.

cairoFont() noexceptipe::Faceinline
Face(const PdfDict *d, const PdfResources *resources) noexceptipe::Face
glyphIndex(int ch) noexceptipe::Face
matches(const PdfDict *d) const noexceptipe::Faceinline
type() const noexceptipe::Faceinline
width(int ch) const noexceptipe::Face
~Face() noexceptipe::Face

ipe-7.2.7/build/doc/classipe_1_1_face.html000644 000766 000000 00000033765 13022535405 022331 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Face Class Reference

#include <ipefonts.h>

Public Member Functions

 Face (const PdfDict *d, const PdfResources *resources) noexcept
 
 ~Face () noexcept
 
bool matches (const PdfDict *d) const noexcept
 
FontType type () const noexcept
 
int width (int ch) const noexcept
 
int glyphIndex (int ch) noexcept
 
cairo_font_face_t * cairoFont () noexcept
 

Detailed Description

A typeface (aka font), actually loaded (from a font file or PDF file).

Constructor & Destructor Documentation

Face::~Face ( )
noexcept

Member Function Documentation

bool ipe::Face::matches ( const PdfDict d) const
inlinenoexcept
FontType ipe::Face::type ( ) const
inlinenoexcept
int Face::width ( int  ch) const
noexcept
cairo_font_face_t* ipe::Face::cairoFont ( )
inlinenoexcept

The documentation for this class was generated from the following files:
  • ipefonts.h
  • ipefonts.cpp

ipe-7.2.7/build/doc/classipe_1_1_file_source-members.html000644 000766 000000 00000006133 13022535405 025347 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::FileSource Member List

This is the complete list of members for ipe::FileSource, including all inherited members.

FileSource(std::FILE *file)ipe::FileSource
getChar()ipe::FileSourcevirtual
~DataSource()=0ipe::DataSourcepure virtual

ipe-7.2.7/build/doc/classipe_1_1_file_source.html000644 000766 000000 00000013272 13022535405 023721 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::FileSource Class Reference
ipe::FileSource Class Reference

#include <ipebase.h>

Inherits ipe::DataSource.

Public Member Functions

 FileSource (std::FILE *file)
 
virtual int getChar ()
 
- Public Member Functions inherited from ipe::DataSource
virtual ~DataSource ()=0
 

Detailed Description

Data source for parsing from a file.

Constructor & Destructor Documentation

FileSource::FileSource ( std::FILE *  file)

Member Function Documentation

int FileSource::getChar ( )
virtual

Get one more character, or EOF.

Implements ipe::DataSource.


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_file_stream-members.html000644 000766 000000 00000014624 13022535405 025346 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::FileStream Member List

This is the complete list of members for ipe::FileStream, including all inherited members.

close()ipe::Streamvirtual
FileStream(std::FILE *file)ipe::FileStream
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)ipe::FileStreamvirtual
putCString(const char *s)ipe::FileStreamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::FileStreamvirtual
putString(String s)ipe::FileStreamvirtual
putXmlString(String s)ipe::Stream
tell() const ipe::FileStreamvirtual
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_file_stream.html000644 000766 000000 00000036600 13022535405 023714 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::FileStream Class Reference
ipe::FileStream Class Reference

#include <ipebase.h>

Inherits ipe::TellStream.

Public Member Functions

 FileStream (std::FILE *file)
 
virtual void putChar (char ch)
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
virtual long tell () const
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void close ()
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Stream writing into an open file.

Constructor & Destructor Documentation

FileStream::FileStream ( std::FILE *  file)

Constructor.

Referenced by ipe::StringStream::tell().

Member Function Documentation

void FileStream::putChar ( char  ch)
virtual

Output character.

Implements ipe::Stream.

void FileStream::putString ( String  s)
virtual

Output string.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

References ipe::String::size().

void FileStream::putCString ( const char *  s)
virtual

Output C string.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

void FileStream::putRaw ( const char *  data,
int  size 
)
virtual

Output raw character data.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

References ipe::String::size().

long FileStream::tell ( ) const
virtual

The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_fixed-members.html000644 000766 000000 00000014420 13022535405 024145 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Fixed Member List

This is the complete list of members for ipe::Fixed, including all inherited members.

Fixed(int val)ipe::Fixedinlineexplicit
Fixed()ipe::Fixedinlineexplicit
fromDouble(double val)ipe::Fixedstatic
fromInternal(int32_t val)ipe::Fixedinlinestatic
internal() const ipe::Fixedinline
isInteger() const ipe::Fixedinline
mult(int a, int b) const ipe::Fixed
operator!=(const Fixed &rhs) const ipe::Fixedinline
operator<(const Fixed &rhs) const ipe::Fixedinline
operator<<(Stream &stream, const Fixed &f)ipe::Fixedfriend
operator<<(Stream &stream, const Fixed &f)ipe::Fixedrelated
operator==(const Fixed &rhs) const ipe::Fixedinline
toDouble() const ipe::Fixedinline
toInt() const ipe::Fixedinline

ipe-7.2.7/build/doc/classipe_1_1_fixed.html000644 000766 000000 00000053775 13022535405 022535 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Fixed Class Reference

#include <ipebase.h>

Public Member Functions

 Fixed (int val)
 
 Fixed ()
 
int toInt () const
 
double toDouble () const
 
int internal () const
 
Fixed mult (int a, int b) const
 
bool operator== (const Fixed &rhs) const
 
bool operator!= (const Fixed &rhs) const
 
bool operator< (const Fixed &rhs) const
 
bool isInteger () const
 

Static Public Member Functions

static Fixed fromInternal (int32_t val)
 
static Fixed fromDouble (double val)
 

Friends

Streamoperator<< (Stream &stream, const Fixed &f)
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Fixed &f)
 

Detailed Description

Fixed point number with three (decimal) fractional digits.

Constructor & Destructor Documentation

ipe::Fixed::Fixed ( int  val)
inlineexplicit
ipe::Fixed::Fixed ( )
inlineexplicit

Member Function Documentation

Fixed ipe::Fixed::fromInternal ( int32_t  val)
inlinestatic
Fixed Fixed::fromDouble ( double  val)
static

References fromInternal().

Referenced by ipe::Text::getAttribute().

int ipe::Fixed::toInt ( ) const
inline
int ipe::Fixed::internal ( ) const
inline
Fixed Fixed::mult ( int  a,
int  b 
) const

Return value times (a/b)

Referenced by ipe::Latex::createLatexSource(), and ipe::String::unicode().

bool ipe::Fixed::operator== ( const Fixed rhs) const
inline
bool ipe::Fixed::operator!= ( const Fixed rhs) const
inline
bool ipe::Fixed::operator< ( const Fixed rhs) const
inline
bool ipe::Fixed::isInteger ( ) const
inline

Friends And Related Function Documentation

Stream& operator<< ( Stream stream,
const Fixed f 
)
friend
Stream & operator<< ( Stream stream,
const Fixed f 
)
related

References ipe::Lex::Lex().


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_fonts-members.html000644 000766 000000 00000007474 13022535405 024212 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Fonts Member List

This is the complete list of members for ipe::Fonts, including all inherited members.

freetypeVersion()ipe::Fontsstatic
getFace(const PdfDict *d)ipe::Fonts
New(const PdfResources *resources)ipe::Fontsstatic
resources() const noexceptipe::Fontsinline
screenFont()ipe::Fontsstatic
~Fonts()ipe::Fonts

ipe-7.2.7/build/doc/classipe_1_1_fonts.html000644 000766 000000 00000024270 13022535405 022553 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Fonts Class Reference

#include <ipefonts.h>

Public Member Functions

 ~Fonts ()
 
FacegetFace (const PdfDict *d)
 
const PdfResourcesresources () const noexcept
 

Static Public Member Functions

static FontsNew (const PdfResources *resources)
 
static cairo_font_face_t * screenFont ()
 
static String freetypeVersion ()
 

Detailed Description

Provides the fonts used to render text.

Constructor & Destructor Documentation

Fonts::~Fonts ( )

Delete all the loaded Faces.

Member Function Documentation

Fonts * Fonts::New ( const PdfResources resources)
static
Face * Fonts::getFace ( const PdfDict d)

Get a typeface.

Corresponds to a Freetype "face", or a PDF font resource. A Face can be loaded at various sizes (transformations), resulting in individual FaceSize's.

cairo_font_face_t * Fonts::screenFont ( )
static

Return a Cairo font to render to the screen w/o Latex font.

Referenced by ipe::CairoPainter::doDrawText().

String Fonts::freetypeVersion ( )
static
const PdfResources* ipe::Fonts::resources ( ) const
inlinenoexcept

The documentation for this class was generated from the following files:
  • ipefonts.h
  • ipefonts.cpp

ipe-7.2.7/build/doc/classipe_1_1_group-members.html000644 000766 000000 00000045302 13022535405 024205 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Group Member List

This is the complete list of members for ipe::Group, including all inherited members.

accept(Visitor &visitor) const ipe::Groupvirtual
addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Groupvirtual
asGroup()ipe::Groupvirtual
asGroup() const ipe::Groupvirtual
asImage()ipe::Objectvirtual
asPath()ipe::Objectvirtual
asReference()ipe::Objectvirtual
asText()ipe::Objectvirtual
begin() const ipe::Groupinline
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Groupvirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clip() const ipe::Groupinline
clone() const ipe::Groupvirtual
const_iterator typedefipe::Group
count() const ipe::Groupinline
distance(const Vector &v, const Matrix &m, double bound) const ipe::Groupvirtual
draw(Painter &painter) const ipe::Groupvirtual
drawSimple(Painter &painter) const ipe::Groupvirtual
EGroup enum valueipe::Object
EImage enum valueipe::Object
end() const ipe::Groupinline
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
getAttribute(Property prop) const noexceptipe::Groupvirtual
Group()ipe::Groupexplicit
Group(const Group &rhs)ipe::Group
Group(const XmlAttributes &attr)ipe::Groupexplicit
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
iTransformationsipe::Objectprotected
matrix() const ipe::Objectinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
object(int i) const ipe::Groupinline
operator=(const Group &rhs)ipe::Group
pinned() const ipe::Groupvirtual
push_back(Object *)ipe::Group
saveAsXml(Stream &stream, String layer) const ipe::Groupvirtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
saveComponentsAsXml(Stream &stream) const ipe::Group
setAttribute(Property prop, Attribute value)ipe::Groupvirtual
setClip(const Shape &clip)ipe::Group
setMatrix(const Matrix &matrix)ipe::Object
setPinned(TPinned pin)ipe::Object
setTransformations(TTransformations trans)ipe::Object
setUrl(String url)ipe::Group
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Groupvirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Groupvirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Groupvirtual
transformations() const ipe::Objectinline
Type enum nameipe::Object
type() const ipe::Groupvirtual
url() const ipe::Groupinline
~Group()ipe::Groupvirtual
~Object()=0ipe::Objectpure virtual

ipe-7.2.7/build/doc/classipe_1_1_group.html000644 000766 000000 00000224274 13022535405 022564 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Group Class Reference

#include <ipegroup.h>

Inherits ipe::Object.

Public Types

typedef List::const_iterator const_iterator
 
- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 

Public Member Functions

 Group ()
 
 Group (const Group &rhs)
 
virtual ~Group ()
 
 Group (const XmlAttributes &attr)
 
Groupoperator= (const Group &rhs)
 
virtual Objectclone () const
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual Type type () const
 
virtual TPinned pinned () const
 
virtual void accept (Visitor &visitor) const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
const Shapeclip () const
 
void setClip (const Shape &clip)
 
String url () const
 
void setUrl (String url)
 
int count () const
 
const Objectobject (int i) const
 
const_iterator begin () const
 
const_iterator end () const
 
void push_back (Object *)
 
void saveComponentsAsXml (Stream &stream) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 
virtual Attribute getAttribute (Property prop) const noexcept
 
virtual bool setAttribute (Property prop, Attribute value)
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual TextasText ()
 
virtual PathasPath ()
 
virtual ImageasImage ()
 
virtual ReferenceasReference ()
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::Object
 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 
- Static Protected Member Functions inherited from ipe::Object
static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 
- Protected Attributes inherited from ipe::Object
Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

The group object.

Ipe objects can be grouped together, and the resulting composite can be used like any Ipe object.

This is an application of the "Composite" pattern.

Member Typedef Documentation

typedef List::const_iterator ipe::Group::const_iterator

Constructor & Destructor Documentation

Group::Group ( )
explicit

Create empty group (objects can be added later).

Referenced by clone().

Group::Group ( const Group rhs)

Copy constructor. Constant time — components are not copied!

Group::~Group ( )
virtual

Destructor.

Group::Group ( const XmlAttributes attr)
explicit

Create empty group with these attributes (objects can be added later).

References clip(), ipe::ENoPin, ipe::XmlAttributes::has(), ipe::Shape::load(), and ipe::Attribute::NORMAL().

Member Function Documentation

Group & Group::operator= ( const Group rhs)

Assignment operator (constant-time).

Object * Group::clone ( ) const
virtual

Clone a group object (constant-time).

Implements ipe::Object.

References Group().

Group * Group::asGroup ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

const Group * Group::asGroup ( ) const
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Group::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EGroup.

TPinned Group::pinned ( ) const
virtual

Return total pinning status of group and its elements.

Reimplemented from ipe::Object.

References ipe::Object::pinned().

void Group::accept ( Visitor visitor) const
virtual

Call visitGroup of visitor.

Implements ipe::Object.

References ipe::Visitor::visitGroup().

void Group::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

Implements ipe::Object.

References ipe::Rect::addRect(), begin(), ipe::Rect::clipTo(), end(), and ipe::Object::matrix().

Referenced by draw().

double Group::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

References begin(), end(), and ipe::Object::matrix().

void Group::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute vertex snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References begin(), end(), and ipe::Object::matrix().

void Group::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute control point snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References begin(), end(), and ipe::Object::matrix().

void Group::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute boundary snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References begin(), end(), and ipe::Object::matrix().

const Shape& ipe::Group::clip ( ) const
inline

References setClip().

Referenced by Group(), and setClip().

void Group::setClip ( const Shape clip)

Set clip path for this group.

Any previously set clip path is deleted.

References clip().

Referenced by clip().

String ipe::Group::url ( ) const
inline

References setUrl().

Referenced by ipe::PdfWriter::createPageView(), and setUrl().

void Group::setUrl ( String  url)

Set link destination to use this group as a hyperlink.

References url().

Referenced by url().

int ipe::Group::count ( ) const
inline

Return number of component objects.

const Object* ipe::Group::object ( int  i) const
inline

Return object at index i.

void Group::push_back ( Object obj)

Add an object.

Takes ownership of the object. This will panic if the object shares its implementation! The method is only useful right after construction of the group.

References ipe::Object::pinned().

Referenced by end(), and ipe::ImlParser::parseObject().

void Group::saveComponentsAsXml ( Stream stream) const

Save all the components, one by one, in XML format.

References begin(), and end().

Referenced by end(), and saveAsXml().

void Group::checkStyle ( const Cascade sheet,
AttributeSeq seq 
) const
virtual

Check all symbolic attributes.

Reimplemented from ipe::Object.

References begin(), and end().

Referenced by end().

Attribute Group::getAttribute ( Property  prop) const
virtualnoexcept

Get setting of an attribute of this object.

If object does not have this attribute, returnes "undefined" attribute.

Reimplemented from ipe::Object.

References ipe::EPropDecoration, and ipe::Object::getAttribute().

Referenced by end().

bool Group::setAttribute ( Property  prop,
Attribute  value 
)
virtual

Set attribute on all children.

Reimplemented from ipe::Object.

References ipe::EPropDecoration, ipe::EPropPinned, ipe::EPropTransformations, and ipe::Object::setAttribute().

Referenced by end().


The documentation for this class was generated from the following files:
  • ipegroup.h
  • ipegroup.cpp

ipe-7.2.7/build/doc/classipe_1_1_image-members.html000644 000766 000000 00000037730 13022535405 024141 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Image Member List

This is the complete list of members for ipe::Image, including all inherited members.

accept(Visitor &visitor) const ipe::Imagevirtual
addToBBox(Rect &box, const Matrix &m, bool) const ipe::Imagevirtual
asGroup()ipe::Objectvirtual
asGroup() const ipe::Objectvirtual
asImage()ipe::Imagevirtual
asPath()ipe::Objectvirtual
asReference()ipe::Objectvirtual
asText()ipe::Objectvirtual
bitmap() const ipe::Imageinline
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Objectvirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clone() const ipe::Imagevirtual
distance(const Vector &v, const Matrix &m, double bound) const ipe::Imagevirtual
draw(Painter &painter) const ipe::Imagevirtual
drawSimple(Painter &painter) const ipe::Imagevirtual
EGroup enum valueipe::Object
EImage enum valueipe::Object
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
getAttribute(Property prop) const noexceptipe::Objectvirtual
Image(const Rect &rect, Bitmap bitmap)ipe::Imageexplicit
Image(const XmlAttributes &attr, String data)ipe::Imageexplicit
Image(const XmlAttributes &attr, Bitmap bitmap)ipe::Imageexplicit
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
iTransformationsipe::Objectprotected
matrix() const ipe::Objectinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
pinned() const ipe::Objectvirtual
rect() const ipe::Imageinline
saveAsXml(Stream &stream, String layer) const ipe::Imagevirtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
setAttribute(Property prop, Attribute value)ipe::Objectvirtual
setMatrix(const Matrix &matrix)ipe::Object
setPinned(TPinned pin)ipe::Object
setTransformations(TTransformations trans)ipe::Object
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Imagevirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
transformations() const ipe::Objectinline
Type enum nameipe::Object
type() const ipe::Imagevirtual
~Object()=0ipe::Objectpure virtual

ipe-7.2.7/build/doc/classipe_1_1_image.html000644 000766 000000 00000141700 13022535405 022502 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Image Class Reference

#include <ipeimage.h>

Inherits ipe::Object.

Public Member Functions

 Image (const Rect &rect, Bitmap bitmap)
 
 Image (const XmlAttributes &attr, String data)
 
 Image (const XmlAttributes &attr, Bitmap bitmap)
 
virtual Objectclone () const
 
virtual ImageasImage ()
 
virtual Type type () const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void accept (Visitor &visitor) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
Rect rect () const
 
Bitmap bitmap () const
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual TextasText ()
 
virtual PathasPath ()
 
virtual ReferenceasReference ()
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 

Additional Inherited Members

- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 
- Protected Member Functions inherited from ipe::Object
 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 
- Static Protected Member Functions inherited from ipe::Object
static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 
- Protected Attributes inherited from ipe::Object
Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

The image object.

Constructor & Destructor Documentation

Image::Image ( const Rect rect,
Bitmap  bitmap 
)
explicit

Create a new image.

Referenced by clone().

Image::Image ( const XmlAttributes attr,
String  data 
)
explicit

Create from XML stream.

Image::Image ( const XmlAttributes attr,
Bitmap  bitmap 
)
explicit

Create from XML stream with given bitmap.

References ipe::Rect::addPoint(), ipe::Vector::x, and ipe::Vector::y.

Member Function Documentation

Object * Image::clone ( ) const
virtual

Clone object.

Implements ipe::Object.

References Image().

Image * Image::asImage ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Image::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EImage.

void Image::saveAsXml ( Stream stream,
String  layer 
) const
virtual

Save image in XML stream.

Implements ipe::Object.

References ipe::Bitmap::objNum(), rect(), and ipe::Object::saveAttributesAsXml().

void Image::accept ( Visitor visitor) const
virtual

Call VisitImage of visitor.

Implements ipe::Object.

References ipe::Visitor::visitImage().

double Image::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

References ipe::Rect::addPoint(), ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Rect::certainClearance(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

void Image::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

Implements ipe::Object.

References ipe::Rect::addPoint(), ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

void Image::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute control point snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Rect::bottomLeft(), ipe::Rect::bottomRight(), ipe::Object::matrix(), ipe::Rect::topLeft(), and ipe::Rect::topRight().

Rect ipe::Image::rect ( ) const
inline

Return the rectangle occupied by the image on the paper.

The transformation matrix is applied to this, of course.

Referenced by saveAsXml().

Bitmap ipe::Image::bitmap ( ) const
inline

Return Bitmap of the image.

Referenced by ipe::BitmapFinder::visitImage().


The documentation for this class was generated from the following files:
  • ipeimage.h
  • ipeimage.cpp

ipe-7.2.7/build/doc/classipe_1_1_iml_parser-members.html000644 000766 000000 00000024452 13022535405 025211 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::ImlParser Member List

This is the complete list of members for ipe::ImlParser, including all inherited members.

eos()ipe::XmlParserinline
Errors enum nameipe::ImlParser
ESuccess enum valueipe::ImlParser
ESyntaxError enum valueipe::ImlParser
EVersionTooOld enum valueipe::ImlParser
EVersionTooRecent enum valueipe::ImlParser
getChar()ipe::XmlParserinline
iChipe::XmlParserprotected
ImlParser(DataSource &source)ipe::ImlParserexplicit
iPosipe::XmlParserprotected
iSourceipe::XmlParserprotected
isTagChar(int ch)ipe::XmlParserinline
iTopElementipe::XmlParserprotected
parseAttributes(XmlAttributes &attr, bool qm=false)ipe::XmlParser
parseBitmap()ipe::ImlParser
parseDocument(Document &doc)ipe::ImlParser
parseObject(String tag, Page *page=0, int *currentLayer=0)ipe::ImlParser
parsePage(Page &page)ipe::ImlParser
parsePageSelection()ipe::ImlParser
parsePCDATA(String tag, String &pcdata)ipe::XmlParser
parsePosition() const ipe::XmlParserinline
parseStyle(StyleSheet &sheet)ipe::ImlParser
parseStyleSheet()ipe::ImlParser
parseToTag()ipe::XmlParser
parseToTagX()ipe::XmlParserprotected
pdfStream(int objNum)ipe::ImlParservirtual
skipWhitespace()ipe::XmlParser
XmlParser(DataSource &source)ipe::XmlParser
~XmlParser()ipe::XmlParservirtual

ipe-7.2.7/build/doc/classipe_1_1_iml_parser.html000644 000766 000000 00000140756 13022535405 023567 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::ImlParser Class Reference

#include <ipeiml.h>

Inherits ipe::XmlParser.

Inherited by PdfStreamParser, and PsStreamParser.

Public Types

enum  Errors { ESuccess = 0, EVersionTooOld, EVersionTooRecent, ESyntaxError }
 

Public Member Functions

 ImlParser (DataSource &source)
 
int parseDocument (Document &doc)
 
bool parsePage (Page &page)
 
ObjectparseObject (String tag, Page *page=0, int *currentLayer=0)
 
StyleSheetparseStyleSheet ()
 
bool parseStyle (StyleSheet &sheet)
 
PageparsePageSelection ()
 
virtual Buffer pdfStream (int objNum)
 
bool parseBitmap ()
 
- Public Member Functions inherited from ipe::XmlParser
 XmlParser (DataSource &source)
 
virtual ~XmlParser ()
 
int parsePosition () const
 
String parseToTag ()
 
bool parseAttributes (XmlAttributes &attr, bool qm=false)
 
bool parsePCDATA (String tag, String &pcdata)
 
bool isTagChar (int ch)
 
void getChar ()
 
bool eos ()
 
void skipWhitespace ()
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::XmlParser
String parseToTagX ()
 
- Protected Attributes inherited from ipe::XmlParser
DataSourceiSource
 
String iTopElement
 
int iCh
 
int iPos
 

Detailed Description

XML Parser for Ipe documents and style sheets.

A recursive descent parser for the XML streams.

After experimenting with various XML parsing frameworks, this turned out to work best for Ipe.

Member Enumeration Documentation

Enumerator
ESuccess 
EVersionTooOld 
EVersionTooRecent 
ESyntaxError 

Constructor & Destructor Documentation

ImlParser::ImlParser ( DataSource source)
explicit

Member Function Documentation

StyleSheet * ImlParser::parseStyleSheet ( )

parse a complete style sheet.

On calling, stream must be before the 'ipestyle' tag. A <?xml> tag is allowed.

References ipe::XmlParser::parseAttributes(), parseStyle(), and ipe::XmlParser::parseToTag().

Referenced by ipe::Document::setResources(), and ipe::StyleSheet::standard().

bool ImlParser::parseStyle ( StyleSheet sheet)

Parse a style sheet.

On calling, stream must be just past the style tag.

References ipe::StyleSheet::add(), ipe::StyleSheet::addEffect(), ipe::StyleSheet::addGradient(), ipe::StyleSheet::addSymbol(), ipe::StyleSheet::addTiling(), ipe::Attribute::BLACK(), ipe::Gradient::Stop::color, ipe::Angle::Degrees(), ipe::EAlignBaseline, ipe::EAlignLeft, ipe::EAngleSize, ipe::EArrowSize, ipe::Gradient::EAxial, ipe::EColor, ipe::EDashStyle, ipe::EEvenOddRule, ipe::EGridSize, ipe::Reference::EHasFill, ipe::Reference::EHasPen, ipe::Reference::EHasSize, ipe::Reference::EHasStroke, ipe::ELabelStyle, ipe::String::empty(), ipe::EOpacity, ipe::EPen, ipe::Gradient::ERadial, ipe::ESymbolSize, ipe::ETextSize, ipe::ETextStretch, ipe::ETextStyle, ipe::ETransformationsRigidMotions, ipe::ETransformationsTranslations, ipe::EWindRule, ipe::Reference::flagsFromName(), ipe::Lex::getDouble(), ipe::Lex::getInt(), ipe::XmlAttributes::has(), ipe::Tiling::iAngle, ipe::TextPadding::iBottom, ipe::StyleSheet::TitleStyle::iColor, ipe::StyleSheet::PageNumberStyle::iColor, ipe::Layout::iCrop, ipe::StyleSheet::TitleStyle::iDefined, ipe::StyleSheet::PageNumberStyle::iDefined, ipe::Effect::iDuration, ipe::Effect::iEffect, ipe::Gradient::iExtend, ipe::Layout::iFrameSize, ipe::StyleSheet::TitleStyle::iHorizontalAlignment, ipe::StyleSheet::PageNumberStyle::iHorizontalAlignment, ipe::TextPadding::iLeft, ipe::Gradient::iMatrix, ipe::Layout::iOrigin, ipe::Layout::iPaperSize, ipe::Layout::iParagraphSkip, ipe::StyleSheet::TitleStyle::iPos, ipe::StyleSheet::PageNumberStyle::iPos, ipe::Gradient::iRadius, ipe::TextPadding::iRight, ipe::Attribute::isColor(), ipe::Fixed::isInteger(), ipe::StyleSheet::TitleStyle::iSize, ipe::StyleSheet::PageNumberStyle::iSize, ipe::Attribute::isNumber(), ipe::Attribute::isSymbolic(), ipe::Tiling::iStep, ipe::Gradient::iStops, ipe::StyleSheet::PageNumberStyle::iText, ipe::TextPadding::iTop, ipe::Symbol::iTransformations, ipe::Effect::iTransitionTime, ipe::Gradient::iType, ipe::Gradient::iV, ipe::StyleSheet::TitleStyle::iVerticalAlignment, ipe::StyleSheet::PageNumberStyle::iVerticalAlignment, ipe::Tiling::iWidth, ipe::Symbol::iXForm, ipe::Attribute::makeColor(), ipe::Attribute::makeDashStyle(), ipe::Text::makeHAlign(), ipe::Attribute::makeScalar(), ipe::Attribute::makeTextSize(), ipe::Text::makeVAlign(), ipe::Attribute::NORMAL(), ipe::Attribute::number(), ipe::Gradient::Stop::offset, ipe::XmlParser::parseAttributes(), parseBitmap(), parseObject(), ipe::XmlParser::parsePCDATA(), ipe::XmlParser::parseToTag(), ipe::StyleSheet::setFillRule(), ipe::StyleSheet::setLayout(), ipe::StyleSheet::setLineCap(), ipe::StyleSheet::setLineJoin(), ipe::StyleSheet::setName(), ipe::StyleSheet::setPageNumberStyle(), ipe::StyleSheet::setPreamble(), ipe::StyleSheet::setTextPadding(), ipe::StyleSheet::setTitleStyle(), ipe::XmlAttributes::slash(), ipe::Vector::x, and ipe::Vector::y.

Referenced by parseDocument(), and parseStyleSheet().

Page * ImlParser::parsePageSelection ( )
Buffer ImlParser::pdfStream ( int  objNum)
virtual

XML contents can refer to data in PDF.

If the XML stream is embedded in a PDF file, XML contents can refer to PDF objects. A derived parser must implement this method to access PDF data.

It is assumed that PDF object objNum is a stream. Its contents (uncompressed!) is returned in a buffer.

Referenced by parseBitmap().

bool ImlParser::parseBitmap ( )

The documentation for this class was generated from the following files:
  • ipeiml.h
  • ipeiml.cpp

ipe-7.2.7/build/doc/classipe_1_1_inflate_source-members.html000644 000766 000000 00000006662 13022535405 026061 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::InflateSource Member List

This is the complete list of members for ipe::InflateSource, including all inherited members.

getChar()ipe::InflateSourcevirtual
InflateSource(DataSource &source)ipe::InflateSource
~DataSource()=0ipe::DataSourcepure virtual
~InflateSource()ipe::InflateSourcevirtual

ipe-7.2.7/build/doc/classipe_1_1_inflate_source.html000644 000766 000000 00000017522 13022535405 024426 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::InflateSource Class Reference
ipe::InflateSource Class Reference

#include <ipeutils.h>

Inherits ipe::DataSource.

Public Member Functions

 InflateSource (DataSource &source)
 
virtual ~InflateSource ()
 
virtual int getChar ()
 
- Public Member Functions inherited from ipe::DataSource
virtual ~DataSource ()=0
 

Detailed Description

Filter source adding flate decompression.

Constructor & Destructor Documentation

InflateSource::InflateSource ( DataSource source)

References ipe::Buffer::data().

InflateSource::~InflateSource ( )
virtual

Member Function Documentation

int InflateSource::getChar ( )
virtual

The documentation for this class was generated from the following files:
  • ipeutils.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_ipelet-members.html000644 000766 000000 00000006164 13022535405 024336 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Ipelet Member List

This is the complete list of members for ipe::Ipelet, including all inherited members.

ipelibVersion() const =0ipe::Ipeletpure virtual
run(int function, IpeletData *data, IpeletHelper *helper)=0ipe::Ipeletpure virtual
~Ipelet()=0ipe::Ipeletpure virtual

ipe-7.2.7/build/doc/classipe_1_1_ipelet.html000644 000766 000000 00000016137 13022535405 022707 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Ipelet Class Reference

#include <ipelet.h>

Public Member Functions

virtual ~Ipelet ()=0
 
virtual int ipelibVersion () const =0
 
virtual bool run (int function, IpeletData *data, IpeletHelper *helper)=0
 

Detailed Description

Abstract base class for Ipelets.

Constructor & Destructor Documentation

Ipelet::~Ipelet ( )
pure virtual

Pure virtual destructor.

Referenced by ipe::InflateSource::getChar().

Member Function Documentation

virtual int ipe::Ipelet::ipelibVersion ( ) const
pure virtual

Return the version of Ipelib the Ipelet was linked against.

virtual bool ipe::Ipelet::run ( int  function,
IpeletData data,
IpeletHelper helper 
)
pure virtual

Run a function from the Ipelet.

Return true if page was changed and undo registration is necessary.


The documentation for this class was generated from the following files:
  • ipelet.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_ipelet_helper-members.html000644 000766 000000 00000012125 13022535405 025667 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::IpeletHelper Member List

This is the complete list of members for ipe::IpeletHelper, including all inherited members.

EDiscardCancelButtons enum valueipe::IpeletHelper
EOkButton enum valueipe::IpeletHelper
EOkCancelButtons enum valueipe::IpeletHelper
ESaveDiscardCancelButtons enum valueipe::IpeletHelper
EYesNoCancelButtons enum valueipe::IpeletHelper
getString(const char *prompt, String &str)=0ipe::IpeletHelperpure virtual
message(const char *msg)=0ipe::IpeletHelperpure virtual
messageBox(const char *text, const char *details, int buttons)=0ipe::IpeletHelperpure virtual
~IpeletHelper()=0ipe::IpeletHelperpure virtual

ipe-7.2.7/build/doc/classipe_1_1_ipelet_helper.html000644 000766 000000 00000026145 13022535405 024246 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::IpeletHelper Class Reference
ipe::IpeletHelper Class Referenceabstract

#include <ipelet.h>

Public Types

enum  {
  EOkButton, EOkCancelButtons, EYesNoCancelButtons, EDiscardCancelButtons,
  ESaveDiscardCancelButtons
}
 

Public Member Functions

virtual ~IpeletHelper ()=0
 
virtual void message (const char *msg)=0
 
virtual int messageBox (const char *text, const char *details, int buttons)=0
 
virtual bool getString (const char *prompt, String &str)=0
 

Detailed Description

Service provider for Ipelets.

C++ Ipelets can ask Ipe to perform various services and request information using this class.

Member Enumeration Documentation

anonymous enum
Enumerator
EOkButton 
EOkCancelButtons 
EYesNoCancelButtons 
EDiscardCancelButtons 
ESaveDiscardCancelButtons 

Constructor & Destructor Documentation

IpeletHelper::~IpeletHelper ( )
pure virtual

Pure virtual destructor.

Referenced by ipe::InflateSource::getChar().

Member Function Documentation

virtual void ipe::IpeletHelper::message ( const char *  msg)
pure virtual

Show a message in the status bar.

virtual int ipe::IpeletHelper::messageBox ( const char *  text,
const char *  details,
int  buttons 
)
pure virtual

Pop up a modal message box.

The details can be null.

Choose one of EOkButton, EOkCancelButtons, EYesNoCancelButtons, EDiscardCancelButtons, ESaveDiscardCancelButtons for buttons.

Returns 1 for Ok or Yes, 0 for No, -1 for Cancel.

virtual bool ipe::IpeletHelper::getString ( const char *  prompt,
String str 
)
pure virtual

Pop up a modal dialog asking the user to enter a string. Returns true if the user didn't cancel the dialog.


The documentation for this class was generated from the following files:
  • ipelet.h
  • ipeutils.cpp

ipe-7.2.7/build/doc/classipe_1_1_latex-members.html000644 000766 000000 00000011450 13022535405 024163 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Latex Member List

This is the complete list of members for ipe::Latex, including all inherited members.

addPageNumber(int pno, int vno, int npages, int nviews)ipe::Latex
createLatexSource(Stream &stream, String preamble)ipe::Latex
ipe::TextCollectingVisitor classipe::Latexfriend
Latex(const Cascade *sheet, LatexType latexType)ipe::Latex
readPdf(DataSource &source)ipe::Latex
scanObject(const Object *obj)ipe::Latex
scanPage(Page *page)ipe::Latex
takeResources()ipe::Latex
updateTextObjects()ipe::Latex
~Latex()ipe::Latex

ipe-7.2.7/build/doc/classipe_1_1_latex.html000644 000766 000000 00000061665 13022535405 022550 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Latex Class Reference
ipe::Latex Class Reference

#include <ipelatex.h>

Public Member Functions

 Latex (const Cascade *sheet, LatexType latexType)
 
 ~Latex ()
 
int scanObject (const Object *obj)
 
int scanPage (Page *page)
 
void addPageNumber (int pno, int vno, int npages, int nviews)
 
int createLatexSource (Stream &stream, String preamble)
 
bool readPdf (DataSource &source)
 
bool updateTextObjects ()
 
PdfResourcestakeResources ()
 

Friends

class ipe::TextCollectingVisitor
 

Detailed Description

Object that converts latex source to PDF format.

This object is responsible for creating the PDF representation of text objects.

Constructor & Destructor Documentation

Latex::Latex ( const Cascade sheet,
LatexType  latexType 
)

Create a converter object.

Latex::~Latex ( )

Destructor.

Member Function Documentation

int Latex::scanObject ( const Object obj)

Scan an object and insert all text objects into Latex's list. Returns total number of text objects found so far.

References ipe::Object::accept().

Referenced by ipe::Document::runLatex().

int Latex::scanPage ( Page page)

Scan a page and insert all text objects into Latex's list. Returns total number of text objects found so far.

References ipe::Object::accept(), ipe::Text::accept(), ipe::Page::applyTitleStyle(), ipe::Page::count(), ipe::Page::invalidateBBox(), ipe::Page::object(), and ipe::Page::titleText().

Referenced by ipe::Document::runLatex().

bool Latex::readPdf ( DataSource source)

Read the PDF file created by Pdflatex.

Must have performed the call to Pdflatex, and pass the name of the resulting output file.

References ipe::PdfObj::array(), ipe::PdfArray::count(), ipe::PdfDict::count(), ipe::PdfObj::dict(), ipe::PdfDict::get(), ipe::PdfDict::key(), and ipe::PdfArray::obj().

Referenced by ipe::Document::runLatex().

bool Latex::updateTextObjects ( )

Notify all text objects about their updated PDF code.

Returns true if successful.

References ipe::String::z().

Referenced by ipe::Document::runLatex().

PdfResources * Latex::takeResources ( )

Return the newly created PdfResources and pass ownership to caller.

References ipe::Group::begin(), ipe::Group::end(), ipe::TextCollectingVisitor, and ipe::Text::size().

Referenced by ipe::Document::runLatex().

Friends And Related Function Documentation

friend class ipe::TextCollectingVisitor
friend

Referenced by takeResources().


The documentation for this class was generated from the following files:
  • ipelatex.h
  • ipelatex.cpp

ipe-7.2.7/build/doc/classipe_1_1_lex-members.html000644 000766 000000 00000014276 13022535405 023647 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Lex Member List

This is the complete list of members for ipe::Lex, including all inherited members.

eos() const ipe::Lexinline
fromMark()ipe::Lexinline
getChar()ipe::Lexinline
getDouble()ipe::Lex
getFixed()ipe::Lex
getHexByte()ipe::Lex
getHexNumber()ipe::Lex
getInt()ipe::Lex
Lex(String str)ipe::Lexexplicit
mark()ipe::Lexinline
nextToken()ipe::Lex
operator>>(int &i)ipe::Lexinline
operator>>(double &d)ipe::Lexinline
operator>>(Fixed &d)ipe::Lexinline
skipWhitespace()ipe::Lex
token()ipe::Lex

ipe-7.2.7/build/doc/classipe_1_1_lex.html000644 000766 000000 00000053342 13022535405 022214 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Lex Class Reference

#include <ipebase.h>

Public Member Functions

 Lex (String str)
 
String token ()
 
String nextToken ()
 
int getInt ()
 
int getHexByte ()
 
Fixed getFixed ()
 
unsigned long int getHexNumber ()
 
double getDouble ()
 
char getChar ()
 
void skipWhitespace ()
 
Lexoperator>> (int &i)
 
Lexoperator>> (double &d)
 
Lexoperator>> (Fixed &d)
 
void mark ()
 
void fromMark ()
 
bool eos () const
 

Detailed Description

Lexical analyser. Seeded with a string.

Constructor & Destructor Documentation

Lex::Lex ( String  str)
explicit

Construct lexical analyzer from a string.

Referenced by ipe::Fixed::operator<<().

Member Function Documentation

String Lex::token ( )

Return NextToken, but without extracting it.

Referenced by ipe::Shape::load().

String Lex::nextToken ( )

Extract next token.

Skips any whitespace before the token. Returns empty string if end of string is reached.

Referenced by ipe::Shape::load(), and ipe::ImlParser::parsePage().

int Lex::getInt ( )

Extract integer token (skipping whitespace).

References ipe::String::z().

Referenced by ipe::Bitmap::Bitmap(), ipe::ImlParser::parseBitmap(), ipe::ImlParser::parseObject(), and ipe::ImlParser::parseStyle().

int Lex::getHexByte ( )

Extract byte in hex (skipping whitespace).

Referenced by ipe::Bitmap::Bitmap(), and ipe::PdfString::decode().

Fixed Lex::getFixed ( )

Extract Fixed token (skipping whitespace).

References ipe::Fixed::fromInternal(), ipe::String::size(), ipe::String::substr(), and ipe::String::z().

unsigned long int Lex::getHexNumber ( )

Extract hexadecimal token (skipping whitespace).

References ipe::String::z().

Referenced by ipe::Bitmap::Bitmap().

double Lex::getDouble ( )

Extract double token (skipping whitespace).

References ipe::Platform::toDouble().

Referenced by ipe::ImlParser::parseStyle(), and ipe::Text::Text().

char ipe::Lex::getChar ( )
inline

Extract next character (not skipping anything).

void Lex::skipWhitespace ( )

Skip over whitespace.

References ipe::Buffer::Buffer(), and ipe::String::size().

Referenced by ipe::Shape::load(), and ipe::ImlParser::parsePage().

Lex& ipe::Lex::operator>> ( int &  i)
inline

Operator syntax for getInt().

Lex& ipe::Lex::operator>> ( double &  d)
inline

Operator syntax for getDouble().

Lex& ipe::Lex::operator>> ( Fixed d)
inline

Operator syntax for getFixed().

void ipe::Lex::mark ( )
inline

Mark the current position.

void ipe::Lex::fromMark ( )
inline

Reset reader to the marked position.

bool ipe::Lex::eos ( ) const
inline

Return true if at end of string (not even whitespace left).

Referenced by ipe::Color::Color(), ipe::PdfString::decode(), ipe::Shape::load(), and ipe::ImlParser::parsePage().


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_line-members.html000644 000766 000000 00000011627 13022535405 024003 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Line Member List

This is the complete list of members for ipe::Line, including all inherited members.

dir() const ipe::Lineinline
distance(const Vector &v) const ipe::Line
intersects(const Line &line, Vector &pt)ipe::Line
iPipe::Line
Line()ipe::Lineinlineexplicit
Line(const Vector &p, const Vector &dir)ipe::Lineexplicit
normal() const ipe::Lineinline
project(const Vector &v) const ipe::Line
side(const Vector &p) const ipe::Line
through(const Vector &p, const Vector &q)ipe::Linestatic

ipe-7.2.7/build/doc/classipe_1_1_line.html000644 000766 000000 00000041500 13022535405 022344 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Line Class Reference

#include <ipegeo.h>

Public Member Functions

 Line ()
 
 Line (const Vector &p, const Vector &dir)
 
double side (const Vector &p) const
 
Vector normal () const
 
double distance (const Vector &v) const
 
bool intersects (const Line &line, Vector &pt)
 
Vector project (const Vector &v) const
 
Vector dir () const
 

Static Public Member Functions

static Line through (const Vector &p, const Vector &q)
 

Public Attributes

Vector iP
 

Detailed Description

A directed line.

Constructor & Destructor Documentation

ipe::Line::Line ( )
inlineexplicit

Create default line (x-axis).

Line::Line ( const Vector p,
const Vector dir 
)
explicit

Construct a line from p with direction dir.

Asserts unit length of dir.

References ipe::Vector::sqLen().

Member Function Documentation

Line Line::through ( const Vector p,
const Vector q 
)
static

Construct a line through two points.

Referenced by ipe::Bezier::straight().

double Line::side ( const Vector p) const

Result is > 0, = 0, < 0 if point lies to the left, on, to the right.

Referenced by ipe::Bezier::intersect().

Vector ipe::Line::normal ( ) const
inline

Return a normal vector pointing to the left of the directed line.

double Line::distance ( const Vector v) const

Returns distance between line and v.

References dir(), iP, ipe::Vector::len(), ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::Bezier::straight().

bool Line::intersects ( const Line line,
Vector pt 
)

Does this line intersect line? If so, computes intersection point.

Referenced by ipe::Snap::snap().

Vector Line::project ( const Vector v) const

Orthogonally project point v onto the line.

Referenced by ipe::Snap::setEdge(), and ipe::Snap::snap().

Vector ipe::Line::dir ( ) const
inline

Return direction of line.

Referenced by distance(), ipe::Arc::intersect(), and ipe::Snap::setEdge().

Member Data Documentation

Vector ipe::Line::iP

Point on the line.

Referenced by distance(), and ipe::Arc::intersect().


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_linear-members.html000644 000766 000000 00000013725 13022535405 024327 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Linear Member List

This is the complete list of members for ipe::Linear, including all inherited members.

aipe::Linear
determinant() const ipe::Linearinline
inverse() const ipe::Linear
isIdentity() const ipe::Linearinline
Linear()ipe::Linearinline
Linear(Angle angle)ipe::Linearexplicit
Linear(double m11, double m21, double m12, double m22)ipe::Linearinlineexplicit
Linear(String str)ipe::Linearexplicit
operator*(const Vector &rhs) const ipe::Linearinline
operator*(const Vector &rhs) constipe::Linearrelated
operator*(const Linear &lhs, const Linear &rhs)ipe::Linearrelated
operator<<(Stream &stream, const Linear &rhs)ipe::Linearrelated
operator==(const Linear &rhs) const ipe::Linearinline

ipe-7.2.7/build/doc/classipe_1_1_linear.html000644 000766 000000 00000050451 13022535405 022674 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Linear Class Reference

#include <ipegeo.h>

Public Member Functions

 Linear ()
 
 Linear (Angle angle)
 
 Linear (double m11, double m21, double m12, double m22)
 
 Linear (String str)
 
Linear inverse () const
 
bool isIdentity () const
 
Vector operator* (const Vector &rhs) const
 
bool operator== (const Linear &rhs) const
 
double determinant () const
 

Public Attributes

double a [4]
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Linear &rhs)
 
Vector operator* (const Vector &rhs) const
 
Linear operator* (const Linear &lhs, const Linear &rhs)
 

Detailed Description

Linear transformation in the plane (2x2 matrix).

Constructor & Destructor Documentation

ipe::Linear::Linear ( )
inline

Create identity matrix.

Referenced by ipe::Segment::snap().

Linear::Linear ( Angle  angle)
explicit

Create matrix representing a rotation by angle.

ipe::Linear::Linear ( double  m11,
double  m21,
double  m12,
double  m22 
)
inlineexplicit

Create linear matrix with given coefficients.

Linear::Linear ( String  str)
explicit

Parse string.

Member Function Documentation

Linear Linear::inverse ( ) const

Return inverse.

References a, and ipe::Matrix::Matrix().

Referenced by ipe::Arc::bbox().

bool ipe::Linear::isIdentity ( ) const
inline

Is this the identity matrix?

Vector ipe::Linear::operator* ( const Vector rhs) const
inline
bool ipe::Linear::operator== ( const Linear rhs) const
inline

Check for equality of two linear matrices.

References a.

double ipe::Linear::determinant ( ) const
inline

Return determinant of a linear matrix.

Friends And Related Function Documentation

Stream & operator<< ( Stream stream,
const Linear rhs 
)
related
Vector operator* ( const Vector rhs) const
related

Linear matrix times vector.

References ipe::Vector::x, and ipe::Vector::y.

Linear operator* ( const Linear lhs,
const Linear rhs 
)
related

Linear matrix multiplication.

References a.

Member Data Documentation

double ipe::Linear::a[4]

The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_matrix-members.html000644 000766 000000 00000020167 13022535405 024357 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Matrix Member List

This is the complete list of members for ipe::Matrix, including all inherited members.

aipe::Matrix
determinant() const ipe::Matrixinline
inverse() const ipe::Matrix
isIdentity() const ipe::Matrixinline
linear() const ipe::Matrixinline
Matrix()ipe::Matrixinline
Matrix(const Linear &linear)ipe::Matrixinline
Matrix(const Linear &linear, const Vector &t)ipe::Matrixinlineexplicit
Matrix(double m11, double m21, double m12, double m22, double t1, double t2)ipe::Matrixinlineexplicit
Matrix(const Vector &v)ipe::Matrixinlineexplicit
Matrix(String str)ipe::Matrixexplicit
operator*(const Vector &rhs) const ipe::Matrixinline
operator*(const Bezier &rhs) const ipe::Matrixinline
operator*(const Bezier &rhs) constipe::Matrixrelated
operator*(const Vector &rhs) constipe::Matrixrelated
operator*(const Matrix &lhs, const Matrix &rhs)ipe::Matrixrelated
operator*(const Matrix &lhs, const Arc &rhs)ipe::Matrixrelated
operator<<(Stream &stream, const Matrix &rhs)ipe::Matrixrelated
operator==(const Matrix &rhs) const ipe::Matrixinline
translation() const ipe::Matrixinline

ipe-7.2.7/build/doc/classipe_1_1_matrix.html000644 000766 000000 00000101164 13022535405 022724 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Matrix Class Reference

#include <ipegeo.h>

Public Member Functions

 Matrix ()
 
 Matrix (const Linear &linear)
 
 Matrix (const Linear &linear, const Vector &t)
 
 Matrix (double m11, double m21, double m12, double m22, double t1, double t2)
 
 Matrix (const Vector &v)
 
 Matrix (String str)
 
Matrix inverse () const
 
Vector operator* (const Vector &rhs) const
 
Bezier operator* (const Bezier &rhs) const
 
Vector translation () const
 
Linear linear () const
 
double determinant () const
 
bool isIdentity () const
 
bool operator== (const Matrix &rhs) const
 

Public Attributes

double a [6]
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Matrix &rhs)
 
Bezier operator* (const Bezier &rhs) const
 
Vector operator* (const Vector &rhs) const
 
Matrix operator* (const Matrix &lhs, const Matrix &rhs)
 
Arc operator* (const Matrix &lhs, const Arc &rhs)
 

Detailed Description

Homogeneous transformation in the plane.

Constructor & Destructor Documentation

ipe::Matrix::Matrix ( )
inline

Create identity matrix.

Referenced by ipe::Linear::inverse().

ipe::Matrix::Matrix ( const Linear linear)
inline

Create linear matrix.

References ipe::Linear::a.

ipe::Matrix::Matrix ( const Linear linear,
const Vector t 
)
inlineexplicit
ipe::Matrix::Matrix ( double  m11,
double  m21,
double  m12,
double  m22,
double  t1,
double  t2 
)
inlineexplicit

Create matrix with given coefficients.

ipe::Matrix::Matrix ( const Vector v)
inlineexplicit

Create translation matrix.

References ipe::Vector::x, and ipe::Vector::y.

Matrix::Matrix ( String  str)
explicit

Parse string.

Member Function Documentation

Matrix Matrix::inverse ( ) const

Return inverse.

References a.

Referenced by ipe::Arc::Arc(), ipe::Path::clone(), and ipe::Arc::distance().

Vector ipe::Matrix::operator* ( const Vector rhs) const
inline
Bezier ipe::Matrix::operator* ( const Bezier rhs) const
inline
Vector ipe::Matrix::translation ( ) const
inline
Linear ipe::Matrix::linear ( ) const
inline

Return linear transformation component of this affine transformation.

Referenced by ipe::Path::clone(), ipe::Path::draw(), ipe::Arc::intersect(), and ipe::Snap::setEdge().

double ipe::Matrix::determinant ( ) const
inline

Return determinant of the matrix.

Referenced by ipe::Shape::load().

bool ipe::Matrix::isIdentity ( ) const
inline

Is this the identity matrix?

Referenced by ipe::StyleSheet::saveAsXml(), and ipe::Object::saveAttributesAsXml().

bool ipe::Matrix::operator== ( const Matrix rhs) const
inline

Check for equality of two matrices.

References a.

Friends And Related Function Documentation

Stream & operator<< ( Stream stream,
const Matrix rhs 
)
related
Bezier operator* ( const Bezier rhs) const
related

Transform Bezier spline.

References ipe::Bezier::iV.

Vector operator* ( const Vector rhs) const
related

Matrix times vector.

References ipe::Vector::x, and ipe::Vector::y.

Matrix operator* ( const Matrix lhs,
const Matrix rhs 
)
related

Matrix multiplication.

References a.

Arc operator* ( const Matrix lhs,
const Arc rhs 
)
related

Transform arc.

References ipe::Arc::Arc(), ipe::Arc::iAlpha, ipe::Arc::iBeta, and ipe::Arc::iM.

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_object-members.html000644 000766 000000 00000035142 13022535405 024320 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Object Member List

This is the complete list of members for ipe::Object, including all inherited members.

accept(Visitor &visitor) const =0ipe::Objectpure virtual
addToBBox(Rect &box, const Matrix &m, bool cp) const =0ipe::Objectpure virtual
asGroup()ipe::Objectvirtual
asGroup() const ipe::Objectvirtual
asImage()ipe::Objectvirtual
asPath()ipe::Objectvirtual
asReference()ipe::Objectvirtual
asText()ipe::Objectvirtual
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Objectvirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clone() const =0ipe::Objectpure virtual
distance(const Vector &v, const Matrix &m, double bound) const =0ipe::Objectpure virtual
draw(Painter &painter) const =0ipe::Objectpure virtual
drawSimple(Painter &painter) const =0ipe::Objectpure virtual
EGroup enum valueipe::Object
EImage enum valueipe::Object
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
getAttribute(Property prop) const noexceptipe::Objectvirtual
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
iTransformationsipe::Objectprotected
matrix() const ipe::Objectinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
pinned() const ipe::Objectvirtual
saveAsXml(Stream &stream, String layer) const =0ipe::Objectpure virtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
setAttribute(Property prop, Attribute value)ipe::Objectvirtual
setMatrix(const Matrix &matrix)ipe::Object
setPinned(TPinned pin)ipe::Object
setTransformations(TTransformations trans)ipe::Object
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
transformations() const ipe::Objectinline
Type enum nameipe::Object
type() const =0ipe::Objectpure virtual
~Object()=0ipe::Objectpure virtual

ipe-7.2.7/build/doc/classipe_1_1_object.html000644 000766 000000 00000250672 13022535405 022677 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Object Class Reference

#include <ipeobject.h>

Inherited by ipe::Group, ipe::Image, ipe::Path, ipe::Reference, and ipe::Text.

Public Types

enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 

Public Member Functions

virtual ~Object ()=0
 
virtual void accept (Visitor &visitor) const =0
 
virtual Objectclone () const =0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual TextasText ()
 
virtual PathasPath ()
 
virtual ImageasImage ()
 
virtual ReferenceasReference ()
 
virtual Type type () const =0
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
virtual void saveAsXml (Stream &stream, String layer) const =0
 
virtual void draw (Painter &painter) const =0
 
virtual void drawSimple (Painter &painter) const =0
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const =0
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const =0
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 

Protected Member Functions

 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 

Static Protected Member Functions

static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 

Protected Attributes

Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

Base class for all Ipe objects, composite or leaf.

All objects are derived from this class. It provides functionality common to all objects, and carries the standard attributes.

All Object's provide a constant time copy constructor (and a virtual Object::clone() method). Objects of non-constant size realize this by separating the implementation and using reference counting. In particular, copying a composite object does not create new copies of the components.

Object has only three attributes: the transformation matrix, the pinning status, and the allowed transformations.

If an object is pinned, it cannot be moved at all (or only in the non-pinned direction) from the Ipe user interface.

Restricting the allowed transformations works somewhat differently: It doesn't stop transformations being applied to the object, but they only effect the position of the reference point (the origin of the object coordinate system), and (if transformations() == ETransformationsRigidMotions) the orientation of the object coordinate system.

Member Enumeration Documentation

Enumerator
EGroup 
EPath 
EText 
EImage 
EReference 

Constructor & Destructor Documentation

Object::~Object ( )
pure virtual

Pure virtual destructor.

Object::Object ( )
explicitprotected

Create object with identity matrix, no pinning, all transformations.

References ipe::ENoPin, ipe::ETransformationsAffine, iPinned, and iTransformations.

Referenced by matrix().

Object::Object ( const AllAttributes attr)
explicitprotected

Create object by taking pinning/transforming from attr and setting identity matrix.

References iPinned, ipe::AllAttributes::iPinned, iTransformations, and ipe::AllAttributes::iTransformations.

Object::Object ( const Object rhs)
protected

Copy constructor.

References iMatrix, iPinned, and iTransformations.

Object::Object ( const XmlAttributes attr)
explicitprotected

Construct from XML stream.

Member Function Documentation

virtual void ipe::Object::accept ( Visitor visitor) const
pure virtual
virtual Object* ipe::Object::clone ( ) const
pure virtual

Make a copy of this object (constant-time).

Implemented in ipe::Group, ipe::Reference, ipe::Text, ipe::Path, and ipe::Image.

Referenced by ipe::Symbol::operator=(), and ipe::Symbol::Symbol().

Group * Object::asGroup ( )
virtual

Return pointer to this object if it is an Group, nullptr otherwise.

Reimplemented in ipe::Group.

Referenced by ipe::PdfWriter::createPageView().

const Group * Object::asGroup ( ) const
virtual

Return pointer to this object if it is an Group, nullptr otherwise.

Reimplemented in ipe::Group.

Text * Object::asText ( )
virtual

Return pointer to this object if it is an Text, nullptr otherwise.

Reimplemented in ipe::Text.

Path * Object::asPath ( )
virtual

Return pointer to this object if it is an Path, nullptr otherwise.

Reimplemented in ipe::Path.

Image * Object::asImage ( )
virtual

Return pointer to this object if it is an Image , nullptr otherwise.

Reimplemented in ipe::Image.

Reference * Object::asReference ( )
virtual

Return pointer to this object if it is an Ref, nullptr otherwise.

Reimplemented in ipe::Reference.

virtual Type ipe::Object::type ( ) const
pure virtual
TPinned Object::pinned ( ) const
virtual

Return pinning mode of the object.

Reimplemented in ipe::Group.

References iPinned.

Referenced by getAttribute(), ipe::Group::pinned(), ipe::Group::push_back(), and ipe::TransformTool::TransformTool().

void Object::setPinned ( TPinned  pin)

Set pinning mode of the object.

References iPinned.

void Object::setTransformations ( TTransformations  trans)

Set allowed transformations of the object.

References iTransformations.

Referenced by ipe::Text::setAttribute(), and transformations().

void Object::setMatrix ( const Matrix matrix)

Set the transformation matrix.

Don't use this on an Object in a Page, because it wouldn't invalidate its bounding box. Call Page::transform instead.

References iMatrix, and matrix().

Referenced by ipe::Page::applyTitleStyle(), ipe::Page::transform(), and transformations().

bool Object::setAttribute ( Property  prop,
Attribute  value 
)
virtual
Attribute Object::getAttribute ( Property  prop) const
virtualnoexcept

Get setting of an attribute of this object.

If object does not have this attribute, returnes "undefined" attribute.

Reimplemented in ipe::Group, ipe::Path, ipe::Reference, and ipe::Text.

References ipe::EPropPinned, ipe::EPropTransformations, iTransformations, pinned(), and ipe::Attribute::UNDEFINED().

Referenced by ipe::Text::getAttribute(), ipe::Reference::getAttribute(), ipe::Path::getAttribute(), ipe::Group::getAttribute(), and matrix().

virtual void ipe::Object::saveAsXml ( Stream stream,
String  layer 
) const
pure virtual

Save the object in XML format.

Implemented in ipe::Path, ipe::Group, ipe::Reference, ipe::Text, and ipe::Image.

Referenced by matrix().

virtual void ipe::Object::drawSimple ( Painter painter) const
pure virtual

Draw simple version for selecting and transforming.

Implemented in ipe::Path, ipe::Group, ipe::Reference, ipe::Text, and ipe::Image.

Referenced by ipe::PanTool::draw(), ipe::SelectTool::draw(), ipe::TransformTool::draw(), and matrix().

virtual double ipe::Object::distance ( const Vector v,
const Matrix m,
double  bound 
) const
pure virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implemented in ipe::Path, ipe::Group, ipe::Text, ipe::Reference, and ipe::Image.

Referenced by ipe::Page::distance(), and matrix().

virtual void ipe::Object::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
pure virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

Implemented in ipe::Path, ipe::Group, ipe::Text, ipe::Reference, and ipe::Image.

Referenced by matrix(), and ipe::SelectTool::mouseButton().

void Object::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute vertex snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented in ipe::Path, ipe::Group, and ipe::Reference.

Referenced by matrix(), and ipe::Page::snapVtx().

void Object::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute control point snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented in ipe::Path, ipe::Group, ipe::Text, and ipe::Image.

Referenced by matrix(), and ipe::Page::snapCtl().

void Object::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute boundary snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented in ipe::Path, ipe::Group, and ipe::Reference.

References ipe::Visitor::~Visitor().

Referenced by matrix(), and ipe::Page::snapBnd().

void Object::checkStyle ( const Cascade sheet,
AttributeSeq seq 
) const
virtual

Check all symbolic attributes.

Reimplemented in ipe::Group, ipe::Path, ipe::Reference, and ipe::Text.

Referenced by ipe::Document::checkStyle(), and matrix().

void Object::checkSymbol ( Kind  kind,
Attribute  attr,
const Cascade sheet,
AttributeSeq seq 
)
staticprotected

Check whether attribute is either absolute or defined in the style sheet cascade sheet. Add attr to seq if this is not the case.

References ipe::Cascade::findDefinition(), and ipe::Attribute::isSymbolic().

Referenced by ipe::Text::checkStyle(), ipe::Reference::checkStyle(), ipe::Path::checkStyle(), and matrix().

Member Data Documentation

Matrix ipe::Object::iMatrix
protected
TPinned ipe::Object::iPinned
protected

The documentation for this class was generated from the following files:
  • ipeobject.h
  • ipeobject.cpp

ipe-7.2.7/build/doc/classipe_1_1_object_factory-members.html000644 000766 000000 00000005720 13022535405 026046 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::ObjectFactory Member List

This is the complete list of members for ipe::ObjectFactory, including all inherited members.

createImage(String name, const XmlAttributes &attr, Bitmap bitmap)ipe::ObjectFactorystatic
createObject(String name, const XmlAttributes &attr, String data)ipe::ObjectFactorystatic

ipe-7.2.7/build/doc/classipe_1_1_object_factory.html000644 000766 000000 00000016322 13022535405 024416 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::ObjectFactory Class Reference

#include <ipefactory.h>

Static Public Member Functions

static ObjectcreateObject (String name, const XmlAttributes &attr, String data)
 
static ObjectcreateImage (String name, const XmlAttributes &attr, Bitmap bitmap)
 

Detailed Description

Factory for Ipe leaf objects.

Member Function Documentation

Object * ObjectFactory::createObject ( String  name,
const XmlAttributes attr,
String  data 
)
static

Create an Ipe object by calling the right constructor.

Referenced by ipe::ImlParser::parseObject().

Object * ObjectFactory::createImage ( String  name,
const XmlAttributes attr,
Bitmap  bitmap 
)
static

Create an Image with a given bitmap.

Referenced by ipe::ImlParser::parseObject().


The documentation for this class was generated from the following files:
  • ipefactory.h
  • ipefactory.cpp

ipe-7.2.7/build/doc/classipe_1_1_page-members.html000644 000766 000000 00000050016 13022535405 023763 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Page Member List

This is the complete list of members for ipe::Page, including all inherited members.

active(int index) const ipe::Pageinline
addLayer(String name)ipe::Page
addLayer()ipe::Page
append(TSelect sel, int layer, Object *obj)ipe::Page
applyTitleStyle(const Cascade *sheet)ipe::Page
basic()ipe::Pagestatic
bbox(int i) const ipe::Page
clearViews()ipe::Page
count() const ipe::Pageinline
countLayers() const noexceptipe::Pageinline
countMarkedViews() const ipe::Page
countViews() const ipe::Pageinline
deselectAll()ipe::Page
distance(int i, const Vector &v, double bound) const ipe::Page
effect(int index) const ipe::Pageinline
ensurePrimarySelection()ipe::Page
findLayer(String name) const ipe::Page
hasSelection() const ipe::Page
hasSnapping(int i) const noexceptipe::Pageinline
insert(int i, TSelect sel, int layer, Object *obj)ipe::Page
insertView(int i, String active)ipe::Page
invalidateBBox(int i) const ipe::Page
isLocked(int i) const noexceptipe::Pageinline
layer(int index) const noexceptipe::Pageinline
layerOf(int i) const ipe::Pageinline
marked() const ipe::Pageinline
markedView(int index) const ipe::Pageinline
moveLayer(int index, int newIndex)ipe::Page
notes() const ipe::Pageinline
object(int i)ipe::Pageinline
object(int i) const ipe::Pageinline
objectVisible(int view, int objno) const ipe::Pageinline
objSnapsInView(int objNo, int view) const noexceptipe::Page
Page()ipe::Pageexplicit
pageBBox(const Cascade *sheet) const ipe::Page
primarySelection() const ipe::Page
remove(int i)ipe::Page
removeLayer(String name)ipe::Page
removeView(int i)ipe::Page
renameLayer(String oldName, String newName)ipe::Page
replace(int i, Object *obj)ipe::Page
saveAsIpePage(Stream &stream) const ipe::Page
saveAsXml(Stream &stream) const ipe::Page
saveSelection(Stream &stream) const ipe::Page
section(int level) const ipe::Page
sectionUsesTitle(int level) const ipe::Pageinline
select(int i) const ipe::Pageinline
setActive(int index, String name)ipe::Page
setAttribute(int i, Property prop, Attribute value)ipe::Page
setEffect(int index, Attribute sym)ipe::Page
setLayerOf(int i, int layer)ipe::Pageinline
setLocked(int i, bool flag)ipe::Page
setMarked(bool marked)ipe::Page
setMarkedView(int index, bool marked)ipe::Page
setNotes(String notes)ipe::Page
setSection(int level, bool useTitle, String name)ipe::Page
setSelect(int i, TSelect sel)ipe::Pageinline
setSnapping(int i, bool flag)ipe::Page
setTitle(String title)ipe::Page
setVisible(int view, String layer, bool vis)ipe::Page
snapBnd(int i, const Vector &mouse, Vector &pos, double &bound) const ipe::Page
snapCtl(int i, const Vector &mouse, Vector &pos, double &bound) const ipe::Page
snapVtx(int i, const Vector &mouse, Vector &pos, double &bound) const ipe::Page
title() const ipe::Page
titleText() const ipe::Page
transform(int i, const Matrix &m)ipe::Page
viewBBox(const Cascade *sheet, int view) const ipe::Page
visible(int view, int layer) const ipe::Pageinline

ipe-7.2.7/build/doc/classipe_1_1_page.html000644 000766 000000 00000370616 13022535405 022346 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Page Class Reference

#include <ipepage.h>

Public Member Functions

 Page ()
 
void saveAsXml (Stream &stream) const
 
void saveAsIpePage (Stream &stream) const
 
void saveSelection (Stream &stream) const
 
int countLayers () const noexcept
 
String layer (int index) const noexcept
 
bool isLocked (int i) const noexcept
 
bool hasSnapping (int i) const noexcept
 
bool objSnapsInView (int objNo, int view) const noexcept
 
void setLocked (int i, bool flag)
 
void setSnapping (int i, bool flag)
 
void moveLayer (int index, int newIndex)
 
int findLayer (String name) const
 
void addLayer (String name)
 
void addLayer ()
 
void removeLayer (String name)
 
void renameLayer (String oldName, String newName)
 
int countViews () const
 
int countMarkedViews () const
 
Attribute effect (int index) const
 
void setEffect (int index, Attribute sym)
 
String active (int index) const
 
void setActive (int index, String name)
 
bool markedView (int index) const
 
void setMarkedView (int index, bool marked)
 
void insertView (int i, String active)
 
void removeView (int i)
 
void clearViews ()
 
bool visible (int view, int layer) const
 
bool objectVisible (int view, int objno) const
 
void setVisible (int view, String layer, bool vis)
 
String title () const
 
void setTitle (String title)
 
String section (int level) const
 
void setSection (int level, bool useTitle, String name)
 
bool sectionUsesTitle (int level) const
 
const TexttitleText () const
 
void applyTitleStyle (const Cascade *sheet)
 
bool marked () const
 
void setMarked (bool marked)
 
String notes () const
 
void setNotes (String notes)
 
int count () const
 
Objectobject (int i)
 
const Objectobject (int i) const
 
TSelect select (int i) const
 
int layerOf (int i) const
 
void setSelect (int i, TSelect sel)
 
void setLayerOf (int i, int layer)
 
Rect pageBBox (const Cascade *sheet) const
 
Rect viewBBox (const Cascade *sheet, int view) const
 
Rect bbox (int i) const
 
void transform (int i, const Matrix &m)
 
double distance (int i, const Vector &v, double bound) const
 
void snapVtx (int i, const Vector &mouse, Vector &pos, double &bound) const
 
void snapCtl (int i, const Vector &mouse, Vector &pos, double &bound) const
 
void snapBnd (int i, const Vector &mouse, Vector &pos, double &bound) const
 
void invalidateBBox (int i) const
 
void insert (int i, TSelect sel, int layer, Object *obj)
 
void append (TSelect sel, int layer, Object *obj)
 
void remove (int i)
 
void replace (int i, Object *obj)
 
bool setAttribute (int i, Property prop, Attribute value)
 
int primarySelection () const
 
bool hasSelection () const
 
void deselectAll ()
 
void ensurePrimarySelection ()
 

Static Public Member Functions

static Pagebasic ()
 

Detailed Description

An Ipe document page.

Its main ingredients are a sequence of Objects (with selection state, layer, and a cached bounding box), a set of Layers, and a sequence of Views.

Each object on a Page belongs to one of the layers of the page. Layers are orthogonal to the back-to-front ordering of objects (in particular, they are not "layered" - the word is a misnomer). The "layer" is really just another attribute of the object.

  • Layers are either editable or locked. Objects in a locked layer cannot be selected, and a locked layer cannot be made active in the UI. This more or less means that the contents of such a layer cannot be modified—but that's a consequence of the UI, Ipelib contains no special handling of locked layers.
  • A layer may have snapping on or off—objects will behave magnetically only if their layer has snapping on.

A Page is presented in a number of views. Each view presents some of the layers of the page. In addition, each view has an active layer (where objects are added when this view is shown in the UI), and possibly a transition effect (Acrobat Reader eye candy).

A Page can be copied and assigned. The operation takes time linear in the number of top-level object on the page.

Constructor & Destructor Documentation

Page::Page ( )
explicit

The default constructor creates a new empty page.

This page still needs a layer and a view to be usable!

Referenced by basic().

Member Function Documentation

Page * Page::basic ( )
static

Create a new empty page with standard settings.

This is an empty page with layer 'alpha' and a single view.

References addLayer(), insertView(), Page(), and setVisible().

void Page::saveAsIpePage ( Stream stream) const

Copy whole page with bitmaps as <ipepage> into the stream.

References ipe::BitmapFinder::iBitmaps, saveAsXml(), ipe::Bitmap::saveAsXml(), ipe::BitmapFinder::scanPage(), and ipe::Bitmap::setObjNum().

void Page::saveSelection ( Stream stream) const

Copy selected objects as <ipeselection> into the stream.

References count(), ipe::BitmapFinder::iBitmaps, ipe::Bitmap::saveAsXml(), select(), and ipe::Bitmap::setObjNum().

int ipe::Page::countLayers ( ) const
inlinenoexcept
String ipe::Page::layer ( int  index) const
inlinenoexcept
bool ipe::Page::isLocked ( int  i) const
inlinenoexcept
bool ipe::Page::hasSnapping ( int  i) const
inlinenoexcept

Does layer i have active snapping?

References addLayer(), findLayer(), moveLayer(), objSnapsInView(), removeLayer(), renameLayer(), setLocked(), and setSnapping().

Referenced by objSnapsInView().

bool Page::objSnapsInView ( int  objNo,
int  view 
) const
noexcept

Snapping occurs if the layer is visible and has snapping enabled.

References hasSnapping(), layer(), layerOf(), and visible().

Referenced by hasSnapping(), and ipe::Snap::simpleSnap().

void Page::setLocked ( int  i,
bool  flag 
)

Set locking of layer i.

Referenced by hasSnapping(), and ipe::ImlParser::parsePage().

void Page::setSnapping ( int  i,
bool  flag 
)

Set snapping of layer i.

Referenced by hasSnapping().

void Page::moveLayer ( int  index,
int  newIndex 
)

Moves the position of a layer in the layer list.

References layer().

Referenced by hasSnapping().

int Page::findLayer ( String  name) const
void Page::addLayer ( String  name)

Add a new layer.

References countViews().

Referenced by basic(), and ipe::ImlParser::parsePage().

void Page::addLayer ( )

Add a new layer with unique name.

References findLayer().

Referenced by hasSnapping().

void Page::removeLayer ( String  name)

Removes an empty layer from the page.

All objects are adjusted. Panics if there are objects in the deleted layer, of if it is the only layer.

References findLayer().

Referenced by hasSnapping().

void Page::renameLayer ( String  oldName,
String  newName 
)

Rename a layer.

References findLayer().

Referenced by hasSnapping().

int Page::countMarkedViews ( ) const

References count(), countViews(), ipe::ENotSelected, and markedView().

Referenced by countViews().

Attribute ipe::Page::effect ( int  index) const
inline

Return effect of view.

References setEffect().

Referenced by ipe::PdfWriter::createPageView(), and saveAsXml().

void Page::setEffect ( int  index,
Attribute  sym 
)

Set effect of view.

Panics if sym is not symbolic.

References ipe::Attribute::isSymbolic().

Referenced by effect(), and ipe::ImlParser::parsePage().

String ipe::Page::active ( int  index) const
inline

Return active layer of view.

References setActive().

Referenced by insertView(), markedView(), and saveAsXml().

void Page::setActive ( int  index,
String  name 
)

Set active layer of view.

References findLayer(), and layer().

Referenced by active(), and ipe::ImlParser::parsePage().

bool ipe::Page::markedView ( int  index) const
inline

Return if view is marked.

References active(), clearViews(), insertView(), marked(), removeView(), and setMarkedView().

Referenced by countMarkedViews(), and saveAsXml().

void Page::setMarkedView ( int  index,
bool  marked 
)

Set if view is marked.

References marked().

Referenced by markedView(), and ipe::ImlParser::parsePage().

void Page::insertView ( int  i,
String  active 
)

Insert a new view at index i.

References active(), and countLayers().

Referenced by basic(), markedView(), and ipe::ImlParser::parsePage().

void Page::removeView ( int  i)

Remove the view at index i.

References countLayers().

Referenced by markedView().

void Page::clearViews ( )

Remove all views of this page.

Referenced by markedView().

bool ipe::Page::visible ( int  view,
int  layer 
) const
inline

Is layer visible in view?

References layer().

Referenced by ipe::PdfWriter::createPageView(), objSnapsInView(), pageBBox(), and saveAsXml().

bool ipe::Page::objectVisible ( int  view,
int  objno 
) const
inline
void Page::setVisible ( int  view,
String  layer,
bool  vis 
)

Set visibility of layer layer in view view.

References findLayer().

Referenced by basic(), objectVisible(), and ipe::ImlParser::parsePage().

String Page::title ( ) const
void Page::setTitle ( String  title)

Set the title of this page.

An empty title is not displayed.

References ipe::Text::setText(), and title().

Referenced by objectVisible(), and ipe::ImlParser::parsePage().

String Page::section ( int  level) const

Return section title at level.

Level 0 is the section, level 1 the subsection.

References title().

Referenced by objectVisible().

void Page::setSection ( int  level,
bool  useTitle,
String  name 
)

Set the section title at level.

Level 0 is the section, level 1 the subsection.

If useTitle is true, then name is ignored, and the section title will be copied from the page title (and further changes to the page title are automatically reflected).

Referenced by objectVisible(), and ipe::ImlParser::parsePage().

bool ipe::Page::sectionUsesTitle ( int  level) const
inline

Does this section title reflect the page title?

References applyTitleStyle(), and titleText().

const Text * Page::titleText ( ) const

Return Text object representing the title text.

Return 0 if no title is set. Ownership of object remains with Page.

References title().

Referenced by ipe::Latex::scanPage(), sectionUsesTitle(), and ipe::PdfWriter::~PdfWriter().

bool ipe::Page::marked ( ) const
inline

Return if page is marked for printing.

References setMarked().

Referenced by markedView(), setMarked(), and setMarkedView().

void Page::setMarked ( bool  marked)

Set if page is marked for printing.

References marked().

Referenced by marked(), and ipe::ImlParser::parsePage().

String ipe::Page::notes ( ) const
inline

Return notes for this page.

References setNotes().

Referenced by setNotes().

void Page::setNotes ( String  notes)

Set the notes of this page.

References notes().

Referenced by notes(), and ipe::ImlParser::parsePage().

const Object* ipe::Page::object ( int  i) const
inline

Return object at index i (const version).

TSelect ipe::Page::select ( int  i) const
inline
int ipe::Page::layerOf ( int  i) const
inline
void ipe::Page::setSelect ( int  i,
TSelect  sel 
)
inline

Set selection status of object at index i.

Referenced by deselectAll(), ensurePrimarySelection(), and ipe::SelectTool::mouseButton().

Rect Page::pageBBox ( const Cascade sheet) const

Returns a precise bounding box for the artwork on the page.

This is meant to be used as the bounding box in PDF and EPS output. It is computed by rendering all objects on the page that are visible in at least one view, plus all objects in a layer named "BBOX" (even if that is not visible), using a BBoxPainter.

References ipe::BBoxPainter::bbox(), count(), countLayers(), countViews(), layer(), layerOf(), and visible().

Referenced by ipe::PdfWriter::createPageView(), ipe::Thumbnail::saveRender(), and setLayerOf().

Rect Page::viewBBox ( const Cascade sheet,
int  view 
) const

Returns a precise bounding box for the artwork in the view.

This is meant to be used as the bounding box in PDF and EPS output. It is computed by rendering all objects in the page using a BBoxPainter.

References ipe::BBoxPainter::bbox(), count(), and objectVisible().

Referenced by ipe::PdfWriter::createPageView(), and setLayerOf().

Rect Page::bbox ( int  i) const

Return a bounding box for the object at index i.

This is a bounding box including the control points of the object. If you need a tight bounding box, you'll need to use the Object directly.

The Page caches the box the first time it is computed.

Make sure you call Page::transform instead of Object::setMatrix, as the latter would not invalidate the bounding box.

Referenced by ipe::PdfWriter::createPageView(), distance(), setLayerOf(), snapBnd(), snapCtl(), snapVtx(), and ipe::TransformTool::TransformTool().

void Page::transform ( int  i,
const Matrix m 
)

Transform the object at index i.

Use this function instead of calling Object::setMatrix directly, as the latter doesn't invalidate the cached bounding box.

References invalidateBBox(), object(), and ipe::Object::setMatrix().

Referenced by setLayerOf().

double Page::distance ( int  i,
const Vector v,
double  bound 
) const

Return distance between object at index i and v.

But may just return bound if the distance is larger. This function uses the cached bounded box, and is faster than calling Object::distance directly.

References bbox(), ipe::Object::distance(), and object().

Referenced by ipe::SelectTool::SelectTool(), and setLayerOf().

void Page::snapVtx ( int  i,
const Vector mouse,
Vector pos,
double &  bound 
) const

Compute possible vertex snapping position for object at index i.

Looks only for positions closer than bound. If successful, modifies pos and bound.

References bbox(), object(), and ipe::Object::snapVtx().

Referenced by setLayerOf(), and ipe::Snap::simpleSnap().

void Page::snapCtl ( int  i,
const Vector mouse,
Vector pos,
double &  bound 
) const

Compute possible control point snapping position for object at index i.

Looks only for positions closer than bound. If successful, modifies pos and bound.

References bbox(), object(), and ipe::Object::snapCtl().

Referenced by setLayerOf(), and ipe::Snap::simpleSnap().

void Page::snapBnd ( int  i,
const Vector mouse,
Vector pos,
double &  bound 
) const

Compute possible boundary snapping position for object at index i.

Looks only for positions closer than bound. If successful, modifies pos and bound.

References bbox(), object(), and ipe::Object::snapBnd().

Referenced by setLayerOf(), and ipe::Snap::simpleSnap().

void Page::invalidateBBox ( int  i) const

Invalidate the bounding box at index i (the object is somehow changed).

Referenced by replace(), ipe::Latex::scanPage(), setAttribute(), setLayerOf(), and transform().

void Page::insert ( int  i,
TSelect  select,
int  layer,
Object obj 
)

Insert a new object at index i.

Takes ownership of the object.

References layer(), and select().

Referenced by ipe::ImlParser::parsePage(), and setLayerOf().

void Page::append ( TSelect  select,
int  layer,
Object obj 
)

Append a new object.

Takes ownership of the object.

References layer(), and select().

Referenced by setLayerOf().

void Page::remove ( int  i)

Remove the object at index i.

void Page::replace ( int  i,
Object obj 
)

Replace the object at index i.

Takes ownership of obj.

References invalidateBBox().

Referenced by setLayerOf().

bool Page::setAttribute ( int  i,
Property  prop,
Attribute  value 
)

Set attribute prop of object at index i to value.

This method automatically invalidates the bounding box if a ETextSize property is actually changed.

References ipe::EPropTextSize, ipe::EPropTransformations, invalidateBBox(), object(), and ipe::Object::setAttribute().

Referenced by setLayerOf().

int Page::primarySelection ( ) const

Return index of primary selection.

Returns -1 if there is no primary selection.

References count(), ipe::EPrimarySelected, and select().

Referenced by ipe::SelectTool::mouseButton(), and setLayerOf().

bool Page::hasSelection ( ) const

Returns true iff any object on the page is selected.

References count(), and select().

Referenced by ipe::SelectTool::mouseButton(), and setLayerOf().

void Page::deselectAll ( )

Deselect all objects.

References count(), ipe::ENotSelected, and setSelect().

Referenced by ipe::SelectTool::mouseButton(), and setLayerOf().

void Page::ensurePrimarySelection ( )

If no object is the primary selection, make the topmost secondary selection the primary one.

References count(), ipe::EPrimarySelected, ipe::ESecondarySelected, select(), and setSelect().

Referenced by ipe::SelectTool::mouseButton(), and setLayerOf().


The documentation for this class was generated from the following files:
  • ipepage.h
  • ipepage.cpp

ipe-7.2.7/build/doc/classipe_1_1_page_selector-members.html000644 000766 000000 00000006265 13022535405 025672 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PageSelector Member List

This is the complete list of members for ipe::PageSelector, including all inherited members.

PageSelector(Document *doc, int page, int startIndex, int width, QWidget *parent=0)ipe::PageSelector
selectedIndex() const ipe::PageSelectorinline
selectionMade()ipe::PageSelectorsignal

ipe-7.2.7/build/doc/classipe_1_1_page_selector.html000644 000766 000000 00000021437 13022535405 024240 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PageSelector Class Reference
ipe::PageSelector Class Reference

#include <ipeselector_qt.h>

Inherits QListWidget.

Signals

void selectionMade ()
 

Public Member Functions

 PageSelector (Document *doc, int page, int startIndex, int width, QWidget *parent=0)
 
int selectedIndex () const
 

Detailed Description

A Qt widget that displays a list of Ipe pages.

Constructor & Destructor Documentation

PageSelector::PageSelector ( Document doc,
int  page,
int  startIndex,
int  itemWidth,
QWidget *  parent = 0 
)

Construct the widget.

If page is negative, the last view of each page is shown. Otherwise, all views of this page are shown. itemWidth is the width of the page thumbnails (the height is computed automatically).

References ipe::Document::countPages(), ipe::Page::countViews(), ipe::Buffer::data(), ipe::Thumbnail::height(), ipe::Document::page(), ipe::Thumbnail::render(), selectedIndex(), selectionMade(), ipe::CanvasBase::selectPageOrView(), ipe::Page::title(), and ipe::String::z().

Member Function Documentation

int ipe::PageSelector::selectedIndex ( ) const
inline

References selectionMade().

Referenced by PageSelector().

void ipe::PageSelector::selectionMade ( )
signal

Referenced by PageSelector(), and selectedIndex().


The documentation for this class was generated from the following files:
  • ipeselector_qt.h
  • ipeselector_qt.cpp

ipe-7.2.7/build/doc/classipe_1_1_painter-members.html000644 000766 000000 00000054051 13022535405 024514 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Painter Member List

This is the complete list of members for ipe::Painter, including all inherited members.

addClipPath()ipe::Painter
cascade() const ipe::Painterinline
closePath()ipe::Painter
curveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painter
curveTo(const Bezier &bezier)ipe::Painterinline
dashStyle() const ipe::Painterinline
dashStyle(std::vector< double > &dashes, double &offset) const ipe::Painter
doAddClipPath()ipe::Painterprotectedvirtual
doClosePath()ipe::Painterprotectedvirtual
doCurveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painterprotectedvirtual
doDrawArc(const Arc &arc)ipe::Painterprotectedvirtual
doDrawBitmap(Bitmap bitmap)ipe::Painterprotectedvirtual
doDrawPath(TPathMode mode)ipe::Painterprotectedvirtual
doDrawSymbol(Attribute symbol)ipe::Painterprotectedvirtual
doDrawText(const Text *text)ipe::Painterprotectedvirtual
doLineTo(const Vector &v)ipe::Painterprotectedvirtual
doMoveTo(const Vector &v)ipe::Painterprotectedvirtual
doNewPath()ipe::Painterprotectedvirtual
doPop()ipe::Painterprotectedvirtual
doPush()ipe::Painterprotectedvirtual
drawArc(const Arc &arc)ipe::Painter
drawArcAsBezier(double alpha)ipe::Painterprotected
drawBitmap(Bitmap bitmap)ipe::Painter
drawEllipse()ipe::Painter
drawPath(TPathMode mode)ipe::Painter
drawSymbol(Attribute symbol)ipe::Painter
drawText(const Text *text)ipe::Painter
fill() const ipe::Painterinline
fillRule() const ipe::Painterinline
gradient() const ipe::Painterinline
iCascadeipe::Painterprotected
iInPathipe::Painterprotected
iMatrixipe::Painterprotected
iStateipe::Painterprotected
lineCap() const ipe::Painterinline
lineJoin() const ipe::Painterinline
lineTo(const Vector &v)ipe::Painter
matrix() const ipe::Painterinline
moveTo(const Vector &v)ipe::Painter
newPath()ipe::Painter
opacity() const ipe::Painterinline
Painter(const Cascade *style)ipe::Painter
pen() const ipe::Painterinline
pop()ipe::Painter
popMatrix()ipe::Painter
push()ipe::Painter
pushMatrix()ipe::Painter
rect(const Rect &re)ipe::Painter
setDashStyle(Attribute dash)ipe::Painter
setFill(Attribute color)ipe::Painter
setFillRule(TFillRule rule)ipe::Painter
setGradient(Attribute grad)ipe::Painter
setLineCap(TLineCap cap)ipe::Painter
setLineJoin(TLineJoin join)ipe::Painter
setOpacity(Attribute opaq)ipe::Painter
setPen(Attribute pen)ipe::Painter
setState(const State &state)ipe::Painter
setStroke(Attribute color)ipe::Painter
setSymFill(Attribute color)ipe::Painter
setSymPen(Attribute wid)ipe::Painter
setSymStroke(Attribute color)ipe::Painter
setTiling(Attribute til)ipe::Painter
state() const ipe::Painterinline
stroke() const ipe::Painterinline
symFill() const ipe::Painterinline
symPen() const ipe::Painterinline
symStroke() const ipe::Painterinline
tiling() const ipe::Painterinline
transform(const Matrix &m)ipe::Painter
translate(const Vector &v)ipe::Painter
untransform(TTransformations trans)ipe::Painter
~Painter()ipe::Paintervirtual

ipe-7.2.7/build/doc/classipe_1_1_painter.html000644 000766 000000 00000441167 13022535405 023074 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Painter Class Reference

#include <ipepainter.h>

Inherited by DecorationPainter, ipe::BBoxPainter, ipe::CairoPainter, ipe::PdfPainter, and IpeQtPainter.

Classes

struct  State
 

Public Member Functions

 Painter (const Cascade *style)
 
virtual ~Painter ()
 
void transform (const Matrix &m)
 
void untransform (TTransformations trans)
 
void translate (const Vector &v)
 
void push ()
 
void pop ()
 
void pushMatrix ()
 
void popMatrix ()
 
void newPath ()
 
void moveTo (const Vector &v)
 
void lineTo (const Vector &v)
 
void curveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
void curveTo (const Bezier &bezier)
 
void rect (const Rect &re)
 
void drawEllipse ()
 
void drawArc (const Arc &arc)
 
void closePath ()
 
void drawPath (TPathMode mode)
 
void drawBitmap (Bitmap bitmap)
 
void drawText (const Text *text)
 
void drawSymbol (Attribute symbol)
 
void addClipPath ()
 
void setStroke (Attribute color)
 
void setFill (Attribute color)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap cap)
 
void setLineJoin (TLineJoin join)
 
void setFillRule (TFillRule rule)
 
void setSymStroke (Attribute color)
 
void setSymFill (Attribute color)
 
void setSymPen (Attribute wid)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute til)
 
void setGradient (Attribute grad)
 
const Cascadecascade () const
 
Color stroke () const
 
Color fill () const
 
const Matrixmatrix () const
 
Fixed pen () const
 
String dashStyle () const
 
void dashStyle (std::vector< double > &dashes, double &offset) const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
Color symStroke () const
 
Color symFill () const
 
Fixed symPen () const
 
Fixed opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
const Statestate () const
 
void setState (const State &state)
 

Protected Member Functions

virtual void doPush ()
 
virtual void doPop ()
 
virtual void doNewPath ()
 
virtual void doMoveTo (const Vector &v)
 
virtual void doLineTo (const Vector &v)
 
virtual void doCurveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
virtual void doDrawArc (const Arc &arc)
 
virtual void doClosePath ()
 
virtual void doDrawPath (TPathMode mode)
 
virtual void doDrawBitmap (Bitmap bitmap)
 
virtual void doDrawText (const Text *text)
 
virtual void doDrawSymbol (Attribute symbol)
 
virtual void doAddClipPath ()
 
void drawArcAsBezier (double alpha)
 

Protected Attributes

std::list< StateiState
 
std::list< MatrixiMatrix
 
const CascadeiCascade
 
int iInPath
 

Detailed Description

Interface for drawing.

Painter-derived classes are used for drawing to the screen and for generating PDF and Postscript output.

The Painter maintains a stack of graphics states, which includes stroke and fill color, line width, dash style, miter limit, line cap and line join. It also maintains a separate stack of transformation matrices. The Painter class takes care of maintaining the stacks, and setting of the attributes in the current graphics state.

Setting an attribute with a symbolic value is resolved immediately using the stylesheet Cascade attached to the Painter, so calling the stroke() or fill() methods of Painter will return the current absolute color.

It's okay to set symbolic attributes that the stylesheet does not define - they are set to a default absolute value (black, solid, etc.).

The painter is either in "general" or in "path construction" mode. The newPath() member starts path construction mode. In this mode, only the path construction operators (moveTo, lineTo, curveTo, rect, drawArc, closePath), the transformation operators (transform, untransform, translate), and the matrix stack operators (pushMatrix, popMatrix) are admissible. The path is drawn using drawPath, this ends path construction mode. Path construction operators cannot be used in general mode.

The graphics state for a path must be set before starting path construction mode, that is, before calling newPath().

Derived classes need to implement the doXXX functions for drawing paths, images, and texts. The transformation matrix has already been applied to the coordinates passed to the doXXX functions.

Constructor & Destructor Documentation

Painter::~Painter ( )
virtual

Virtual destructor.

Member Function Documentation

void Painter::untransform ( TTransformations  trans)

Reset transformation to original one, but with different origin/direction.

This changes the current transformation matrix to the one set before the first push operation, but maintaining the current origin. Only the operations allowed in allowed are applied.

References ipe::Matrix::a, ipe::ETransformationsAffine, ipe::ETransformationsRigidMotions, iMatrix, matrix(), and ipe::Matrix::translation().

Referenced by ipe::Image::draw(), ipe::Text::draw(), ipe::Reference::draw(), ipe::Group::draw(), ipe::Path::draw(), ipe::Path::drawArrow(), ipe::Image::drawSimple(), ipe::Text::drawSimple(), ipe::Reference::drawSimple(), ipe::Group::drawSimple(), and ipe::Path::drawSimple().

void Painter::push ( )

Save current graphics state.

Cannot be called in path construction mode.

References doPush(), iInPath, iState, and state().

Referenced by ipe::Image::draw(), ipe::Text::draw(), ipe::Reference::draw(), ipe::Group::draw(), ipe::Path::draw(), ipe::Path::drawArrow(), and ipe::Group::drawSimple().

void Painter::pop ( )

Restore previous graphics state.

Cannot be called in path construction mode.

References doPop(), iInPath, and iState.

Referenced by ipe::Image::draw(), ipe::Text::draw(), ipe::Reference::draw(), ipe::Group::draw(), ipe::Path::draw(), ipe::Path::drawArrow(), and ipe::Group::drawSimple().

void Painter::moveTo ( const Vector v)
void Painter::lineTo ( const Vector v)

Add line segment to current subpath.

References doLineTo(), iInPath, and matrix().

Referenced by ipe::CurveSegment::draw(), ipe::Path::drawArrow(), ipe::Text::drawSimple(), ipe::Reference::drawSimple(), and rect().

void Painter::curveTo ( const Vector v1,
const Vector v2,
const Vector v3 
)

Add a Bezier segment to current subpath.

References doCurveTo(), iInPath, and matrix().

Referenced by curveTo(), ipe::CurveSegment::draw(), ipe::ClosedSpline::draw(), and drawArcAsBezier().

void ipe::Painter::curveTo ( const Bezier bezier)
inline

Overloaded function.

Assumes current position is bezier.iV[0]

References curveTo(), and ipe::Bezier::iV.

void Painter::rect ( const Rect re)
void ipe::Painter::drawEllipse ( )
void Painter::drawArc ( const Arc arc)

Add an elliptic arc to current path.

Assumes the current point is arc.beginp().

References doDrawArc(), and iInPath.

Referenced by ipe::SelectTool::draw(), ipe::CurveSegment::draw(), ipe::Ellipse::draw(), and ipe::Path::drawArrow().

void Painter::closePath ( )
void Painter::drawPath ( TPathMode  mode)

Fill and/or stroke a path.

As in PDF, a "path" can consist of several subpaths. Whether it is filled or stroked depends on mode.

References doDrawPath(), and iInPath.

Referenced by ipe::PanTool::draw(), ipe::SelectTool::draw(), ipe::Path::draw(), ipe::Path::drawArrow(), ipe::Image::drawSimple(), ipe::Text::drawSimple(), ipe::Reference::drawSimple(), and ipe::Path::drawSimple().

void Painter::drawBitmap ( Bitmap  bitmap)

Render a bitmap.

Assumes the transformation matrix has been set up to map the unit square to the image area on the paper.

References doDrawBitmap(), and iInPath.

Referenced by ipe::Image::draw().

void Painter::drawText ( const Text text)

Render a text object.

Stroke color is already set, and the origin is the lower-left corner of the text box (not the reference point!).

References doDrawText(), and iInPath.

Referenced by ipe::Text::draw().

void Painter::drawSymbol ( Attribute  symbol)

Render a symbol.

The current coordinate system is already the symbol coordinate system. If the symbol is parameterized, then sym-stroke, sym-fill, and sym-pen are already set.

References doDrawSymbol(), and iInPath.

Referenced by ipe::Reference::draw().

void Painter::addClipPath ( )

Add current path as clip path.

References doAddClipPath(), and iInPath.

Referenced by ipe::Group::draw(), and ipe::Group::drawSimple().

void Painter::setFill ( Attribute  color)
void Painter::setPen ( Attribute  pen)
void Painter::setDashStyle ( Attribute  dash)

Set dash style, resolving symbolic value.

References ipe::EDashStyle, ipe::Cascade::find(), iCascade, iInPath, iState, and ipe::Attribute::string().

Referenced by ipe::Path::draw().

void Painter::setLineCap ( TLineCap  cap)

Set line cap.

If cap is EDefaultCap, the current setting remains unchanged.

References ipe::EDefaultCap, iInPath, and iState.

Referenced by ipe::Path::draw().

void Painter::setLineJoin ( TLineJoin  join)

Set line join.

If join is EDefaultJoin, the current setting remains unchanged.

References ipe::EDefaultJoin, iInPath, and iState.

Referenced by ipe::Path::draw().

void Painter::setFillRule ( TFillRule  rule)

Set fill rule (wind or even-odd).

If the rule is EDefaultRule, the current setting remains unchanged.

References ipe::EDefaultRule, iInPath, and iState.

Referenced by ipe::Path::draw().

void Painter::setSymStroke ( Attribute  color)
void Painter::setSymFill ( Attribute  color)
void Painter::setSymPen ( Attribute  wid)
void Painter::setOpacity ( Attribute  opaq)
void Painter::setTiling ( Attribute  tiling)

Set tiling pattern.

If tiling is not normal, resets the gradient pattern.

References iInPath, ipe::Attribute::isNormal(), iState, ipe::Attribute::NORMAL(), and tiling().

Referenced by ipe::Path::draw().

void Painter::setGradient ( Attribute  grad)

Set gradient fill.

If grad is not normal, resets the tiling pattern.

References iInPath, ipe::Attribute::isNormal(), iState, and ipe::Attribute::NORMAL().

Referenced by ipe::Path::draw().

Color ipe::Painter::stroke ( ) const
inline
Color ipe::Painter::fill ( ) const
inline
Fixed ipe::Painter::pen ( ) const
inline
String ipe::Painter::dashStyle ( ) const
inline

Return current dash style (always absolute attribute).

References iState.

Referenced by dashStyle(), and ipe::CairoPainter::doDrawPath().

void Painter::dashStyle ( std::vector< double > &  dashes,
double &  offset 
) const

Return dashstyle as a double sequence.

References dashStyle(), ipe::String::find(), and ipe::String::substr().

TLineCap ipe::Painter::lineCap ( ) const
inline

Return current line cap.

References iState.

Referenced by ipe::CairoPainter::doDrawPath().

TLineJoin ipe::Painter::lineJoin ( ) const
inline

Return current line join.

References iState.

Referenced by ipe::CairoPainter::doDrawPath().

TFillRule ipe::Painter::fillRule ( ) const
inline

Return current fill rule.

References iState.

Referenced by ipe::PdfPainter::doDrawPath(), and ipe::CairoPainter::doDrawPath().

Color ipe::Painter::symStroke ( ) const
inline

Return current symbol stroke color.

References iState.

Color ipe::Painter::symFill ( ) const
inline

Return current symbol fill color.

References iState.

Fixed ipe::Painter::symPen ( ) const
inline

Return current symbol pen.

References iState.

Fixed ipe::Painter::opacity ( ) const
inline

Return current opacity.

References iState.

Referenced by ipe::CairoPainter::doDrawPath(), and ipe::CairoPainter::doDrawText().

Attribute ipe::Painter::tiling ( ) const
inline

Return current tiling.

References iState.

Referenced by ipe::CairoPainter::doDrawPath(), and setTiling().

Attribute ipe::Painter::gradient ( ) const
inline

Return current gradient fill.

References iState.

Referenced by ipe::CairoPainter::doDrawPath().

void Painter::setState ( const State state)

Set full graphics state at once.

References iState, and state().

Referenced by state().

void Painter::doPush ( )
protectedvirtual

Perform graphics state push on output medium.

Reimplemented in ipe::BBoxPainter, ipe::CairoPainter, and ipe::PdfPainter.

Referenced by push(), and state().

void Painter::doPop ( )
protectedvirtual

Perform graphics state pop on output medium.

Reimplemented in ipe::BBoxPainter, ipe::CairoPainter, and ipe::PdfPainter.

Referenced by pop(), and state().

void Painter::doNewPath ( )
protectedvirtual

Perform new path operator.

Reimplemented in ipe::BBoxPainter, ipe::PdfPainter, and ipe::PsPainter.

Referenced by newPath(), and state().

void Painter::doMoveTo ( const Vector v)
protectedvirtual

Perform moveto operator.

The transformation matrix has already been applied.

Reimplemented in ipe::BBoxPainter, ipe::PdfPainter, and ipe::CairoPainter.

Referenced by moveTo(), and state().

void Painter::doLineTo ( const Vector v)
protectedvirtual

Perform lineto operator.

The transformation matrix has already been applied.

Reimplemented in ipe::BBoxPainter, ipe::PdfPainter, and ipe::CairoPainter.

Referenced by lineTo(), and state().

void Painter::doCurveTo ( const Vector v1,
const Vector v2,
const Vector v3 
)
protectedvirtual

Perform curveto operator.

The transformation matrix has already been applied.

Reimplemented in ipe::BBoxPainter, ipe::PdfPainter, and ipe::CairoPainter.

Referenced by curveTo(), and state().

void Painter::doDrawArc ( const Arc arc)
protectedvirtual

Draw an elliptic arc.

The default implementations calls drawArcAsBezier(). The transformation matrix has not yet been applied to arc.

Reimplemented in ipe::CairoPainter.

References drawArcAsBezier(), ipe::Arc::iAlpha, ipe::Arc::iBeta, ipe::Arc::iM, ipe::Arc::isEllipse(), moveTo(), ipe::Angle::normalize(), popMatrix(), pushMatrix(), and transform().

Referenced by drawArc(), and state().

void Painter::doClosePath ( )
protectedvirtual

Perform closepath operator.

Reimplemented in ipe::PdfPainter, and ipe::CairoPainter.

Referenced by closePath(), and state().

void Painter::doDrawPath ( TPathMode  mode)
protectedvirtual

Actually draw the path.

Reimplemented in ipe::BBoxPainter, ipe::CairoPainter, ipe::PdfPainter, and ipe::PsPainter.

Referenced by drawPath(), and state().

void Painter::doDrawBitmap ( Bitmap  bitmap)
protectedvirtual

Draw a bitmap.

Reimplemented in ipe::BBoxPainter, ipe::CairoPainter, ipe::PdfPainter, and ipe::PsPainter.

Referenced by drawBitmap(), and state().

void Painter::doDrawText ( const Text text)
protectedvirtual

Draw a text object.

Reimplemented in ipe::BBoxPainter, ipe::CairoPainter, and ipe::PdfPainter.

Referenced by drawText(), and state().

void Painter::doDrawSymbol ( Attribute  symbol)
protectedvirtual

Draw a symbol.

The default implementation calls the draw method of the object. Only PDF drawing overrides this to reuse a PDF XForm.

Reimplemented in ipe::PdfPainter.

References cascade(), ipe::Object::draw(), ipe::Cascade::findSymbol(), and ipe::Symbol::iObject.

Referenced by drawSymbol(), and state().

void Painter::doAddClipPath ( )
protectedvirtual

Add a clip path.

Reimplemented in ipe::BBoxPainter, ipe::PdfPainter, ipe::CairoPainter, and ipe::PsPainter.

Referenced by addClipPath(), and state().

void Painter::drawArcAsBezier ( double  alpha)
protected

Draw an arc of the unit circle of length alpha.

PDF does not have an "arc" or "circle" primitive, so to draw an arc, circle, or ellipse, Ipe has to translate it into a sequence of Bezier curves.

The approximation is based on the following: The unit circle arc from (1,0) to (cos a, sin a) be approximated by a Bezier spline with control points (1, 0), (1, beta) and their mirror images along the line with slope a/2, where beta = 4.0 * (1.0 - cos(a/2)) / (3 * sin(a/2))

Ipe draws circles by drawing four Bezier curves for the quadrants, and arcs by patching together quarter circle approximations with a piece computed from the formula above.

alpha is normalized to [0, 2 pi], and applied starting from the point (1,0).

The function generates a sequence of Bezier splines as calls to curveTo. It is assumed that the caller has already executed a moveTo to the beginning of the arc at (1,0).

This function may modify the transformation matrix.

References curveTo().

Referenced by doDrawArc(), and state().

Member Data Documentation

std::list<Matrix> ipe::Painter::iMatrix
protected

The documentation for this class was generated from the following files:
  • ipepainter.h
  • ipepainter.cpp

ipe-7.2.7/build/doc/classipe_1_1_pan_tool-members.html000644 000766 000000 00000011510 13022535405 024656 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PanTool Member List

This is the complete list of members for ipe::PanTool, including all inherited members.

draw(Painter &painter) const ipe::PanToolvirtual
iCanvasipe::Toolprotected
key(String text, int modifiers)ipe::Toolvirtual
mouseButton(int button, bool press)ipe::PanToolvirtual
mouseMove()ipe::PanToolvirtual
PanTool(CanvasBase *canvas, const Page *page, int view)ipe::PanTool
snapVtx(const Vector &mouse, Vector &pos, double &bound, bool cp) const ipe::Toolvirtual
Tool(CanvasBase *canvas)ipe::Toolprotected
~Tool()ipe::Toolvirtual

ipe-7.2.7/build/doc/classipe_1_1_pan_tool.html000644 000766 000000 00000036646 13022535405 023247 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PanTool Class Reference

#include <ipetool.h>

Inherits ipe::Tool.

Public Member Functions

 PanTool (CanvasBase *canvas, const Page *page, int view)
 
virtual void draw (Painter &painter) const
 
virtual void mouseButton (int button, bool press)
 
virtual void mouseMove ()
 
- Public Member Functions inherited from ipe::Tool
virtual ~Tool ()
 
virtual bool key (String text, int modifiers)
 
virtual void snapVtx (const Vector &mouse, Vector &pos, double &bound, bool cp) const
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::Tool
 Tool (CanvasBase *canvas)
 
- Protected Attributes inherited from ipe::Tool
CanvasBaseiCanvas
 

Detailed Description

A tool for panning the canvas.

Constructor & Destructor Documentation

Member Function Documentation

void PanTool::mouseButton ( int  button,
bool  press 
)
virtual

Called when a mouse button is pressed or released on the canvas.

button is 1, 2, or 3, with Shift/Ctrl/Alt/Meta modifiers added in (as defined in CanvasBase::TModifiers. press is true for button-down, and false for button-up.

Reimplemented from ipe::Tool.

References ipe::CanvasBase::finishTool(), ipe::Tool::iCanvas, ipe::CanvasBase::pan(), ipe::CanvasBase::setPan(), and ipe::CanvasBase::unsnappedPos().

void PanTool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented from ipe::Tool.

References ipe::SelectTool::SObj::distance, ipe::Tool::iCanvas, ipe::CanvasBase::unsnappedPos(), and ipe::CanvasBase::updateTool().


The documentation for this class was generated from the following files:
  • ipetool.h
  • ipetool.cpp

ipe-7.2.7/build/doc/classipe_1_1_path-members.html000644 000766 000000 00000057455 13022535405 024021 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Path Member List

This is the complete list of members for ipe::Path, including all inherited members.

accept(Visitor &visitor) const ipe::Pathvirtual
addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Pathvirtual
arrow() const ipe::Pathinline
arrowShape() const ipe::Pathinline
arrowSize() const ipe::Pathinline
asGroup()ipe::Objectvirtual
asGroup() const ipe::Objectvirtual
asImage()ipe::Objectvirtual
asPath()ipe::Pathvirtual
asReference()ipe::Objectvirtual
asText()ipe::Objectvirtual
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Pathvirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clone() const ipe::Pathvirtual
create(const XmlAttributes &attr, String data)ipe::Pathstatic
dashStyle() const ipe::Pathinline
distance(const Vector &v, const Matrix &m, double bound) const ipe::Pathvirtual
draw(Painter &painter) const ipe::Pathvirtual
drawArrow(Painter &painter, Vector pos, Angle alpha, Attribute shape, Attribute size, double radius)ipe::Pathstatic
drawSimple(Painter &painter) const ipe::Pathvirtual
EGroup enum valueipe::Object
EImage enum valueipe::Object
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
fill() const ipe::Pathinline
fillRule() const ipe::Pathinline
getAttribute(Property prop) const noexceptipe::Pathvirtual
gradient() const ipe::Pathinline
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
iTransformationsipe::Objectprotected
lineCap() const ipe::Pathinline
lineJoin() const ipe::Pathinline
matrix() const ipe::Objectinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
opacity() const ipe::Pathinline
Path(const AllAttributes &attr, const Shape &shape, bool withArrows=false)ipe::Pathexplicit
pathMode() const ipe::Pathinline
pen() const ipe::Pathinline
pinned() const ipe::Objectvirtual
rArrow() const ipe::Pathinline
rArrowShape() const ipe::Pathinline
rArrowSize() const ipe::Pathinline
saveAsXml(Stream &stream, String layer) const ipe::Pathvirtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
setArrow(bool arrow, Attribute shape, Attribute size)ipe::Path
setAttribute(Property prop, Attribute value)ipe::Pathvirtual
setDashStyle(Attribute dash)ipe::Path
setFill(Attribute fill)ipe::Path
setFillRule(TFillRule s)ipe::Path
setGradient(Attribute a)ipe::Path
setLineCap(TLineCap s)ipe::Path
setLineJoin(TLineJoin s)ipe::Path
setMatrix(const Matrix &matrix)ipe::Object
setOpacity(Attribute opaq)ipe::Path
setPathMode(TPathMode pm)ipe::Path
setPen(Attribute pen)ipe::Path
setPinned(TPinned pin)ipe::Object
setRarrow(bool arrow, Attribute shape, Attribute size)ipe::Path
setShape(const Shape &shape)ipe::Path
setStroke(Attribute stroke)ipe::Path
setTiling(Attribute a)ipe::Path
setTransformations(TTransformations trans)ipe::Object
shape() const ipe::Pathinline
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Pathvirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Pathvirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Pathvirtual
stroke() const ipe::Pathinline
tiling() const ipe::Pathinline
transformations() const ipe::Objectinline
type() const ipe::Pathvirtual
Type enum nameipe::Object
~Object()=0ipe::Objectpure virtual

ipe-7.2.7/build/doc/classipe_1_1_path.html000644 000766 000000 00000354075 13022535405 022367 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Path Class Reference

#include <ipepath.h>

Inherits ipe::Object.

Public Member Functions

 Path (const AllAttributes &attr, const Shape &shape, bool withArrows=false)
 
virtual Objectclone () const
 
virtual PathasPath ()
 
virtual Type type () const
 
void setPathMode (TPathMode pm)
 
void setStroke (Attribute stroke)
 
void setFill (Attribute fill)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap s)
 
void setLineJoin (TLineJoin s)
 
void setFillRule (TFillRule s)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute a)
 
void setGradient (Attribute a)
 
Attribute opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
TPathMode pathMode () const
 
Attribute stroke () const
 
Attribute fill () const
 
Attribute pen () const
 
Attribute dashStyle () const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void accept (Visitor &visitor) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
bool arrow () const
 
bool rArrow () const
 
Attribute arrowShape () const
 
Attribute rArrowShape () const
 
Attribute arrowSize () const
 
Attribute rArrowSize () const
 
void setArrow (bool arrow, Attribute shape, Attribute size)
 
void setRarrow (bool arrow, Attribute shape, Attribute size)
 
const Shapeshape () const
 
void setShape (const Shape &shape)
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual TextasText ()
 
virtual ImageasImage ()
 
virtual ReferenceasReference ()
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 

Static Public Member Functions

static Pathcreate (const XmlAttributes &attr, String data)
 
static void drawArrow (Painter &painter, Vector pos, Angle alpha, Attribute shape, Attribute size, double radius)
 

Additional Inherited Members

- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 
- Protected Member Functions inherited from ipe::Object
 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 
- Static Protected Member Functions inherited from ipe::Object
static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 
- Protected Attributes inherited from ipe::Object
Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

The path object (polylines, polygons, and generalizations).

This object represents any vector graphics. The geometry is contained in a Shape.

The filling algorithm is the even-odd rule of PDF: To determine whether a point lies inside the filled shape, draw a ray from that point in any direction, and count the number of path segments that cross the ray. If this number is odd, the point is inside; if even, the point is outside. (Path objects can also render using the winding fill rule by setting the fillRule attribute. This isn't really supported by the Ipe user interface, which doesn't show the orientation of paths.)

If the path consists of a single line segment and is filled only, then it is not drawn at all. This can be used to draw arrow heads without bodies. The fill color is used to draw the arrows in this case.

Constructor & Destructor Documentation

Path::Path ( const AllAttributes attr,
const Shape shape,
bool  withArrows = false 
)
explicit

Create for given shape.

Referenced by clone(), and shape().

Member Function Documentation

Path * Path::create ( const XmlAttributes attr,
String  data 
)
static

Construct from XML data.

Path * Path::asPath ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Path::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EPath.

void Path::setPathMode ( TPathMode  pm)

Set whether object will be stroked and filled.

Referenced by setAttribute().

void Path::setStroke ( Attribute  stroke)

Set stroke color.

References stroke().

Referenced by setAttribute().

void Path::setFill ( Attribute  fill)

Set fill color.

References fill().

Referenced by setAttribute().

void Path::setPen ( Attribute  pen)

Set pen.

References pen().

Referenced by setAttribute().

void Path::setDashStyle ( Attribute  dash)

Set dash style.

Referenced by setAttribute().

void Path::setLineCap ( TLineCap  s)

Set line cap style.

void Path::setLineJoin ( TLineJoin  s)

Set line join style.

void Path::setFillRule ( TFillRule  s)

Set fill rule.

void Path::setOpacity ( Attribute  opaq)

Set opacity of the object.

Referenced by setAttribute().

void Path::setTiling ( Attribute  til)

Set tiling pattern of the object.

Resets gradient fill.

References ipe::Attribute::NORMAL().

Referenced by setAttribute().

void Path::setGradient ( Attribute  grad)

Set gradient fill of the object.

Resets tiling pattern.

References ipe::Attribute::NORMAL().

Referenced by setAttribute().

Attribute ipe::Path::opacity ( ) const
inline

Return opacity of the opject.

Referenced by getAttribute(), and setAttribute().

Attribute ipe::Path::tiling ( ) const
inline

Return tiling pattern.

Referenced by getAttribute(), and setAttribute().

TPathMode ipe::Path::pathMode ( ) const
inline

Is the object stroked and filled?

Referenced by gradient(), and setAttribute().

Attribute ipe::Path::stroke ( ) const
inline

Return stroke color.

Referenced by getAttribute(), gradient(), setAttribute(), and setStroke().

Attribute ipe::Path::fill ( ) const
inline

Return object fill color.

Referenced by getAttribute(), gradient(), setAttribute(), and setFill().

Attribute ipe::Path::pen ( ) const
inline

Return object pen.

Referenced by getAttribute(), gradient(), setAttribute(), and setPen().

Attribute ipe::Path::dashStyle ( ) const
inline

Return object line style.

Referenced by getAttribute(), gradient(), and setAttribute().

TLineCap ipe::Path::lineCap ( ) const
inline

Return line cap style.

Referenced by draw(), and gradient().

TLineJoin ipe::Path::lineJoin ( ) const
inline

Return line join style.

Referenced by draw(), and gradient().

TFillRule ipe::Path::fillRule ( ) const
inline

Return fill rule.

Referenced by draw(), and gradient().

void Path::accept ( Visitor visitor) const
virtual

Call visitPath of visitor.

Implements ipe::Object.

References ipe::Visitor::visitPath().

Referenced by gradient().

void Path::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

Implements ipe::Object.

References ipe::Shape::addToBBox(), and ipe::Object::matrix().

Referenced by gradient().

double Path::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

References ipe::Shape::distance(), and ipe::Object::matrix().

Referenced by gradient().

void Path::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute vertex snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Object::matrix(), and ipe::Shape::snapVtx().

Referenced by gradient().

void Path::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute control point snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Object::matrix(), and ipe::Shape::snapVtx().

Referenced by gradient().

void Path::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute boundary snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Object::matrix(), and ipe::Shape::snapBnd().

Referenced by gradient().

void Path::checkStyle ( const Cascade sheet,
AttributeSeq seq 
) const
virtual
bool ipe::Path::arrow ( ) const
inline

Does object have an arrow?

Referenced by gradient(), setArrow(), and setRarrow().

bool ipe::Path::rArrow ( ) const
inline

Does object have a reverse arrow?

Referenced by gradient().

Attribute ipe::Path::arrowShape ( ) const
inline

Return shape of arrow.

Referenced by gradient().

Attribute ipe::Path::rArrowShape ( ) const
inline

Return shape of reverse arrow.

Referenced by gradient().

Attribute ipe::Path::arrowSize ( ) const
inline

Return size of arrow.

Referenced by gradient().

Attribute ipe::Path::rArrowSize ( ) const
inline

Return size of reverse arrow.

Referenced by gradient().

void Path::setArrow ( bool  arrow,
Attribute  shape,
Attribute  size 
)

Set forward arrow.

References arrow(), and shape().

Referenced by gradient().

void Path::setRarrow ( bool  arrow,
Attribute  shape,
Attribute  size 
)

Set backward arrow (if the object can take it).

References arrow(), and shape().

Referenced by gradient().

const Shape& ipe::Path::shape ( ) const
inline

Return shape of the path object.

References Path(), and setShape().

Referenced by setArrow(), setRarrow(), and setShape().

void Path::setShape ( const Shape shape)

References shape().

Referenced by shape().


The documentation for this class was generated from the following files:
  • ipepath.h
  • ipepath.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_array-members.html000644 000766 000000 00000015447 13022535405 025027 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfArray Member List

This is the complete list of members for ipe::PdfArray, including all inherited members.

append(const PdfObj *)ipe::PdfArray
array() const noexceptipe::PdfArrayvirtual
boolean() const noexceptipe::PdfObjvirtual
count() const noexceptipe::PdfArrayinline
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
obj(int index, const PdfFile *file) const noexceptipe::PdfArray
PdfArray()ipe::PdfArrayinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfArrayvirtual
~PdfArray()ipe::PdfArray
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_array.html000644 000766 000000 00000045351 13022535405 023374 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfArray Class Reference
ipe::PdfArray Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfArray ()
 
 ~PdfArray ()
 
virtual const PdfArrayarray () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
void append (const PdfObj *)
 
int count () const noexcept
 
const PdfObjobj (int index, const PdfFile *file) const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF array object.

Constructor & Destructor Documentation

ipe::PdfArray::PdfArray ( )
inlineexplicit
PdfArray::~PdfArray ( )

Member Function Documentation

const PdfArray * PdfArray::array ( ) const
virtualnoexcept

Return this object as PDF array object.

Reimplemented from ipe::PdfObj.

void PdfArray::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.

void PdfArray::append ( const PdfObj obj)

Append an object to array.

Array takes ownership of the object.

Referenced by ipe::PdfResources::collect().

const PdfObj * PdfArray::obj ( int  index,
const PdfFile file 
) const
noexcept

Return object with index in array.

Indirect objects (references) are looked up if file is not nullptr, and the object referred to is returned (nullptr if it does not exist). Object remains owned by array.

References ipe::PdfObj::ref(), and ipe::PdfRef::value().

Referenced by ipe::PdfResources::collect(), ipe::CairoPainter::doDrawText(), ipe::Face::Face(), ipe::PdfDict::getNumberArray(), ipe::Face::glyphIndex(), ipe::PdfFile::page(), ipe::PdfResources::PdfResources(), and ipe::Latex::readPdf().


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_bool-members.html000644 000766 000000 00000013776 13022535405 024647 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfBool Member List

This is the complete list of members for ipe::PdfBool, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfBoolvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
PdfBool(bool val)ipe::PdfBoolinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
value() const noexceptipe::PdfBoolinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfBoolvirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_bool.html000644 000766 000000 00000032570 13022535405 023210 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfBool Class Reference
ipe::PdfBool Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfBool (bool val)
 
virtual const PdfBoolboolean () const noexcept
 
bool value () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF bool object.

Constructor & Destructor Documentation

ipe::PdfBool::PdfBool ( bool  val)
inlineexplicit

Member Function Documentation

const PdfBool * PdfBool::boolean ( ) const
virtualnoexcept

Return this object as PDF bool object.

Reimplemented from ipe::PdfObj.

bool ipe::PdfBool::value ( ) const
inlinenoexcept

References ipe::PdfObj::write().

void PdfBool::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_dict-members.html000644 000766 000000 00000023240 13022535405 024622 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfDict Member List

This is the complete list of members for ipe::PdfDict, including all inherited members.

add(String key, const PdfObj *obj)ipe::PdfDict
array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
count() const noexceptipe::PdfDictinline
deflated() const noexceptipe::PdfDict
dict() const noexceptipe::PdfDictvirtual
dictRepr() const noexceptipe::PdfDict
dictWrite(Stream &stream, const PdfRenumber *renumber, bool inflate, int length) const noexceptipe::PdfDict
get(String key, const PdfFile *file) const noexceptipe::PdfDict
getNumber(String key, double &val, const PdfFile *file) const noexceptipe::PdfDict
getNumberArray(String key, const PdfFile *file, std::vector< double > &vals) const noexceptipe::PdfDict
inflate() const noexceptipe::PdfDict
key(int index) const noexceptipe::PdfDictinline
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
PdfDict()ipe::PdfDictinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
setStream(const Buffer &stream)ipe::PdfDict
stream() const noexceptipe::PdfDictinline
string() const noexceptipe::PdfObjvirtual
value(int index) const noexceptipe::PdfDictinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfDictvirtual
~PdfDict()ipe::PdfDict
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_dict.html000644 000766 000000 00000113312 13022535405 023172 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfDict Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfDict ()
 
 ~PdfDict ()
 
virtual const PdfDictdict () const noexcept
 
String dictRepr () const noexcept
 
void dictWrite (Stream &stream, const PdfRenumber *renumber, bool inflate, int length) const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
void setStream (const Buffer &stream)
 
void add (String key, const PdfObj *obj)
 
const PdfObjget (String key, const PdfFile *file) const noexcept
 
bool getNumber (String key, double &val, const PdfFile *file) const noexcept
 
bool getNumberArray (String key, const PdfFile *file, std::vector< double > &vals) const noexcept
 
int count () const noexcept
 
String key (int index) const noexcept
 
const PdfObjvalue (int index) const noexcept
 
Buffer stream () const noexcept
 
bool deflated () const noexcept
 
Buffer inflate () const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF dictionary and stream objects.

A dictionary may or may not have attached stream data.

Constructor & Destructor Documentation

ipe::PdfDict::PdfDict ( )
inlineexplicit
PdfDict::~PdfDict ( )

Member Function Documentation

const PdfDict * PdfDict::dict ( ) const
virtualnoexcept

Return this object as PDF dictionary object.

Reimplemented from ipe::PdfObj.

Referenced by ipe::PdfFile::parse().

String PdfDict::dictRepr ( ) const
noexcept

Return PDF representation of the PdfDict without the stream.

void PdfDict::dictWrite ( Stream stream,
const PdfRenumber renumber,
bool  inflate,
int  length 
) const
noexcept
void PdfDict::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.

References ipe::Buffer::size().

void PdfDict::setStream ( const Buffer stream)

Add stream data to this dictionary.

void PdfDict::add ( String  key,
const PdfObj obj 
)

Add a (key, value) pair to the dictionary.

Dictionary takes ownership of obj.

Referenced by ipe::PdfResources::collect().

const PdfObj * PdfDict::get ( String  key,
const PdfFile file 
) const
noexcept

Look up key in dictionary.

Indirect objects (references) are looked up if file is not nullptr, and the object referred to is returned. Returns nullptr if key is not in dictionary.

Referenced by ipe::PdfResources::collect(), ipe::Latex::createLatexSource(), ipe::CairoPainter::doDrawText(), ipe::Document::formatFromFilename(), ipe::PdfFile::page(), ipe::PdfFile::parse(), ipe::PdfFile::parseObjectStream(), ipe::Latex::readPdf(), and ipe::PdfWriter::~PdfWriter().

bool PdfDict::getNumber ( String  key,
double &  val,
const PdfFile file 
) const
noexcept

Retrieve a single number and stor in val.

References ipe::PdfObj::number(), and ipe::PdfNumber::value().

Referenced by ipe::Latex::createLatexSource().

bool PdfDict::getNumberArray ( String  key,
const PdfFile file,
std::vector< double > &  vals 
) const
noexcept
Buffer ipe::PdfDict::stream ( ) const
inlinenoexcept
bool PdfDict::deflated ( ) const
noexcept

Is this stream compressed with flate compression?

References ipe::PdfObj::name(), and ipe::PdfName::value().

Referenced by ipe::Document::formatFromFilename(), and ipe::PdfWriter::~PdfWriter().

Buffer PdfDict::inflate ( ) const
noexcept

The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_file-members.html000644 000766 000000 00000007420 13022535405 024620 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfFile Member List

This is the complete list of members for ipe::PdfFile, including all inherited members.

catalog() const noexceptipe::PdfFile
object(int num) const noexceptipe::PdfFile
page() const noexceptipe::PdfFile
parse(DataSource &source)ipe::PdfFile
parseObjectStream(const PdfDict *d)ipe::PdfFile
take(int num)ipe::PdfFile

ipe-7.2.7/build/doc/classipe_1_1_pdf_file.html000644 000766 000000 00000032205 13022535405 023167 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfFile Class Reference
ipe::PdfFile Class Reference

#include <ipepdfparser.h>

Public Member Functions

bool parse (DataSource &source)
 
bool parseObjectStream (const PdfDict *d)
 
const PdfObjobject (int num) const noexcept
 
const PdfDictcatalog () const noexcept
 
const PdfDictpage () const noexcept
 
std::unique_ptr< const PdfObjtake (int num)
 

Detailed Description

All information obtained by parsing a PDF file.

Member Function Documentation

const PdfObj * PdfFile::object ( int  num) const
noexcept

Return object with number num.

Referenced by ipe::Document::formatFromFilename().

const PdfDict * PdfFile::catalog ( ) const
noexcept

Return root catalog of PDF file.

References ipe::PdfObj::dict().

const PdfDict * PdfFile::page ( ) const
noexcept

Return first page of the document.

References ipe::PdfObj::array(), ipe::PdfObj::dict(), ipe::PdfDict::get(), and ipe::PdfArray::obj().

std::unique_ptr< const PdfObj > PdfFile::take ( int  num)

Take ownership of object with number num, remove from PdfFile.

Referenced by ipe::PdfResources::PdfResources().


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_name-members.html000644 000766 000000 00000014013 13022535405 024615 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfName Member List

This is the complete list of members for ipe::PdfName, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfNamevirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
PdfName(const String &val)ipe::PdfNameinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
value() const noexceptipe::PdfNameinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfNamevirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_name.html000644 000766 000000 00000034601 13022535405 023172 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfName Class Reference
ipe::PdfName Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfName (const String &val)
 
virtual const PdfNamename () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
String value () const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF name object.

Constructor & Destructor Documentation

ipe::PdfName::PdfName ( const String val)
inlineexplicit

Member Function Documentation

const PdfName * PdfName::name ( ) const
virtualnoexcept

Return this object as PDF name object.

Reimplemented from ipe::PdfObj.

void PdfName::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_null-members.html000644 000766 000000 00000013311 13022535405 024647 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfNull Member List

This is the complete list of members for ipe::PdfNull, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfNullvirtual
number() const noexceptipe::PdfObjvirtual
PdfNull()ipe::PdfNullinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfNullvirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_null.html000644 000766 000000 00000030502 13022535405 023220 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfNull Class Reference
ipe::PdfNull Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfNull ()
 
virtual const PdfNullnull () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF null object.

Constructor & Destructor Documentation

ipe::PdfNull::PdfNull ( )
inlineexplicit

Member Function Documentation

const PdfNull * PdfNull::null ( ) const
virtualnoexcept

Return this object as PDF null object.

Reimplemented from ipe::PdfObj.

void PdfNull::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_number-members.html000644 000766 000000 00000014044 13022535405 025171 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfNumber Member List

This is the complete list of members for ipe::PdfNumber, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfNumbervirtual
PdfNumber(double val)ipe::PdfNumberinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
value() const noexceptipe::PdfNumberinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfNumbervirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_number.html000644 000766 000000 00000034343 13022535406 023546 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfNumber Class Reference
ipe::PdfNumber Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfNumber (double val)
 
virtual const PdfNumbernumber () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
double value () const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF number object.

Constructor & Destructor Documentation

ipe::PdfNumber::PdfNumber ( double  val)
inlineexplicit

Member Function Documentation

const PdfNumber * PdfNumber::number ( ) const
virtualnoexcept

Return this object as PDF number object.

Reimplemented from ipe::PdfObj.

void PdfNumber::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_obj-members.html000644 000766 000000 00000012635 13022535406 024460 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfObj Member List

This is the complete list of members for ipe::PdfObj, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
write(Stream &stream, const PdfRenumber *renumber=nullptr, bool inflate=false) const noexcept=0ipe::PdfObjpure virtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_obj.html000644 000766 000000 00000063770 13022535406 023036 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfObj Class Reference
ipe::PdfObj Class Referenceabstract

#include <ipepdfparser.h>

Inherited by ipe::PdfArray, ipe::PdfBool, ipe::PdfDict, ipe::PdfName, ipe::PdfNull, ipe::PdfNumber, ipe::PdfRef, and ipe::PdfString.

Public Member Functions

virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber=nullptr, bool inflate=false) const noexcept=0
 
String repr () const noexcept
 

Detailed Description

Abstract base class for PDF objects.

Constructor & Destructor Documentation

PdfObj::~PdfObj ( )
pure virtual

Pure virtual destructor.

Member Function Documentation

const PdfNull * PdfObj::null ( ) const
virtualnoexcept

Return this object as PDF null object.

Reimplemented in ipe::PdfNull.

Referenced by ipe::PdfNull::PdfNull().

const PdfBool * PdfObj::boolean ( ) const
virtualnoexcept

Return this object as PDF bool object.

Reimplemented in ipe::PdfBool.

Referenced by ipe::PdfBool::PdfBool().

const PdfString * PdfObj::string ( ) const
virtualnoexcept

Return this object as PDF string object.

Reimplemented in ipe::PdfString.

Referenced by ipe::CairoPainter::doDrawText(), and ipe::PdfString::PdfString().

String PdfObj::repr ( ) const
noexcept

Return PDF representation of the object.

References write().

Referenced by ipe::PdfResources::collect(), and ipe::CairoPainter::doDrawText().


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_painter-members.html000644 000766 000000 00000060473 13022535406 025353 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfPainter Member List

This is the complete list of members for ipe::PdfPainter, including all inherited members.

addClipPath()ipe::Painter
cascade() const ipe::Painterinline
closePath()ipe::Painter
curveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painter
curveTo(const Bezier &bezier)ipe::Painterinline
dashStyle() const ipe::Painterinline
dashStyle(std::vector< double > &dashes, double &offset) const ipe::Painter
doAddClipPath()ipe::PdfPainterprotectedvirtual
doClosePath()ipe::PdfPainterprotectedvirtual
doCurveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::PdfPainterprotectedvirtual
doDrawArc(const Arc &arc)ipe::Painterprotectedvirtual
doDrawBitmap(Bitmap bitmap)ipe::PdfPainterprotectedvirtual
doDrawPath(TPathMode mode)ipe::PdfPainterprotectedvirtual
doDrawSymbol(Attribute symbol)ipe::PdfPainterprotectedvirtual
doDrawText(const Text *text)ipe::PdfPainterprotectedvirtual
doLineTo(const Vector &v)ipe::PdfPainterprotectedvirtual
doMoveTo(const Vector &v)ipe::PdfPainterprotectedvirtual
doNewPath()ipe::PdfPainterprotectedvirtual
doPop()ipe::PdfPainterprotectedvirtual
doPush()ipe::PdfPainterprotectedvirtual
drawArc(const Arc &arc)ipe::Painter
drawArcAsBezier(double alpha)ipe::Painterprotected
drawAttributes()ipe::PdfPainterprotected
drawBitmap(Bitmap bitmap)ipe::Painter
drawColor(Stream &stream, Color color, const char *gray, const char *rgb)ipe::PdfPainterstatic
drawEllipse()ipe::Painter
drawOpacity()ipe::PdfPainterprotected
drawPath(TPathMode mode)ipe::Painter
drawSymbol(Attribute symbol)ipe::Painter
drawText(const Text *text)ipe::Painter
fill() const ipe::Painterinline
fillRule() const ipe::Painterinline
gradient() const ipe::Painterinline
iActiveStateipe::PdfPainterprotected
iCascadeipe::Painterprotected
iInPathipe::Painterprotected
iMatrixipe::Painterprotected
iStateipe::Painterprotected
iStreamipe::PdfPainterprotected
lineCap() const ipe::Painterinline
lineJoin() const ipe::Painterinline
lineTo(const Vector &v)ipe::Painter
matrix() const ipe::Painterinline
moveTo(const Vector &v)ipe::Painter
newPath()ipe::Painter
opacity() const ipe::Painterinline
Painter(const Cascade *style)ipe::Painter
PdfPainter(const Cascade *style, Stream &stream)ipe::PdfPainter
pen() const ipe::Painterinline
pop()ipe::Painter
popMatrix()ipe::Painter
push()ipe::Painter
pushMatrix()ipe::Painter
rect(const Rect &re)ipe::Painter
setDashStyle(Attribute dash)ipe::Painter
setFill(Attribute color)ipe::Painter
setFillRule(TFillRule rule)ipe::Painter
setGradient(Attribute grad)ipe::Painter
setLineCap(TLineCap cap)ipe::Painter
setLineJoin(TLineJoin join)ipe::Painter
setOpacity(Attribute opaq)ipe::Painter
setPen(Attribute pen)ipe::Painter
setState(const State &state)ipe::Painter
setStroke(Attribute color)ipe::Painter
setSymFill(Attribute color)ipe::Painter
setSymPen(Attribute wid)ipe::Painter
setSymStroke(Attribute color)ipe::Painter
setTiling(Attribute til)ipe::Painter
state() const ipe::Painterinline
stroke() const ipe::Painterinline
symFill() const ipe::Painterinline
symPen() const ipe::Painterinline
symStroke() const ipe::Painterinline
tiling() const ipe::Painterinline
transform(const Matrix &m)ipe::Painter
translate(const Vector &v)ipe::Painter
untransform(TTransformations trans)ipe::Painter
~Painter()ipe::Paintervirtual
~PdfPainter()ipe::PdfPainterinlinevirtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_painter.html000644 000766 000000 00000231351 13022535406 023716 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfPainter Class Reference

#include <ipepdfwriter.h>

Inherits ipe::Painter.

Inherited by ipe::PsPainter.

Public Member Functions

 PdfPainter (const Cascade *style, Stream &stream)
 
virtual ~PdfPainter ()
 
- Public Member Functions inherited from ipe::Painter
 Painter (const Cascade *style)
 
virtual ~Painter ()
 
void transform (const Matrix &m)
 
void untransform (TTransformations trans)
 
void translate (const Vector &v)
 
void push ()
 
void pop ()
 
void pushMatrix ()
 
void popMatrix ()
 
void newPath ()
 
void moveTo (const Vector &v)
 
void lineTo (const Vector &v)
 
void curveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
void curveTo (const Bezier &bezier)
 
void rect (const Rect &re)
 
void drawEllipse ()
 
void drawArc (const Arc &arc)
 
void closePath ()
 
void drawPath (TPathMode mode)
 
void drawBitmap (Bitmap bitmap)
 
void drawText (const Text *text)
 
void drawSymbol (Attribute symbol)
 
void addClipPath ()
 
void setStroke (Attribute color)
 
void setFill (Attribute color)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap cap)
 
void setLineJoin (TLineJoin join)
 
void setFillRule (TFillRule rule)
 
void setSymStroke (Attribute color)
 
void setSymFill (Attribute color)
 
void setSymPen (Attribute wid)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute til)
 
void setGradient (Attribute grad)
 
const Cascadecascade () const
 
Color stroke () const
 
Color fill () const
 
const Matrixmatrix () const
 
Fixed pen () const
 
String dashStyle () const
 
void dashStyle (std::vector< double > &dashes, double &offset) const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
Color symStroke () const
 
Color symFill () const
 
Fixed symPen () const
 
Fixed opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
const Statestate () const
 
void setState (const State &state)
 

Static Public Member Functions

static void drawColor (Stream &stream, Color color, const char *gray, const char *rgb)
 

Protected Member Functions

virtual void doPush ()
 
virtual void doPop ()
 
virtual void doNewPath ()
 
virtual void doMoveTo (const Vector &v)
 
virtual void doLineTo (const Vector &v)
 
virtual void doCurveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
virtual void doClosePath ()
 
virtual void doDrawPath (TPathMode mode)
 
virtual void doDrawBitmap (Bitmap bitmap)
 
virtual void doDrawText (const Text *text)
 
virtual void doAddClipPath ()
 
virtual void doDrawSymbol (Attribute symbol)
 
void drawAttributes ()
 
void drawOpacity ()
 
- Protected Member Functions inherited from ipe::Painter
virtual void doDrawArc (const Arc &arc)
 
void drawArcAsBezier (double alpha)
 

Protected Attributes

StreamiStream
 
std::list< StateiActiveState
 
- Protected Attributes inherited from ipe::Painter
std::list< StateiState
 
std::list< MatrixiMatrix
 
const CascadeiCascade
 
int iInPath
 

Constructor & Destructor Documentation

Member Function Documentation

void PdfPainter::drawColor ( Stream stream,
Color  color,
const char *  gray,
const char *  rgb 
)
static
void PdfPainter::doPush ( )
protectedvirtual

Perform graphics state push on output medium.

Reimplemented from ipe::Painter.

References iActiveState, iStream, and ipe::Painter::state().

Referenced by ~PdfPainter().

void PdfPainter::doPop ( )
protectedvirtual

Perform graphics state pop on output medium.

Reimplemented from ipe::Painter.

References iActiveState, and iStream.

Referenced by ~PdfPainter().

void PdfPainter::doNewPath ( )
protectedvirtual

Perform new path operator.

Reimplemented from ipe::Painter.

Reimplemented in ipe::PsPainter.

References drawAttributes().

Referenced by ~PdfPainter().

void PdfPainter::doMoveTo ( const Vector v)
protectedvirtual

Perform moveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References iStream.

Referenced by ~PdfPainter().

void PdfPainter::doLineTo ( const Vector v)
protectedvirtual

Perform lineto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References iStream.

Referenced by ~PdfPainter().

void PdfPainter::doCurveTo ( const Vector v1,
const Vector v2,
const Vector v3 
)
protectedvirtual

Perform curveto operator.

The transformation matrix has already been applied.

Reimplemented from ipe::Painter.

References iStream.

Referenced by ~PdfPainter().

void PdfPainter::doClosePath ( )
protectedvirtual

Perform closepath operator.

Reimplemented from ipe::Painter.

References iStream.

Referenced by ~PdfPainter().

void PdfPainter::doDrawBitmap ( Bitmap  bitmap)
protectedvirtual

Draw a bitmap.

Reimplemented from ipe::Painter.

Reimplemented in ipe::PsPainter.

References iStream, ipe::Painter::matrix(), and ipe::Bitmap::objNum().

Referenced by ~PdfPainter().

void PdfPainter::doAddClipPath ( )
protectedvirtual

Add a clip path.

Reimplemented from ipe::Painter.

Reimplemented in ipe::PsPainter.

References iStream.

Referenced by ~PdfPainter().

void PdfPainter::drawOpacity ( )
protected

Member Data Documentation

std::list<State> ipe::PdfPainter::iActiveState
protected

The documentation for this class was generated from the following files:
  • ipepdfwriter.h
  • ipepdfwriter.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_parser-members.html000644 000766 000000 00000011171 13022535406 025174 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfParser Member List

This is the complete list of members for ipe::PdfParser, including all inherited members.

eos() const noexceptipe::PdfParserinline
getChar()ipe::PdfParserinline
getObject()ipe::PdfParser
getObjectDef()ipe::PdfParser
getToken()ipe::PdfParser
getTrailer()ipe::PdfParser
PdfParser(DataSource &source)ipe::PdfParser
skipXRef()ipe::PdfParser
token() const noexceptipe::PdfParserinline

ipe-7.2.7/build/doc/classipe_1_1_pdf_parser.html000644 000766 000000 00000044526 13022535406 023556 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfParser Class Reference
ipe::PdfParser Class Reference

#include <ipepdfparser.h>

Public Member Functions

 PdfParser (DataSource &source)
 
void getChar ()
 
bool eos () const noexcept
 
PdfToken token () const noexcept
 
void getToken ()
 
PdfObjgetObject ()
 
PdfObjgetObjectDef ()
 
PdfDictgetTrailer ()
 
void skipXRef ()
 

Detailed Description

PDF parser.

The parser understands the syntax of PDF files, but very little of its semantics. It is meant to be able to parse PDF documents created by Ipe for loading, and to extract information from PDF files created by Pdflatex or Xelatex.

The parser reads a PDF file sequentially from front to back, ignores the contents of 'xref' sections, stores only generation 0 objects, and stops after reading the first 'trailer' section (so it cannot deal with files with incremental updates). It cannot handle stream objects whose /Length entry has been deferred (using an indirect object).

Constructor & Destructor Documentation

PdfParser::PdfParser ( DataSource source)

Construct with a data source.

Referenced by ipe::PdfDict::inflate().

Member Function Documentation

void ipe::PdfParser::getChar ( )
inline
bool ipe::PdfParser::eos ( ) const
inlinenoexcept
PdfToken ipe::PdfParser::token ( ) const
inlinenoexcept
PdfObj * PdfParser::getObjectDef ( )

Parse an object definition (current token is object number).

References ipe::PdfToken::ENumber, and ipe::PdfToken::EOp.

Referenced by ipe::PdfFile::parse().

PdfDict * PdfParser::getTrailer ( )

Parse trailer dictionary (current token is 'trailer')

References ipe::PdfToken::EDictBg.

Referenced by ipe::PdfFile::parse().

void PdfParser::skipXRef ( )

Skip xref table (current token is 'xref')

Referenced by ipe::PdfFile::parse().


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_ref-members.html000644 000766 000000 00000013753 13022535406 024464 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfRef Member List

This is the complete list of members for ipe::PdfRef, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
PdfRef(int val)ipe::PdfRefinlineexplicit
ref() const noexceptipe::PdfRefvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfObjvirtual
value() const noexceptipe::PdfRefinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfRefvirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_ref.html000644 000766 000000 00000034256 13022535406 023035 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfRef Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfRef (int val)
 
virtual const PdfRefref () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
int value () const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfStringstring () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF reference object (indirect object).

Constructor & Destructor Documentation

ipe::PdfRef::PdfRef ( int  val)
inlineexplicit

Member Function Documentation

const PdfRef * PdfRef::ref ( ) const
virtualnoexcept

Return this object as PDF reference object.

Reimplemented from ipe::PdfObj.

void PdfRef::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_resources-members.html000644 000766 000000 00000013365 13022535406 025721 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfResources Member List

This is the complete list of members for ipe::PdfResources, including all inherited members.

addPageNumber(SPageNumber &pn) noexceptipe::PdfResources
collect(const PdfDict *resources, PdfFile *file)ipe::PdfResources
embedSequence() const noexceptipe::PdfResourcesinline
findResource(String kind, String name) const noexceptipe::PdfResources
findResource(const PdfDict *xf, String kind, String name) const noexceptipe::PdfResources
getDeep(const PdfDict *d, String key) const noexceptipe::PdfResources
getDict(const PdfDict *d, String key) const noexceptipe::PdfResources
object(int num) const noexceptipe::PdfResources
pageNumber(int page, int view) const noexceptipe::PdfResources
PdfResources()ipe::PdfResources
resourcesOfKind(String kind) const noexceptipe::PdfResources
show() const noexceptipe::PdfResources

ipe-7.2.7/build/doc/classipe_1_1_pdf_resources.html000644 000766 000000 00000057727 13022535406 024303 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfResources Class Reference
ipe::PdfResources Class Reference

#include <iperesources.h>

Classes

struct  SPageNumber
 

Public Member Functions

 PdfResources ()
 
bool collect (const PdfDict *resources, PdfFile *file)
 
const PdfObjobject (int num) const noexcept
 
const PdfDictresourcesOfKind (String kind) const noexcept
 
const PdfDictfindResource (String kind, String name) const noexcept
 
const PdfDictfindResource (const PdfDict *xf, String kind, String name) const noexcept
 
const PdfObjgetDeep (const PdfDict *d, String key) const noexcept
 
const PdfDictgetDict (const PdfDict *d, String key) const noexcept
 
void addPageNumber (SPageNumber &pn) noexcept
 
const TextpageNumber (int page, int view) const noexcept
 
const std::vector< int > & embedSequence () const noexcept
 
void show () const noexcept
 

Detailed Description

All the resources needed by the text objects in the document.

Constructor & Destructor Documentation

Member Function Documentation

const PdfObj * PdfResources::object ( int  num) const
noexcept
const PdfDict * PdfResources::resourcesOfKind ( String  kind) const
noexcept

References ipe::PdfObj::dict().

Referenced by findResource().

const PdfDict * PdfResources::findResource ( String  kind,
String  name 
) const
noexcept

References getDict(), and resourcesOfKind().

const PdfDict * PdfResources::findResource ( const PdfDict xf,
String  kind,
String  name 
) const
noexcept

References getDict().

const PdfObj * PdfResources::getDeep ( const PdfDict d,
String  key 
) const
noexcept

References ipe::PdfObj::ref(), and ipe::PdfRef::value().

Referenced by getDict().

const PdfDict * PdfResources::getDict ( const PdfDict d,
String  key 
) const
noexcept

References ipe::PdfObj::dict(), and getDeep().

Referenced by findResource().

void PdfResources::addPageNumber ( SPageNumber pn)
noexcept
const Text * PdfResources::pageNumber ( int  page,
int  view 
) const
noexcept

References ipe::Text::text().

const std::vector<int>& ipe::PdfResources::embedSequence ( ) const
inlinenoexcept

References show().

void PdfResources::show ( ) const
noexcept

The documentation for this class was generated from the following files:
  • iperesources.h
  • iperesources.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_string-members.html000644 000766 000000 00000014507 13022535406 025214 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfString Member List

This is the complete list of members for ipe::PdfString, including all inherited members.

array() const noexceptipe::PdfObjvirtual
boolean() const noexceptipe::PdfObjvirtual
decode() const noexceptipe::PdfString
dict() const noexceptipe::PdfObjvirtual
name() const noexceptipe::PdfObjvirtual
null() const noexceptipe::PdfObjvirtual
number() const noexceptipe::PdfObjvirtual
PdfString(const String &val, bool binary=false)ipe::PdfStringinlineexplicit
ref() const noexceptipe::PdfObjvirtual
repr() const noexceptipe::PdfObj
string() const noexceptipe::PdfStringvirtual
value() const noexceptipe::PdfStringinline
write(Stream &stream, const PdfRenumber *renumber, bool inflate) const noexceptipe::PdfStringvirtual
~PdfObj()=0ipe::PdfObjpure virtual

ipe-7.2.7/build/doc/classipe_1_1_pdf_string.html000644 000766 000000 00000036567 13022535406 023576 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfString Class Reference
ipe::PdfString Class Reference

#include <ipepdfparser.h>

Inherits ipe::PdfObj.

Public Member Functions

 PdfString (const String &val, bool binary=false)
 
virtual const PdfStringstring () const noexcept
 
virtual void write (Stream &stream, const PdfRenumber *renumber, bool inflate) const noexcept
 
String value () const noexcept
 
String decode () const noexcept
 
- Public Member Functions inherited from ipe::PdfObj
virtual ~PdfObj ()=0
 
virtual const PdfNullnull () const noexcept
 
virtual const PdfBoolboolean () const noexcept
 
virtual const PdfNumbernumber () const noexcept
 
virtual const PdfNamename () const noexcept
 
virtual const PdfRefref () const noexcept
 
virtual const PdfArrayarray () const noexcept
 
virtual const PdfDictdict () const noexcept
 
String repr () const noexcept
 

Detailed Description

The PDF string object.

Constructor & Destructor Documentation

ipe::PdfString::PdfString ( const String val,
bool  binary = false 
)
inlineexplicit

Member Function Documentation

const PdfString * PdfString::string ( ) const
virtualnoexcept

Return this object as PDF string object.

Reimplemented from ipe::PdfObj.

void PdfString::write ( Stream stream,
const PdfRenumber renumber,
bool  inflate 
) const
virtualnoexcept

Implements ipe::PdfObj.

String ipe::PdfString::value ( ) const
inlinenoexcept
String PdfString::decode ( ) const
noexcept

Return value of string after decoding binary strings.

References ipe::Lex::eos(), and ipe::Lex::getHexByte().

Referenced by ipe::CairoPainter::doDrawText().


The documentation for this class was generated from the following files:
  • ipepdfparser.h
  • ipepdfparser.cpp

ipe-7.2.7/build/doc/classipe_1_1_pdf_writer-members.html000644 000766 000000 00000010274 13022535406 025217 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PdfWriter Member List

This is the complete list of members for ipe::PdfWriter, including all inherited members.

createBookmarks()ipe::PdfWriter
createPages()ipe::PdfWriter
createPageView(int page, int view)ipe::PdfWriter
createTrailer()ipe::PdfWriter
createXmlStream(String xmldata, bool preCompressed)ipe::PdfWriter
PdfWriter(TellStream &stream, const Document *doc, const PdfResources *resources, bool markedView, int fromPage, int toPage, int compression)ipe::PdfWriter
~PdfWriter()ipe::PdfWriter

ipe-7.2.7/build/doc/classipe_1_1_pdf_writer.html000644 000766 000000 00000055725 13022535406 023601 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PdfWriter Class Reference
ipe::PdfWriter Class Reference

#include <ipepdfwriter.h>

Public Member Functions

 PdfWriter (TellStream &stream, const Document *doc, const PdfResources *resources, bool markedView, int fromPage, int toPage, int compression)
 
 ~PdfWriter ()
 
void createPages ()
 
void createPageView (int page, int view)
 
void createBookmarks ()
 
void createXmlStream (String xmldata, bool preCompressed)
 
void createTrailer ()
 

Detailed Description

Create PDF file.

This class is responsible for the creation of a PDF file from the Ipe data. You have to create a PdfWriter first, providing a file that has been opened for (binary) writing and is empty. Then call createPages() to embed the pages. Optionally, call createXmlStream to embed a stream with the XML representation of the document. Finally, call createTrailer to complete the PDF document, and close the file.

Some reserved PDF object numbers:

  • 0: Must be left empty (a PDF restriction).
  • 1: XML stream.
  • 2: Parent of all pages objects.
  • 3: ExtGState resource from pdflatex
  • 4: Shading resource from pdflatex
  • 5: Pattern resource from pdflatex
  • 6: ColorSpace resource from pdflatex

Constructor & Destructor Documentation

PdfWriter::PdfWriter ( TellStream stream,
const Document doc,
const PdfResources resources,
bool  markedView,
int  fromPage,
int  toPage,
int  compression 
)

Create a PDF writer operating on this (open and empty) file.

Referenced by ipe::PdfPainter::doDrawSymbol().

Member Function Documentation

void PdfWriter::createPages ( )

Create all PDF pages.

Referenced by ipe::Document::exportPages(), and ipe::Document::save().

void PdfWriter::createBookmarks ( )

Create the bookmarks (PDF outline).

References ipe::String::empty(), and ipe::PdfPainter::iStream.

Referenced by ipe::Document::save().

void PdfWriter::createXmlStream ( String  xmldata,
bool  preCompressed 
)

Create a stream containing the XML data.

References ipe::String::data(), ipe::PdfPainter::iStream, ipe::String::size(), and ipe::String::unicode().

Referenced by ipe::Document::save().


The documentation for this class was generated from the following files:
  • ipepdfwriter.h
  • ipepdfwriter.cpp

ipe-7.2.7/build/doc/classipe_1_1_platform-members.html000644 000766 000000 00000014024 13022535406 024673 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Platform Member List

This is the complete list of members for ipe::Platform, including all inherited members.

currentDirectory()ipe::Platformstatic
DebugHandler typedefipe::Platform
fileExists(String fname)ipe::Platformstatic
fopen(const char *fname, const char *mode)ipe::Platforminlinestatic
initLib(int version)ipe::Platformstatic
latexDirectory()ipe::Platformstatic
latexPath()ipe::Platformstatic
libVersion()ipe::Platformstatic
listDirectory(String path, std::vector< String > &files)ipe::Platformstatic
readFile(String fname)ipe::Platformstatic
runLatex(String dir, LatexType engine) noexceptipe::Platformstatic
setDebug(bool debug)ipe::Platformstatic
toDouble(String s)ipe::Platformstatic

ipe-7.2.7/build/doc/classipe_1_1_platform.html000644 000766 000000 00000061666 13022535406 023261 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Platform Class Reference

#include <ipebase.h>

Public Types

using DebugHandler = void(*)(const char *)
 

Static Public Member Functions

static FILE * fopen (const char *fname, const char *mode)
 
static int libVersion ()
 
static void initLib (int version)
 
static void setDebug (bool debug)
 
static String currentDirectory ()
 
static String latexDirectory ()
 
static String latexPath ()
 
static bool fileExists (String fname)
 
static bool listDirectory (String path, std::vector< String > &files)
 
static String readFile (String fname)
 
static int runLatex (String dir, LatexType engine) noexcept
 
static double toDouble (String s)
 

Detailed Description

Platform dependent methods.

Member Typedef Documentation

using ipe::Platform::DebugHandler = void (*)(const char *)

Member Function Documentation

static FILE* ipe::Platform::fopen ( const char *  fname,
const char *  mode 
)
inlinestatic
int Platform::libVersion ( )
static

Return the Ipelib version.

This is available as a function so that one can verify what version of Ipelib one has actually linked with (as opposed to the header files used during compilation).

References ipe::Repository::cleanup(), ipe::String::empty(), ipe::String::getLine(), ipe::IPELIB_VERSION, readFile(), ipe::String::size(), and ipe::String::z().

void Platform::initLib ( int  version)
static

Initialize Ipelib.

This method must be called before Ipelib is used.

It creates a LC_NUMERIC locale set to 'C', which is necessary for correct loading and saving of Ipe objects. The method also checks that the correct version of Ipelib is loaded, and aborts with an error message if the version is not correct. Also enables ipeDebug messages if environment variable IPEDEBUG is defined. (You can override this using setDebug).

References ipe::IPELIB_VERSION.

void Platform::setDebug ( bool  debug)
static

Enable or disable display of ipeDebug messages.

String Platform::currentDirectory ( )
static

Returns current working directory.

Returns empty string if something fails.

References fileExists(), ipe::String::left(), ipe::String::rfind(), and ipe::String::z().

String Platform::latexDirectory ( )
static

Returns directory for running Latex.

The directory is created if it does not exist. Returns an empty string if the directory cannot be found or cannot be created. The directory returned ends in the path separator.

References fileExists(), ipe::String::left(), ipe::String::right(), ipe::String::size(), and ipe::String::z().

Referenced by ipe::Document::runLatex().

String Platform::latexPath ( )
static

Return path for the directory containing pdflatex and xelatex.

If empty means look on PATH.

Referenced by runLatex().

bool Platform::fileExists ( String  fname)
static

Determine whether file exists.

References ipe::String::z().

Referenced by currentDirectory(), and latexDirectory().

bool Platform::listDirectory ( String  path,
std::vector< String > &  files 
)
static

List all files in directory.

Return true if successful, false on error.

References ipe::String::z().

String Platform::readFile ( String  fname)
static

Read entire file into string.

Returns an empty string if file cannot be found or read. There is no way to distinguish an empty file from this.

References ipe::String::append(), fopen(), and ipe::String::z().

Referenced by libVersion(), ipe::Bitmap::readJpeg(), and ipe::Document::runLatex().

int Platform::runLatex ( String  dir,
LatexType  engine 
)
staticnoexcept

Runs latex on file text.tex in given directory.

References ipe::String::empty(), fopen(), latexPath(), ipe::Luatex, ipe::String::String(), ipe::String::substr(), ipe::Xetex, and ipe::String::z().

Referenced by ipe::Document::runLatex().

double Platform::toDouble ( String  s)
static

The documentation for this class was generated from the following files:
  • ipebase.h
  • ipeplatform.cpp

ipe-7.2.7/build/doc/classipe_1_1_ps_painter-members.html000644 000766 000000 00000061520 13022535406 025216 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PsPainter Member List

This is the complete list of members for ipe::PsPainter, including all inherited members.

addClipPath()ipe::Painter
cascade() const ipe::Painterinline
closePath()ipe::Painter
curveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::Painter
curveTo(const Bezier &bezier)ipe::Painterinline
dashStyle() const ipe::Painterinline
dashStyle(std::vector< double > &dashes, double &offset) const ipe::Painter
doAddClipPath()ipe::PsPainterprotectedvirtual
doClosePath()ipe::PdfPainterprotectedvirtual
doCurveTo(const Vector &v1, const Vector &v2, const Vector &v3)ipe::PdfPainterprotectedvirtual
doDrawArc(const Arc &arc)ipe::Painterprotectedvirtual
doDrawBitmap(Bitmap bitmap)ipe::PsPainterprotectedvirtual
doDrawPath(TPathMode mode)ipe::PsPainterprotectedvirtual
doDrawSymbol(Attribute symbol)ipe::PdfPainterprotectedvirtual
doDrawText(const Text *text)ipe::PdfPainterprotectedvirtual
doLineTo(const Vector &v)ipe::PdfPainterprotectedvirtual
doMoveTo(const Vector &v)ipe::PdfPainterprotectedvirtual
doNewPath()ipe::PsPainterprotectedvirtual
doPop()ipe::PdfPainterprotectedvirtual
doPush()ipe::PdfPainterprotectedvirtual
drawArc(const Arc &arc)ipe::Painter
drawArcAsBezier(double alpha)ipe::Painterprotected
drawAttributes()ipe::PdfPainterprotected
drawBitmap(Bitmap bitmap)ipe::Painter
drawColor(Stream &stream, Color color, const char *gray, const char *rgb)ipe::PdfPainterstatic
drawEllipse()ipe::Painter
drawOpacity()ipe::PdfPainterprotected
drawPath(TPathMode mode)ipe::Painter
drawSymbol(Attribute symbol)ipe::Painter
drawText(const Text *text)ipe::Painter
fill() const ipe::Painterinline
fillRule() const ipe::Painterinline
gradient() const ipe::Painterinline
iActiveStateipe::PdfPainterprotected
iCascadeipe::Painterprotected
iInPathipe::Painterprotected
iMatrixipe::Painterprotected
iStateipe::Painterprotected
iStreamipe::PdfPainterprotected
lineCap() const ipe::Painterinline
lineJoin() const ipe::Painterinline
lineTo(const Vector &v)ipe::Painter
matrix() const ipe::Painterinline
moveTo(const Vector &v)ipe::Painter
newPath()ipe::Painter
opacity() const ipe::Painterinline
Painter(const Cascade *style)ipe::Painter
PdfPainter(const Cascade *style, Stream &stream)ipe::PdfPainter
pen() const ipe::Painterinline
pop()ipe::Painter
popMatrix()ipe::Painter
PsPainter(const Cascade *style, Stream &stream)ipe::PsPainter
push()ipe::Painter
pushMatrix()ipe::Painter
rect(const Rect &re)ipe::Painter
setDashStyle(Attribute dash)ipe::Painter
setFill(Attribute color)ipe::Painter
setFillRule(TFillRule rule)ipe::Painter
setGradient(Attribute grad)ipe::Painter
setLineCap(TLineCap cap)ipe::Painter
setLineJoin(TLineJoin join)ipe::Painter
setOpacity(Attribute opaq)ipe::Painter
setPen(Attribute pen)ipe::Painter
setState(const State &state)ipe::Painter
setStroke(Attribute color)ipe::Painter
setSymFill(Attribute color)ipe::Painter
setSymPen(Attribute wid)ipe::Painter
setSymStroke(Attribute color)ipe::Painter
setTiling(Attribute til)ipe::Painter
state() const ipe::Painterinline
stroke() const ipe::Painterinline
symFill() const ipe::Painterinline
symPen() const ipe::Painterinline
symStroke() const ipe::Painterinline
tiling() const ipe::Painterinline
transform(const Matrix &m)ipe::Painter
translate(const Vector &v)ipe::Painter
untransform(TTransformations trans)ipe::Painter
~Painter()ipe::Paintervirtual
~PdfPainter()ipe::PdfPainterinlinevirtual
~PsPainter()ipe::PsPainter

ipe-7.2.7/build/doc/classipe_1_1_ps_painter.html000644 000766 000000 00000145467 13022535406 023603 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PsPainter Class Reference

#include <ipepswriter.h>

Inherits ipe::PdfPainter.

Public Member Functions

 PsPainter (const Cascade *style, Stream &stream)
 
 ~PsPainter ()
 
- Public Member Functions inherited from ipe::PdfPainter
 PdfPainter (const Cascade *style, Stream &stream)
 
virtual ~PdfPainter ()
 
- Public Member Functions inherited from ipe::Painter
 Painter (const Cascade *style)
 
virtual ~Painter ()
 
void transform (const Matrix &m)
 
void untransform (TTransformations trans)
 
void translate (const Vector &v)
 
void push ()
 
void pop ()
 
void pushMatrix ()
 
void popMatrix ()
 
void newPath ()
 
void moveTo (const Vector &v)
 
void lineTo (const Vector &v)
 
void curveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
void curveTo (const Bezier &bezier)
 
void rect (const Rect &re)
 
void drawEllipse ()
 
void drawArc (const Arc &arc)
 
void closePath ()
 
void drawPath (TPathMode mode)
 
void drawBitmap (Bitmap bitmap)
 
void drawText (const Text *text)
 
void drawSymbol (Attribute symbol)
 
void addClipPath ()
 
void setStroke (Attribute color)
 
void setFill (Attribute color)
 
void setPen (Attribute pen)
 
void setDashStyle (Attribute dash)
 
void setLineCap (TLineCap cap)
 
void setLineJoin (TLineJoin join)
 
void setFillRule (TFillRule rule)
 
void setSymStroke (Attribute color)
 
void setSymFill (Attribute color)
 
void setSymPen (Attribute wid)
 
void setOpacity (Attribute opaq)
 
void setTiling (Attribute til)
 
void setGradient (Attribute grad)
 
const Cascadecascade () const
 
Color stroke () const
 
Color fill () const
 
const Matrixmatrix () const
 
Fixed pen () const
 
String dashStyle () const
 
void dashStyle (std::vector< double > &dashes, double &offset) const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
Color symStroke () const
 
Color symFill () const
 
Fixed symPen () const
 
Fixed opacity () const
 
Attribute tiling () const
 
Attribute gradient () const
 
const Statestate () const
 
void setState (const State &state)
 

Protected Member Functions

virtual void doNewPath ()
 
virtual void doDrawPath (TPathMode mode)
 
virtual void doDrawBitmap (Bitmap bitmap)
 
virtual void doAddClipPath ()
 
- Protected Member Functions inherited from ipe::PdfPainter
virtual void doPush ()
 
virtual void doPop ()
 
virtual void doMoveTo (const Vector &v)
 
virtual void doLineTo (const Vector &v)
 
virtual void doCurveTo (const Vector &v1, const Vector &v2, const Vector &v3)
 
virtual void doClosePath ()
 
virtual void doDrawText (const Text *text)
 
virtual void doDrawSymbol (Attribute symbol)
 
void drawAttributes ()
 
void drawOpacity ()
 
- Protected Member Functions inherited from ipe::Painter
virtual void doDrawArc (const Arc &arc)
 
void drawArcAsBezier (double alpha)
 

Additional Inherited Members

- Static Public Member Functions inherited from ipe::PdfPainter
static void drawColor (Stream &stream, Color color, const char *gray, const char *rgb)
 
- Protected Attributes inherited from ipe::PdfPainter
StreamiStream
 
std::list< StateiActiveState
 
- Protected Attributes inherited from ipe::Painter
std::list< StateiState
 
std::list< MatrixiMatrix
 
const CascadeiCascade
 
int iInPath
 

Constructor & Destructor Documentation

ipe::PsPainter::PsPainter ( const Cascade style,
Stream stream 
)
ipe::PsPainter::~PsPainter ( )

Member Function Documentation

virtual void ipe::PsPainter::doNewPath ( )
protectedvirtual

Perform new path operator.

Reimplemented from ipe::PdfPainter.

virtual void ipe::PsPainter::doDrawPath ( TPathMode  mode)
protectedvirtual

Actually draw the path.

Reimplemented from ipe::PdfPainter.

virtual void ipe::PsPainter::doDrawBitmap ( Bitmap  bitmap)
protectedvirtual

Draw a bitmap.

Reimplemented from ipe::PdfPainter.

virtual void ipe::PsPainter::doAddClipPath ( )
protectedvirtual

Add a clip path.

Reimplemented from ipe::PdfPainter.


The documentation for this class was generated from the following file:
  • ipepswriter.h

ipe-7.2.7/build/doc/classipe_1_1_ps_writer-members.html000644 000766 000000 00000007513 13022535406 025072 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::PsWriter Member List

This is the complete list of members for ipe::PsWriter, including all inherited members.

createHeader(int pno=0, int vno=0)ipe::PsWriter
createPageView(int pno=0, int vno=0)ipe::PsWriter
createTrailer()ipe::PsWriter
createXml(int compressLevel)ipe::PsWriter
PsWriter(TellStream &stream, const Document *doc, bool noColor)ipe::PsWriter
~PsWriter()ipe::PsWriter

ipe-7.2.7/build/doc/classipe_1_1_ps_writer.html000644 000766 000000 00000021314 13022535406 023435 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::PsWriter Class Reference
ipe::PsWriter Class Reference

#include <ipepswriter.h>

Public Member Functions

 PsWriter (TellStream &stream, const Document *doc, bool noColor)
 
 ~PsWriter ()
 
bool createHeader (int pno=0, int vno=0)
 
void createPageView (int pno=0, int vno=0)
 
void createXml (int compressLevel)
 
void createTrailer ()
 

Constructor & Destructor Documentation

ipe::PsWriter::PsWriter ( TellStream stream,
const Document doc,
bool  noColor 
)
ipe::PsWriter::~PsWriter ( )

Member Function Documentation

bool ipe::PsWriter::createHeader ( int  pno = 0,
int  vno = 0 
)
void ipe::PsWriter::createPageView ( int  pno = 0,
int  vno = 0 
)
void ipe::PsWriter::createXml ( int  compressLevel)
void ipe::PsWriter::createTrailer ( )

The documentation for this class was generated from the following file:
  • ipepswriter.h

ipe-7.2.7/build/doc/classipe_1_1_rect-members.html000644 000766 000000 00000021345 13022535406 024010 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Rect Member List

This is the complete list of members for ipe::Rect, including all inherited members.

addPoint(const Vector &rhs)ipe::Rect
addRect(const Rect &rhs)ipe::Rect
bottom() const ipe::Rectinline
bottomLeft() const ipe::Rectinline
bottomRight() const ipe::Rectinline
center() const ipe::Rectinline
certainClearance(const Vector &v, double bound) const ipe::Rect
clear()ipe::Rectinline
clipTo(const Rect &rhs)ipe::Rect
contains(const Vector &rhs) const ipe::Rect
contains(const Rect &rhs) const ipe::Rect
height() const ipe::Rectinline
intersects(const Rect &rhs) const ipe::Rect
isEmpty() const ipe::Rectinline
left() const ipe::Rectinline
operator<<(Stream &stream, const Rect &rhs)ipe::Rectrelated
Rect()ipe::Rectinlineexplicit
Rect(const Vector &c)ipe::Rectinlineexplicit
Rect(const Vector &c1, const Vector &c2)ipe::Rectexplicit
right() const ipe::Rectinline
top() const ipe::Rectinline
topLeft() const ipe::Rectinline
topRight() const ipe::Rectinline
width() const ipe::Rectinline

ipe-7.2.7/build/doc/classipe_1_1_rect.html000644 000766 000000 00000123006 13022535406 022355 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Rect Class Reference

#include <ipegeo.h>

Public Member Functions

 Rect ()
 
 Rect (const Vector &c)
 
 Rect (const Vector &c1, const Vector &c2)
 
void clear ()
 
int isEmpty () const
 
double left () const
 
double right () const
 
double bottom () const
 
double top () const
 
Vector topRight () const
 
Vector bottomLeft () const
 
Vector topLeft () const
 
Vector bottomRight () const
 
Vector center () const
 
double width () const
 
double height () const
 
void addPoint (const Vector &rhs)
 
void addRect (const Rect &rhs)
 
void clipTo (const Rect &rhs)
 
bool contains (const Vector &rhs) const
 
bool contains (const Rect &rhs) const
 
bool certainClearance (const Vector &v, double bound) const
 
bool intersects (const Rect &rhs) const
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Rect &rhs)
 

Detailed Description

Axis-parallel rectangle (which can be empty)

Constructor & Destructor Documentation

ipe::Rect::Rect ( )
inlineexplicit

Create empty rectangle.

Referenced by ipe::Vector::snap().

ipe::Rect::Rect ( const Vector c)
inlineexplicit

Create rectangle containing just the point c.

Rect::Rect ( const Vector c1,
const Vector c2 
)
explicit

Create rectangle containing points c1 and c2.

Member Function Documentation

void ipe::Rect::clear ( )
inline

Make rectangle empty.

Referenced by ipe::BBoxPainter::doNewPath().

int ipe::Rect::isEmpty ( ) const
inline
double ipe::Rect::left ( ) const
inline

Return left side.

double ipe::Rect::right ( ) const
inline

Return right side.

double ipe::Rect::bottom ( ) const
inline

Return bottom side.

double ipe::Rect::top ( ) const
inline

Return top side.

Vector ipe::Rect::bottomRight ( ) const
inline
Vector ipe::Rect::center ( ) const
inline

Return center of rectangle.

Referenced by ipe::Group::draw().

double ipe::Rect::width ( ) const
inline
double ipe::Rect::height ( ) const
inline
void Rect::addRect ( const Rect rhs)
void Rect::clipTo ( const Rect cbox)

Clip rectangle to fit inside cbox.

Does nothing if either rectangle is empty.

References isEmpty(), ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::Group::addToBBox(), ipe::BBoxPainter::doDrawBitmap(), ipe::BBoxPainter::doDrawPath(), and ipe::BBoxPainter::doDrawText().

bool Rect::contains ( const Vector rhs) const

Does (closed) rectangle contain the point?

References ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::SelectTool::mouseButton().

bool Rect::contains ( const Rect rhs) const

Does rectangle contain other rectangle?

References isEmpty(), ipe::Vector::x, and ipe::Vector::y.

bool Rect::certainClearance ( const Vector v,
double  bound 
) const

Returns false if the distance between the box and v is smaller than bound. Often returns true if their distance is larger than bound.

References bottomLeft(), topRight(), ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::Image::distance(), ipe::Bezier::distance(), and ipe::Bezier::snap().

bool Rect::intersects ( const Rect rhs) const

Does rectangle intersect other rectangle?

References isEmpty(), ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::SelectTool::mouseButton(), and ipe::Bezier::snap().

Friends And Related Function Documentation

Stream & operator<< ( Stream stream,
const Rect rhs 
)
related

The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_reference-members.html000644 000766 000000 00000051176 13022535406 025016 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Reference Member List

This is the complete list of members for ipe::Reference, including all inherited members.

accept(Visitor &visitor) const ipe::Referencevirtual
addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Referencevirtual
asGroup()ipe::Objectvirtual
asGroup() const ipe::Objectvirtual
asImage()ipe::Objectvirtual
asPath()ipe::Objectvirtual
asReference()ipe::Referencevirtual
asText()ipe::Objectvirtual
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Referencevirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clone() const ipe::Referencevirtual
distance(const Vector &v, const Matrix &m, double bound) const ipe::Referencevirtual
draw(Painter &painter) const ipe::Referencevirtual
drawSimple(Painter &painter) const ipe::Referencevirtual
EGroup enum valueipe::Object
EHasFill enum valueipe::Reference
EHasPen enum valueipe::Reference
EHasSize enum valueipe::Reference
EHasStroke enum valueipe::Reference
EImage enum valueipe::Object
EIsArrow enum valueipe::Reference
EIsMark enum valueipe::Reference
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
fill() const ipe::Referenceinline
flags() const ipe::Referenceinline
flagsFromName(String name)ipe::Referencestatic
getAttribute(Property prop) const noexceptipe::Referencevirtual
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
iTransformationsipe::Objectprotected
matrix() const ipe::Objectinline
name() const ipe::Referenceinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
pen() const ipe::Referenceinline
pinned() const ipe::Objectvirtual
position() const ipe::Referenceinline
Reference(const AllAttributes &attr, Attribute name, Vector pos)ipe::Referenceexplicit
Reference(const XmlAttributes &attr, String data)ipe::Referenceexplicit
saveAsXml(Stream &stream, String layer) const ipe::Referencevirtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
setAttribute(Property prop, Attribute value)ipe::Referencevirtual
setFill(Attribute color)ipe::Reference
setMatrix(const Matrix &matrix)ipe::Object
setName(Attribute name)ipe::Reference
setPen(Attribute pen)ipe::Reference
setPinned(TPinned pin)ipe::Object
setSize(Attribute size)ipe::Reference
setStroke(Attribute color)ipe::Reference
setTransformations(TTransformations trans)ipe::Object
size() const ipe::Referenceinline
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Referencevirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Referencevirtual
stroke() const ipe::Referenceinline
transformations() const ipe::Objectinline
Type enum nameipe::Object
type() const ipe::Referencevirtual
~Object()=0ipe::Objectpure virtual

ipe-7.2.7/build/doc/classipe_1_1_reference.html000644 000766 000000 00000241505 13022535406 023363 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Reference Class Reference

#include <ipereference.h>

Inherits ipe::Object.

Public Types

enum  {
  EHasStroke = 0x001, EHasFill = 0x002, EHasPen = 0x004, EHasSize = 0x008,
  EIsMark = 0x010, EIsArrow = 0x020
}
 
- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 

Public Member Functions

 Reference (const AllAttributes &attr, Attribute name, Vector pos)
 
 Reference (const XmlAttributes &attr, String data)
 
virtual Objectclone () const
 
virtual ReferenceasReference ()
 
virtual Type type () const
 
virtual void accept (Visitor &visitor) const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 
void setName (Attribute name)
 
Attribute name () const
 
void setStroke (Attribute color)
 
Attribute stroke () const
 
void setFill (Attribute color)
 
Attribute fill () const
 
Attribute pen () const
 
void setPen (Attribute pen)
 
void setSize (Attribute size)
 
Attribute size () const
 
Vector position () const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
uint flags () const
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual TextasText ()
 
virtual PathasPath ()
 
virtual ImageasImage ()
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 

Static Public Member Functions

static uint flagsFromName (String name)
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::Object
 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 
- Static Protected Member Functions inherited from ipe::Object
static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 
- Protected Attributes inherited from ipe::Object
Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

The reference object.

A Reference uses a symbol, that is, an object defined in an Ipe StyleSheet. The object is defined as a named symbol in the style sheet, and can be reused arbitrarily often in the document. This can, for instance, be used for backgrounds on multi-page documents.

It is admissible to refer to an undefined object (that is, the current style sheet cascade does not define a symbol with the given name). Nothing will be drawn in this case.

The Reference has a stroke, fill, and pen attribute. When drawing a symbol, these attributes are made available to the symbol through the names "sym-stroke", "sym-fill", and "sym-pen". These are not defined by the style sheet, but resolved by the Painter when the symbol sets its attributes.

Note that it is not possible to determine whether a symbol is filled from the Reference object.

The size attribute is of type ESymbolSize, and indicates a magnification factor applied to the symbol. This magnification is applied after the untransformation indicated in the Reference and in the Symbol has been performed, so that symbols are magnified even if they specify ETransformationsTranslations.

The size is meant for symbols such as marks, that can be shown in different sizes. Another application of symbols is for backgrounds and logos. Their size should not be changed when the user changes the symbolsize for the entire page. For such symbols, the size attribute of the Reference should be set to the absolute value zero. This means that no magnification is applied to the object, and it also stops setAttribute() from modifying the size. (The size can still be changed using setSize(), but this is not available from Lua.)

Member Enumeration Documentation

anonymous enum
Enumerator
EHasStroke 
EHasFill 
EHasPen 
EHasSize 
EIsMark 
EIsArrow 

Constructor & Destructor Documentation

Reference::Reference ( const AllAttributes attr,
Attribute  name,
Vector  pos 
)
explicit

Create a reference to the named object in stylesheet.

Referenced by clone().

Member Function Documentation

Object * Reference::clone ( ) const
virtual

Clone object.

Implements ipe::Object.

References Reference().

Reference * Reference::asReference ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Reference::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EReference.

void Reference::accept ( Visitor visitor) const
virtual

Call visitReference of visitor.

Implements ipe::Object.

References ipe::Visitor::visitReference().

void Reference::saveAsXml ( Stream stream,
String  layer 
) const
virtual
void Reference::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

This only adds the position to the box.

Implements ipe::Object.

References ipe::Rect::addPoint(), and ipe::Object::matrix().

double Reference::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

References ipe::Object::matrix().

void Reference::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute vertex snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Object::matrix().

void Reference::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute boundary snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

void Reference::checkStyle ( const Cascade sheet,
AttributeSeq seq 
) const
virtual

Check all symbolic attributes.

Reimplemented from ipe::Object.

References ipe::Object::checkSymbol(), ipe::EColor, EHasFill, ipe::EPen, ipe::ESymbolSize, and ipe::Cascade::findSymbol().

void Reference::setName ( Attribute  name)

Set name of symbol referenced.

References flagsFromName(), name(), and ipe::Attribute::string().

Referenced by setAttribute().

Attribute ipe::Reference::name ( ) const
inline

Return symbolic name.

References setStroke().

Referenced by flags(), getAttribute(), setAttribute(), and setName().

void Reference::setStroke ( Attribute  color)

Set stroke color.

Referenced by name(), and setAttribute().

Attribute ipe::Reference::stroke ( ) const
inline

Return stroke color.

References setFill().

Referenced by getAttribute(), and setAttribute().

void Reference::setFill ( Attribute  color)

Set fill color.

Referenced by setAttribute(), and stroke().

Attribute ipe::Reference::fill ( ) const
inline

Return fill color.

Referenced by getAttribute(), and setAttribute().

Attribute ipe::Reference::pen ( ) const
inline

Return pen.

References setPen(), setSize(), and size().

Referenced by getAttribute(), setAttribute(), and setPen().

void Reference::setPen ( Attribute  pen)

Set pen.

References pen().

Referenced by pen(), and setAttribute().

void Reference::setSize ( Attribute  size)

Set size (magnification) of symbol.

References size().

Referenced by pen(), and setAttribute().

Attribute ipe::Reference::size ( ) const
inline

Return symbol size.

Referenced by drawSimple(), getAttribute(), pen(), setAttribute(), and setSize().

Vector ipe::Reference::position ( ) const
inline

Return position of symbol on page.

References getAttribute(), and setAttribute().

bool Reference::setAttribute ( Property  prop,
Attribute  value 
)
virtual

Set an attribute on this object.

Returns true if an attribute was actually changed.

Reimplemented from ipe::Object.

References EHasFill, EIsMark, ipe::EPropFillColor, ipe::EPropMarkShape, ipe::EPropPen, ipe::EPropStrokeColor, ipe::EPropSymbolSize, fill(), name(), pen(), ipe::Object::setAttribute(), setFill(), setName(), setPen(), setSize(), setStroke(), size(), and stroke().

Referenced by position().

Attribute Reference::getAttribute ( Property  prop) const
virtualnoexcept

Get setting of an attribute of this object.

If object does not have this attribute, returnes "undefined" attribute.

Reimplemented from ipe::Object.

References EHasFill, EIsMark, ipe::EPropFillColor, ipe::EPropMarkShape, ipe::EPropPen, ipe::EPropStrokeColor, ipe::EPropSymbolSize, fill(), ipe::Object::getAttribute(), name(), pen(), size(), and stroke().

Referenced by position().

uint ipe::Reference::flags ( ) const
inline

References flagsFromName(), and name().

Referenced by flagsFromName().


The documentation for this class was generated from the following files:
  • ipereference.h
  • ipereference.cpp

ipe-7.2.7/build/doc/classipe_1_1_repository-members.html000644 000766 000000 00000006502 13022535406 025270 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Repository Member List

This is the complete list of members for ipe::Repository, including all inherited members.

cleanup()ipe::Repositorystatic
get()ipe::Repositorystatic
toIndex(String str)ipe::Repository
toString(int index) const ipe::Repository

ipe-7.2.7/build/doc/classipe_1_1_repository.html000644 000766 000000 00000022307 13022535406 023641 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Repository Class Reference

#include <ipeattributes.h>

Public Member Functions

String toString (int index) const
 
int toIndex (String str)
 

Static Public Member Functions

static Repositoryget ()
 
static void cleanup ()
 

Detailed Description

Repository of strings.

Ipe documents can use symbolic attributes, such as 'normal', 'fat', or 'thin' for line thickness, or 'red', 'navy', 'turquoise' for color, as well as absolute attributes such as "[3 1] 0" for a dash pattern. To avoid storing these common strings hundreds of times, Repository keeps a repository of strings. Inside an Object, strings are replaced by indices into the repository.

The Repository is a singleton object. It is created the first time it is used. You obtain access to the repository using get().

Member Function Documentation

Repository * Repository::get ( )
static
void Repository::cleanup ( )
static

Destroy repository object.

Referenced by ipe::Platform::libVersion().

String Repository::toString ( int  index) const

Return string with given index.

Referenced by ipe::StyleSheet::saveAsXml(), and ipe::Attribute::string().

int Repository::toIndex ( String  str)

Return index of given string.

The string is added to the repository if it doesn't exist yet.

References ipe::String::empty().

Referenced by ipe::Attribute::Attribute().


The documentation for this class was generated from the following files:
  • ipeattributes.h
  • ipeattributes.cpp

ipe-7.2.7/build/doc/classipe_1_1_segment-members.html000644 000766 000000 00000012442 13022535406 024513 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Segment Member List

This is the complete list of members for ipe::Segment, including all inherited members.

distance(const Vector &v, double bound) const ipe::Segment
distance(const Vector &v) const ipe::Segment
intersects(const Segment &seg, Vector &pt) const ipe::Segment
intersects(const Line &l, Vector &pt) const ipe::Segment
iPipe::Segment
iQipe::Segment
line() const ipe::Segmentinline
project(const Vector &v, Vector &projection) const ipe::Segment
Segment()ipe::Segmentinline
Segment(const Vector &p, const Vector &q)ipe::Segmentinlineexplicit
snap(const Vector &mouse, Vector &pos, double &bound) const ipe::Segment

ipe-7.2.7/build/doc/classipe_1_1_segment.html000644 000766 000000 00000046557 13022535406 023101 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Segment Class Reference

#include <ipegeo.h>

Public Member Functions

 Segment ()
 
 Segment (const Vector &p, const Vector &q)
 
Line line () const
 
double distance (const Vector &v, double bound) const
 
double distance (const Vector &v) const
 
bool project (const Vector &v, Vector &projection) const
 
bool intersects (const Segment &seg, Vector &pt) const
 
bool intersects (const Line &l, Vector &pt) const
 
bool snap (const Vector &mouse, Vector &pos, double &bound) const
 

Public Attributes

Vector iP
 
Vector iQ
 

Detailed Description

A directed line segment.

Constructor & Destructor Documentation

ipe::Segment::Segment ( )
inline

Create uninitialized segment.

ipe::Segment::Segment ( const Vector p,
const Vector q 
)
inlineexplicit

Member Function Documentation

Line ipe::Segment::line ( ) const
inline

Return directed line supporting the segment.

Referenced by ipe::Arc::intersect(), intersects(), and ipe::Snap::setEdge().

double Segment::distance ( const Vector v,
double  bound 
) const

Returns distance between segment and point v, but may just return bound when its larger than bound.

Referenced by ipe::CurveSegment::distance().

double Segment::distance ( const Vector v) const

Returns distance between segment and point v

References ipe::Vector::factorize().

bool Segment::project ( const Vector v,
Vector projection 
) const

Project point v orthogonally on segment. Returns false if the point falls outside the segment.

References ipe::Vector::factorize().

Referenced by ipe::Bezier::snap().

bool Segment::intersects ( const Segment seg,
Vector pt 
) const

Compute intersection point. Return false if segs don't intersect.

References iP, iQ, and line().

Referenced by ipe::Bezier::intersect(), and ipe::Bezier::snap().

bool Segment::intersects ( const Line l,
Vector pt 
) const

Compute intersection point. Return false if no intersection.

bool Segment::snap ( const Vector mouse,
Vector pos,
double &  bound 
) const

Snap mouse position to this segment.

If distance between mouse and the segment is less than bound, then set pos to the point on the segment, bound to the distance, and return true.

References ipe::Linear::Linear(), and ipe::Vector::snap().

Referenced by ipe::CurveSegment::snapBnd().

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_select_tool-members.html000644 000766 000000 00000011670 13022535406 025367 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::SelectTool Member List

This is the complete list of members for ipe::SelectTool, including all inherited members.

draw(Painter &painter) const ipe::SelectToolvirtual
iCanvasipe::Toolprotected
key(String text, int modifiers)ipe::SelectToolvirtual
mouseButton(int button, bool press)ipe::SelectToolvirtual
mouseMove()ipe::SelectToolvirtual
SelectTool(CanvasBase *canvas, Page *page, int view, double selectDistance, bool nonDestructive)ipe::SelectTool
snapVtx(const Vector &mouse, Vector &pos, double &bound, bool cp) const ipe::Toolvirtual
Tool(CanvasBase *canvas)ipe::Toolprotected
~Tool()ipe::Toolvirtual

ipe-7.2.7/build/doc/classipe_1_1_select_tool.html000644 000766 000000 00000047713 13022535406 023746 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::SelectTool Class Reference
ipe::SelectTool Class Reference

#include <ipetool.h>

Inherits ipe::Tool.

Classes

struct  SObj
 

Public Member Functions

 SelectTool (CanvasBase *canvas, Page *page, int view, double selectDistance, bool nonDestructive)
 
virtual void draw (Painter &painter) const
 
virtual void mouseButton (int button, bool press)
 
virtual void mouseMove ()
 
virtual bool key (String text, int modifiers)
 
- Public Member Functions inherited from ipe::Tool
virtual ~Tool ()
 
virtual void snapVtx (const Vector &mouse, Vector &pos, double &bound, bool cp) const
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::Tool
 Tool (CanvasBase *canvas)
 
- Protected Attributes inherited from ipe::Tool
CanvasBaseiCanvas
 

Detailed Description

A tool for selecting objects.

Constructor & Destructor Documentation

Member Function Documentation

void SelectTool::mouseButton ( int  button,
bool  press 
)
virtual
void SelectTool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented from ipe::Tool.

References ipe::Tool::iCanvas, ipe::CanvasBase::unsnappedPos(), and ipe::CanvasBase::updateTool().

bool SelectTool::key ( String  text,
int  modifiers 
)
virtual

Called when a key is pressed.

modifiers are as defined in CanvasBase::TModifiers.

Reimplemented from ipe::Tool.

References ipe::CanvasBase::finishTool(), ipe::Tool::iCanvas, and ipe::CanvasBase::updateTool().


The documentation for this class was generated from the following files:
  • ipetool.h
  • ipetool.cpp

ipe-7.2.7/build/doc/classipe_1_1_shape-members.html000644 000766 000000 00000016653 13022535406 024161 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Shape Member List

This is the complete list of members for ipe::Shape, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const ipe::Shape
appendSubPath(SubPath *sp)ipe::Shape
countSubPaths() const ipe::Shapeinline
distance(const Vector &v, const Matrix &m, double bound) const ipe::Shape
draw(Painter &painter) const ipe::Shape
isSegment() const ipe::Shape
load(String data)ipe::Shape
operator=(const Shape &rhs)ipe::Shape
save(Stream &stream) const ipe::Shape
Shape()ipe::Shape
Shape(const Rect &rect)ipe::Shapeexplicit
Shape(const Segment &seg)ipe::Shapeexplicit
Shape(const Vector &center, double radius)ipe::Shapeexplicit
Shape(const Vector &center, double radius, double alpha0, double alpha1)ipe::Shapeexplicit
Shape(const Shape &rhs)ipe::Shape
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Shape
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const ipe::Shape
subPath(int i) const ipe::Shapeinline
~Shape()ipe::Shape

ipe-7.2.7/build/doc/classipe_1_1_shape.html000644 000766 000000 00000110151 13022535406 022515 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Shape Class Reference

#include <ipeshape.h>

Public Member Functions

 Shape ()
 
 Shape (const Rect &rect)
 
 Shape (const Segment &seg)
 
 Shape (const Vector &center, double radius)
 
 Shape (const Vector &center, double radius, double alpha0, double alpha1)
 
 ~Shape ()
 
 Shape (const Shape &rhs)
 
Shapeoperator= (const Shape &rhs)
 
bool load (String data)
 
void save (Stream &stream) const
 
void addToBBox (Rect &box, const Matrix &m, bool cp) const
 
double distance (const Vector &v, const Matrix &m, double bound) const
 
void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const
 
void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
int countSubPaths () const
 
const SubPathsubPath (int i) const
 
bool isSegment () const
 
void appendSubPath (SubPath *sp)
 
void draw (Painter &painter) const
 

Detailed Description

A geometric shape, consisting of several (open or closed) subpaths.

This class represents vector graphics geometry following the PDF "path", but is actually a bit more complicated since we add new subtypes: arcs, parabolas, uniform B-splines (in PDF, all of these are converted to cubic Bezier splines).

A Shape consists of a set of subpaths (SubPath), each of which is either open or closed, and which are rendered by stroking and filling as a whole. The distinction between open and closed is meaningful for stroking only, for filling any open subpath is implicitely closed. Stroking a set of subpaths is identical to stroking them individually. This is not true for filling: using several subpaths, one can construct objects with holes, and more complicated pattern.

A subpath is either an Ellipse (a complete, closed ellipse), a ClosedSpline (a closed uniform B-spline curve), or a Curve. A curve consists of a sequence of segments. Segments are either straight, a quadratic Bezier spline, a cubic Bezier spline, an elliptic arc, or a uniform cubic B-spline.

Shape is implemented using reference counting and can be copied and passed by value efficiently. The only mutator methods are appendSubPath() and load(), which can only be called during construction of the Shape (that is, before its implementation has been shared).

Constructor & Destructor Documentation

Shape::Shape ( )

Construct an empty shape (zero subpaths).

Referenced by ipe::ClosedSpline::snapBnd().

Shape::Shape ( const Rect rect)
explicit
Shape::Shape ( const Segment seg)
explicit

Convenience function: create a single line segment.

References ipe::Curve::appendSegment(), ipe::Segment::iP, and ipe::Segment::iQ.

Shape::Shape ( const Vector center,
double  radius 
)
explicit

Convenience function: create circle with center and radius.

References ipe::Ellipse::Ellipse(), ipe::Vector::x, and ipe::Vector::y.

Shape::Shape ( const Vector center,
double  radius,
double  alpha0,
double  alpha1 
)
explicit

Convenience function: create circular arc.

If alpha1 is larger than alpha0, the arc is oriented positively, otherwise negatively.

References ipe::Curve::appendArc(), ipe::Vector::x, and ipe::Vector::y.

Shape::~Shape ( )

Destructor (takes care of reference counting).

Shape::Shape ( const Shape rhs)

Copy constructor (constant time).

Member Function Documentation

Shape & Shape::operator= ( const Shape rhs)

Assignment operator (constant-time).

bool Shape::load ( String  data)

Create a Shape from XML data.

Appends subpaths from XML data to the current Shape. Returns false if the path syntax is incorrect (the Shape will be in an inconsistent state and must be discarded).

This method can only be used during construction of the Shape. It will panic if the implementation has been shared.

References ipe::Curve::appendArc(), ipe::Curve::appendOldSpline(), ipe::Curve::appendSegment(), ipe::Curve::appendSpline(), ipe::Matrix::determinant(), ipe::Ellipse::Ellipse(), ipe::Lex::eos(), ipe::Lex::nextToken(), ipe::Curve::setClosed(), ipe::Lex::skipWhitespace(), ipe::Lex::token(), and ipe::Ellipse::type().

Referenced by ipe::Group::Group().

void Shape::save ( Stream stream) const

Save Shape onto XML stream.

Referenced by ipe::Group::saveAsXml(), and ipe::Path::saveAsXml().

void Shape::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const

Add shape (transformed by m) to box.

Referenced by ipe::Path::addToBBox().

double Shape::distance ( const Vector v,
const Matrix m,
double  bound 
) const

Referenced by ipe::Path::distance().

void Shape::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  cp 
) const
void Shape::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const

Referenced by ipe::Path::snapBnd().

int ipe::Shape::countSubPaths ( ) const
inline

Return number of subpaths.

Referenced by ipe::Path::clone(), and ipe::Group::saveAsXml().

const SubPath* ipe::Shape::subPath ( int  i) const
inline

Return subpath.

References ipe::CurveSegment::draw().

Referenced by ipe::Path::clone(), and ipe::Path::draw().

void Shape::appendSubPath ( SubPath sp)

Append a SubPath to shape.

The Shape will take ownership of the subpath. This method can only be used during construction of the Shape. It will panic if the implementation has been shared.

void Shape::draw ( Painter painter) const

Draw the Shape as a path to painter.

Does not call newPath() on painter.

References ipe::Matrix::a, ipe::Vector::x, and ipe::Vector::y.

Referenced by ipe::Path::draw(), and ipe::Path::drawSimple().


The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_snap-members.html000644 000766 000000 00000020607 13022535406 024014 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Snap Member List

This is the complete list of members for ipe::Snap, including all inherited members.

ESnapAngle enum valueipe::Snap
ESnapAuto enum valueipe::Snap
ESnapBd enum valueipe::Snap
ESnapCtl enum valueipe::Snap
ESnapGrid enum valueipe::Snap
ESnapInt enum valueipe::Snap
ESnapNone enum valueipe::Snap
ESnapVtx enum valueipe::Snap
getLine(const Vector &mouse, const Vector &base) const noexceptipe::Snap
iAngleSizeipe::Snap
iDiripe::Snap
iGridSizeipe::Snap
iGridVisibleipe::Snap
intersectionSnap(const Vector &pos, Vector &fifi, const Page *page, int view, double &snapDist) const noexceptipe::Snap
iOriginipe::Snap
iSnapipe::Snap
iSnapDistanceipe::Snap
iWithAxesipe::Snap
setEdge(const Vector &pos, const Page *page, int view) noexceptipe::Snap
simpleSnap(Vector &pos, const Page *page, int view, double snapDist, Tool *tool=0) const noexceptipe::Snap
snap(Vector &pos, const Page *page, int view, double snapDist, Tool *tool=0, Vector *autoOrg=0) const noexceptipe::Snap
snapAngularIntersection(Vector &pos, const Line &l, const Page *page, int view, double snapDist) const noexceptipe::Snap
TSnapModes enum nameipe::Snap

ipe-7.2.7/build/doc/classipe_1_1_snap.html000644 000766 000000 00000071716 13022535406 022373 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Snap Class Reference

#include <ipesnap.h>

Public Types

enum  TSnapModes {
  ESnapNone = 0, ESnapVtx = 1, ESnapCtl = 2, ESnapBd = 4,
  ESnapInt = 8, ESnapGrid = 0x10, ESnapAngle = 0x20, ESnapAuto = 0x40
}
 

Public Member Functions

void intersectionSnap (const Vector &pos, Vector &fifi, const Page *page, int view, double &snapDist) const noexcept
 
bool snapAngularIntersection (Vector &pos, const Line &l, const Page *page, int view, double snapDist) const noexcept
 
TSnapModes simpleSnap (Vector &pos, const Page *page, int view, double snapDist, Tool *tool=0) const noexcept
 
TSnapModes snap (Vector &pos, const Page *page, int view, double snapDist, Tool *tool=0, Vector *autoOrg=0) const noexcept
 
Line getLine (const Vector &mouse, const Vector &base) const noexcept
 
bool setEdge (const Vector &pos, const Page *page, int view) noexcept
 

Public Attributes

int iSnap
 
bool iGridVisible
 
int iGridSize
 
double iAngleSize
 
int iSnapDistance
 
bool iWithAxes
 
Vector iOrigin
 
Angle iDir
 

Detailed Description

Performs snapping operations, and stores snapping state.

Member Enumeration Documentation

The different snap modes as bitmasks.

Enumerator
ESnapNone 
ESnapVtx 
ESnapCtl 
ESnapBd 
ESnapInt 
ESnapGrid 
ESnapAngle 
ESnapAuto 

Member Function Documentation

void Snap::intersectionSnap ( const Vector pos,
Vector fifi,
const Page page,
int  view,
double &  snapDist 
) const
noexcept

Perform intersection snapping.

bool Snap::snapAngularIntersection ( Vector pos,
const Line l,
const Page page,
int  view,
double  snapDist 
) const
noexcept

Perform snapping to intersection of angular line and pos.

Snap::TSnapModes Snap::simpleSnap ( Vector pos,
const Page page,
int  view,
double  snapDist,
Tool tool = 0 
) const
noexcept

Tries vertex, intersection, boundary, and grid snapping.

If snapping occurred, pos is set to the new user space position.

References ipe::Page::count(), ipe::Page::objSnapsInView(), ipe::Page::snapBnd(), ipe::Page::snapCtl(), ipe::Page::snapVtx(), ipe::Vector::x, and ipe::Vector::y.

Snap::TSnapModes Snap::snap ( Vector pos,
const Page page,
int  view,
double  snapDist,
Tool tool = 0,
Vector autoOrg = 0 
) const
noexcept

Performs snapping of position pos.

Returns true if snapping occurred. In that case pos is set to the new user space position.

Automatic angular snapping occurs if autoOrg is not null — the value is then used as the origin for automatic angular snapping.

References ipe::Line::intersects(), ipe::Line::project(), and ipe::Vector::sqLen().

Line Snap::getLine ( const Vector mouse,
const Vector base 
) const
noexcept

Find line through base with slope determined by angular snap size and direction.

References ipe::Vector::angle(), ipe::Vector::len(), and ipe::Angle::normalize().

bool Snap::setEdge ( const Vector pos,
const Page page,
int  view 
)
noexcept

Member Data Documentation

int ipe::Snap::iSnap

Activated snapping modes (TSnapModes)

bool ipe::Snap::iGridVisible

Is the grid visible?

int ipe::Snap::iGridSize

Snap grid spacing.

double ipe::Snap::iAngleSize

Angle for angular snapping.

int ipe::Snap::iSnapDistance

Snap distance (in pixels).

bool ipe::Snap::iWithAxes

Show coordinate system?

Referenced by ipe::TransformTool::TransformTool().

Vector ipe::Snap::iOrigin

Origin of coordinate system.

Referenced by ipe::TransformTool::TransformTool().

Angle ipe::Snap::iDir

Direction of x-axis.

Referenced by ipe::TransformTool::TransformTool().


The documentation for this class was generated from the following files:
  • ipesnap.h
  • ipesnap.cpp

ipe-7.2.7/build/doc/classipe_1_1_stream-members.html000644 000766 000000 00000013425 13022535406 024346 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Stream Member List

This is the complete list of members for ipe::Stream, including all inherited members.

close()ipe::Streamvirtual
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)=0ipe::Streampure virtual
putCString(const char *s)ipe::Streamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::Streamvirtual
putString(String s)ipe::Streamvirtual
putXmlString(String s)ipe::Stream
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_stream.html000644 000766 000000 00000052365 13022535406 022724 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Stream Class Reference
ipe::Stream Class Referenceabstract

#include <ipebase.h>

Inherited by ipe::A85Stream, ipe::Base64Stream, ipe::DeflateStream, and ipe::TellStream.

Public Member Functions

virtual ~Stream ()
 
virtual void putChar (char ch)=0
 
virtual void close ()
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Abstract base class for output streams.

Constructor & Destructor Documentation

Stream::~Stream ( )
virtual

Virtual destructor.

Member Function Documentation

virtual void ipe::Stream::putChar ( char  ch)
pure virtual
void Stream::close ( )
virtual

Close the stream. No more writing allowed!

Reimplemented in ipe::DeflateStream, ipe::Base64Stream, and ipe::A85Stream.

Referenced by ipe::A85Stream::close(), ipe::Base64Stream::close(), and ipe::DeflateStream::close().

void Stream::putString ( String  s)
virtual

Output string.

Default implementation uses PutChar.

Reimplemented in ipe::FileStream, and ipe::StringStream.

References ipe::String::size().

void Stream::putCString ( const char *  s)
virtual

Output C string.

Default implementation uses PutChar.

Reimplemented in ipe::FileStream, and ipe::StringStream.

Referenced by ipe::A85Stream::close(), ipe::Base64Stream::close(), ipe::A85Stream::putChar(), and ipe::Base64Stream::putChar().

void Stream::putRaw ( const char *  data,
int  size 
)
virtual

Output raw character data.

Default implementation uses PutChar.

Reimplemented in ipe::FileStream, and ipe::StringStream.

References ipe::String::size().

Referenced by ipe::DeflateStream::close(), ipe::DeflateStream::putChar(), and ipe::PdfWriter::~PdfWriter().

Stream& ipe::Stream::operator<< ( char  ch)
inline

Output character.

Stream& ipe::Stream::operator<< ( const String s)
inline

Output string.

Stream& ipe::Stream::operator<< ( const char *  s)
inline

Output C string.

Stream & Stream::operator<< ( int  i)

Output integer.

Stream & Stream::operator<< ( double  d)

Output double.

void Stream::putHexByte ( char  b)

Output byte in hexadecimal.

void Stream::putXmlString ( String  s)

The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_string-members.html000644 000766 000000 00000027404 13022535406 024363 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::String Member List

This is the complete list of members for ipe::String, including all inherited members.

append(const String &rhs) noexceptipe::String
append(const char *rhs) noexceptipe::String
append(char ch) noexceptipe::String
data() const noexceptipe::Stringinline
empty() const noexceptipe::Stringinline
erase() noexceptipe::String
find(char ch) const noexceptipe::String
find(const char *rhs) const noexceptipe::String
getLine(int &index) const noexceptipe::String
hasPrefix(const char *rhs) const noexceptipe::String
left(int i) const noexceptipe::Stringinline
operator!=(const String &rhs) const noexceptipe::Stringinline
operator!=(const char *rhs) const noexceptipe::Stringinline
operator+(const String &rhs) const noexceptipe::String
operator+=(const String &rhs) noexceptipe::Stringinline
operator+=(const char *rhs) noexceptipe::Stringinline
operator+=(char ch) noexceptipe::Stringinline
operator<(const String &rhs) const noexceptipe::String
operator=(const String &rhs) noexceptipe::String
operator==(const String &rhs) const noexceptipe::String
operator==(const char *rhs) const noexceptipe::String
operator[](int i) const noexceptipe::Stringinline
rfind(char ch) const noexceptipe::String
right(int i) const noexceptipe::String
size() const noexceptipe::Stringinline
String() noexceptipe::String
String(const char *str) noexceptipe::String
String(const char *str, int len) noexceptipe::String
String(const String &rhs) noexceptipe::String
String(const String &rhs, int index, int len) noexceptipe::String
substr(int i, int len=-1) const noexceptipe::Stringinline
unicode(int &index) const noexceptipe::String
withData(char *data, int len=0) noexceptipe::Stringstatic
z() const noexceptipe::String
~String() noexceptipe::String

ipe-7.2.7/build/doc/classipe_1_1_string.html000644 000766 000000 00000165450 13022535406 022737 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::String Class Reference

#include <ipebase.h>

Public Member Functions

 String () noexcept
 
 String (const char *str) noexcept
 
 String (const char *str, int len) noexcept
 
 String (const String &rhs) noexcept
 
 String (const String &rhs, int index, int len) noexcept
 
Stringoperator= (const String &rhs) noexcept
 
 ~String () noexcept
 
char operator[] (int i) const noexcept
 
bool empty () const noexcept
 
const char * data () const noexcept
 
int size () const noexcept
 
void operator+= (const String &rhs) noexcept
 
void operator+= (const char *rhs) noexcept
 
void operator+= (char ch) noexcept
 
String substr (int i, int len=-1) const noexcept
 
String left (int i) const noexcept
 
String right (int i) const noexcept
 
bool operator!= (const String &rhs) const noexcept
 
bool operator!= (const char *rhs) const noexcept
 
int find (char ch) const noexcept
 
int rfind (char ch) const noexcept
 
int find (const char *rhs) const noexcept
 
void erase () noexcept
 
void append (const String &rhs) noexcept
 
void append (const char *rhs) noexcept
 
void append (char ch) noexcept
 
bool hasPrefix (const char *rhs) const noexcept
 
bool operator== (const String &rhs) const noexcept
 
bool operator== (const char *rhs) const noexcept
 
bool operator< (const String &rhs) const noexcept
 
String operator+ (const String &rhs) const noexcept
 
int unicode (int &index) const noexcept
 
String getLine (int &index) const noexcept
 
const char * z () const noexcept
 

Static Public Member Functions

static String withData (char *data, int len=0) noexcept
 

Detailed Description

Strings and buffers.

String is is an implicitly shared byte string. It is designed to be efficient for strings of arbitrary length, and supposed to be passed by value (the size of String is a single pointer). Sharing is implicit—the string creates its own representation as soon as it is modified.

String can be used for binary data. For text, it is usually assumed that the string is UTF-8 encoded, but only the unicode member function actually requires this. In particular, all indices into the string are byte indices, not Unicode character indices.

Constructor & Destructor Documentation

String::String ( )
noexcept

Construct an empty string.

Referenced by right(), and ipe::Platform::runLatex().

String::String ( const char *  str)
noexcept

Construct a string by making copy of str.

String::String ( const char *  str,
int  len 
)
noexcept

Construct string by making copy of str with given len.

String::String ( const String rhs)
noexcept

Copy constructor. This only copies the reference and takes constant time.

String::String ( const String rhs,
int  index,
int  len 
)
noexcept

Construct a substring.

index must be >= 0. len can be negative or too large to return entire string.

String::~String ( )
noexcept

Destruct string if reference count has reached zero.

Member Function Documentation

String & String::operator= ( const String rhs)
noexcept

Assignment takes constant time.

String String::withData ( char *  data,
int  len = 0 
)
staticnoexcept

Construct string by taking ownership of given data.

References data().

char ipe::String::operator[] ( int  i) const
inlinenoexcept

Return character at index i.

void ipe::String::operator+= ( const String rhs)
inlinenoexcept

Operator syntax for append.

void ipe::String::operator+= ( const char *  rhs)
inlinenoexcept

Operator syntax for append.

void ipe::String::operator+= ( char  ch)
inlinenoexcept

Operator syntax for append.

String String::right ( int  i) const
noexcept

Create substring at the right.

Returns the entire string if i is larger than its length.

References size(), and String().

Referenced by ipe::Document::formatFromFilename(), and ipe::Platform::latexDirectory().

bool ipe::String::operator!= ( const String rhs) const
inlinenoexcept

Operator !=.

bool ipe::String::operator!= ( const char *  rhs) const
inlinenoexcept

Operator !=.

int String::find ( char  ch) const
noexcept

Return index of first occurrence of ch.

Return -1 if character does not appear.

References size().

Referenced by ipe::PdfWriter::createTrailer(), ipe::Painter::dashStyle(), ipe::CairoPainter::doDrawText(), ipe::Reference::flagsFromName(), ipe::Document::runLatex(), and ipe::StyleSheet::saveAsXml().

int String::rfind ( char  ch) const
noexcept

Return index of last occurrence of ch.

Return -1 if character does not appear.

References size().

Referenced by ipe::Platform::currentDirectory(), and ipe::Reference::flagsFromName().

int String::find ( const char *  rhs) const
noexcept

Return index of first occurrence of rhs.

Return -1 if not substring is not present.

References size().

void String::erase ( )
noexcept

Make string empty.

void String::append ( const String rhs)
noexcept

Append rhs to this string.

Referenced by operator+(), and ipe::Platform::readFile().

void String::append ( const char *  rhs)
noexcept

Append rhs to this string.

void String::append ( char  ch)
noexcept

Append ch to this string.

bool String::hasPrefix ( const char *  rhs) const
noexcept

Does string start with this prefix? (bytewise comparison)

References size().

bool String::operator== ( const String rhs) const
noexcept

Equality operator (bytewise comparison).

References size().

bool String::operator== ( const char *  rhs) const
noexcept

Equality operator (bytewise comparison).

References size().

bool String::operator< ( const String rhs) const
noexcept

Inequality operator (bytewise comparison).

References size().

String String::operator+ ( const String rhs) const
noexcept

Concatenate this string with rhs.

References append().

int String::unicode ( int &  index) const
noexcept

Return Unicode value from UTF-8 string.

The index is incremented to the next UTF-8 character. This returns 0xfffd if there is any problem in parsing UTF-8.

References ipe::Fixed::fromInternal(), and ipe::Fixed::mult().

Referenced by ipe::PdfWriter::createXmlStream().

String String::getLine ( int &  index) const
noexcept

Return line starting at position index. Index is updated to point to next line.

References size(), and substr().

Referenced by ipe::Platform::libVersion().


The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_string_stream-members.html000644 000766 000000 00000014707 13022535406 025740 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::StringStream Member List

This is the complete list of members for ipe::StringStream, including all inherited members.

close()ipe::Streamvirtual
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)ipe::StringStreamvirtual
putCString(const char *s)ipe::StringStreamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::StringStreamvirtual
putString(String s)ipe::StringStreamvirtual
putXmlString(String s)ipe::Stream
StringStream(String &string)ipe::StringStream
tell() const ipe::StringStreamvirtual
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_string_stream.html000644 000766 000000 00000036757 13022535406 024321 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::StringStream Class Reference
ipe::StringStream Class Reference

#include <ipebase.h>

Inherits ipe::TellStream.

Public Member Functions

 StringStream (String &string)
 
virtual void putChar (char ch)
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
virtual long tell () const
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void close ()
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Stream writing into an String.

Constructor & Destructor Documentation

StringStream::StringStream ( String string)

Construct with string reference.

Referenced by ipe::Stream::putXmlString().

Member Function Documentation

void StringStream::putChar ( char  ch)
virtual

Output character.

Implements ipe::Stream.

void StringStream::putString ( String  s)
virtual

Output string.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

void StringStream::putCString ( const char *  s)
virtual

Output C string.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

void StringStream::putRaw ( const char *  data,
int  size 
)
virtual

Output raw character data.

Default implementation uses PutChar.

Reimplemented from ipe::Stream.

References ipe::String::size().

long StringStream::tell ( ) const
virtual

The documentation for this class was generated from the following files:
  • ipebase.h
  • ipebase.cpp

ipe-7.2.7/build/doc/classipe_1_1_style_sheet-members.html000644 000766 000000 00000030027 13022535406 025400 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::StyleSheet Member List

This is the complete list of members for ipe::StyleSheet, including all inherited members.

add(Kind kind, Attribute name, Attribute value)ipe::StyleSheet
addEffect(Attribute name, const Effect &e)ipe::StyleSheet
addGradient(Attribute name, const Gradient &s)ipe::StyleSheet
addSymbol(Attribute name, const Symbol &symbol)ipe::StyleSheet
addTiling(Attribute name, const Tiling &s)ipe::StyleSheet
allNames(Kind kind, AttributeSeq &seq) const ipe::StyleSheet
fillRule() const ipe::StyleSheetinline
find(Kind, Attribute sym) const ipe::StyleSheet
findEffect(Attribute sym) const ipe::StyleSheet
findGradient(Attribute sym) const ipe::StyleSheet
findSymbol(Attribute sym) const ipe::StyleSheet
findTiling(Attribute sym) const ipe::StyleSheet
has(Kind kind, Attribute sym) const ipe::StyleSheet
isStandard() const ipe::StyleSheetinline
layout() const ipe::StyleSheet
lineCap() const ipe::StyleSheetinline
lineJoin() const ipe::StyleSheetinline
name() const ipe::StyleSheetinline
pageNumberStyle() const ipe::StyleSheet
preamble() const ipe::StyleSheetinline
remove(Kind kind, Attribute sym)ipe::StyleSheet
saveAsXml(Stream &stream, bool saveBitmaps=false) const ipe::StyleSheet
setFillRule(TFillRule s)ipe::StyleSheet
setLayout(const Layout &margins)ipe::StyleSheet
setLineCap(TLineCap s)ipe::StyleSheet
setLineJoin(TLineJoin s)ipe::StyleSheet
setName(const String &name)ipe::StyleSheetinline
setPageNumberStyle(const PageNumberStyle &pns)ipe::StyleSheet
setPreamble(const String &str)ipe::StyleSheetinline
setTextPadding(const TextPadding &pad)ipe::StyleSheet
setTitleStyle(const TitleStyle &ts)ipe::StyleSheet
standard()ipe::StyleSheetstatic
StyleSheet()ipe::StyleSheet
textPadding() const ipe::StyleSheet
titleStyle() const ipe::StyleSheet

ipe-7.2.7/build/doc/classipe_1_1_style_sheet.html000644 000766 000000 00000161377 13022535406 023765 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::StyleSheet Class Reference

#include <ipestyle.h>

Classes

struct  PageNumberStyle
 
struct  TitleStyle
 

Public Member Functions

 StyleSheet ()
 
void addSymbol (Attribute name, const Symbol &symbol)
 
const SymbolfindSymbol (Attribute sym) const
 
void addGradient (Attribute name, const Gradient &s)
 
const GradientfindGradient (Attribute sym) const
 
void addTiling (Attribute name, const Tiling &s)
 
const TilingfindTiling (Attribute sym) const
 
void addEffect (Attribute name, const Effect &e)
 
const EffectfindEffect (Attribute sym) const
 
void add (Kind kind, Attribute name, Attribute value)
 
bool has (Kind kind, Attribute sym) const
 
Attribute find (Kind, Attribute sym) const
 
void remove (Kind kind, Attribute sym)
 
void saveAsXml (Stream &stream, bool saveBitmaps=false) const
 
void allNames (Kind kind, AttributeSeq &seq) const
 
bool isStandard () const
 
String preamble () const
 
void setPreamble (const String &str)
 
const Layoutlayout () const
 
void setLayout (const Layout &margins)
 
const TextPaddingtextPadding () const
 
void setTextPadding (const TextPadding &pad)
 
const TitleStyletitleStyle () const
 
void setTitleStyle (const TitleStyle &ts)
 
const PageNumberStylepageNumberStyle () const
 
void setPageNumberStyle (const PageNumberStyle &pns)
 
void setLineCap (TLineCap s)
 
void setLineJoin (TLineJoin s)
 
void setFillRule (TFillRule s)
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
String name () const
 
void setName (const String &name)
 

Static Public Member Functions

static StyleSheetstandard ()
 

Detailed Description

A style sheet maps symbolic names to absolute values.

Ipe documents can use symbolic attributes, such as 'normal', 'fat', or 'thin' for line thickness, or 'red', 'navy', 'turquoise' for color. The mapping to an absolute pen thickness or RGB value is performed by a StyleSheet.

Style sheets are always included when the document is saved, so that an Ipe document is self-contained.

The built-in standard style sheet is minimal, and only needed to provide sane fallbacks for all the "normal" settings.

Constructor & Destructor Documentation

StyleSheet::StyleSheet ( )

The default constructor creates an empty style sheet.

References ipe::EDefaultCap, ipe::EDefaultJoin, and ipe::EDefaultRule.

Member Function Documentation

StyleSheet * StyleSheet::standard ( )
static

Create standard built-in style sheet.

References ipe::ImlParser::parseStyleSheet().

Referenced by ipe::Document::Document().

void StyleSheet::addSymbol ( Attribute  name,
const Symbol symbol 
)

Add a symbol object.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

Referenced by ipe::ImlParser::parseStyle().

const Symbol * StyleSheet::findSymbol ( Attribute  attr) const

Find a symbol object with given name.

If attr is not symbolic or if the symbol doesn't exist, returns 0.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

void StyleSheet::addGradient ( Attribute  name,
const Gradient s 
)

Add gradient to this style sheet.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

Referenced by ipe::ImlParser::parseStyle().

const Gradient * StyleSheet::findGradient ( Attribute  sym) const

Find gradient in style sheet cascade.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

void StyleSheet::addTiling ( Attribute  name,
const Tiling s 
)

Add tiling to this style sheet.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

Referenced by ipe::ImlParser::parseStyle().

const Tiling * StyleSheet::findTiling ( Attribute  sym) const

Find tiling in style sheet cascade.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

void StyleSheet::addEffect ( Attribute  name,
const Effect e 
)
const Effect * StyleSheet::findEffect ( Attribute  sym) const
void StyleSheet::add ( Kind  kind,
Attribute  name,
Attribute  value 
)

Add an attribute.

Does nothing if name is not symbolic.

References ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

Referenced by ipe::ImlParser::parseStyle().

bool StyleSheet::has ( Kind  kind,
Attribute  sym 
) const

Check whether symbolic attribute is defined.

This method also works for ESymbol, EGradient, ETiling, and EEffect.

Returns true if sym is not symbolic.

References ipe::EEffect, ipe::EGradient, ipe::ESymbol, ipe::ETiling, ipe::Attribute::index(), and ipe::Attribute::isSymbolic().

Attribute StyleSheet::find ( Kind  kind,
Attribute  sym 
) const

Find a symbolic attribute.

If sym is not symbolic, returns sym itself. If sym cannot be found, returns the "undefined" attribute. In all other cases, the returned attribute is guaranteed to be absolute.

References ipe::Attribute::index(), ipe::Attribute::isSymbolic(), and ipe::Attribute::UNDEFINED().

void StyleSheet::remove ( Kind  kind,
Attribute  sym 
)

Removes definition for a symbolic attribute from this stylesheet.

This method also works for ESymbol, EGradient, ETiling, and EEffect. It is okay if the symbolic attribute is not defined in the stylesheet, nothing happens in this case.

References ipe::EEffect, ipe::EGradient, ipe::ESymbol, ipe::ETiling, and ipe::Attribute::index().

void StyleSheet::allNames ( Kind  kind,
AttributeSeq seq 
) const

Return all symbolic names in the style sheet cascade.

Names are simply appended from top to bottom of the cascade. Names are inserted only once.

References ipe::EEffect, ipe::EGradient, ipe::ESymbol, and ipe::ETiling.

bool ipe::StyleSheet::isStandard ( ) const
inline

Return whether this is the standard style sheet built into Ipe.

String ipe::StyleSheet::preamble ( ) const
inline

Return Latex preamble.

void ipe::StyleSheet::setPreamble ( const String str)
inline

Set LaTeX preamble.

Referenced by ipe::ImlParser::parseStyle().

const Layout * StyleSheet::layout ( ) const

Return page layout (or 0 if none defined).

void StyleSheet::setLayout ( const Layout margins)

Set page layout.

Referenced by ipe::ImlParser::parseStyle().

const TextPadding * StyleSheet::textPadding ( ) const

Return text object padding (for bbox computation).

void StyleSheet::setTextPadding ( const TextPadding pad)

Set padding for text object bbox computation.

Referenced by ipe::ImlParser::parseStyle().

const StyleSheet::TitleStyle * StyleSheet::titleStyle ( ) const

Return title style (or 0 if none defined).

void StyleSheet::setTitleStyle ( const TitleStyle ts)

Set style of page titles.

Referenced by ipe::ImlParser::parseStyle().

const StyleSheet::PageNumberStyle * StyleSheet::pageNumberStyle ( ) const

Return page number style.

void StyleSheet::setPageNumberStyle ( const PageNumberStyle pns)

Set style of page numbering.

Referenced by ipe::ImlParser::parseStyle().

void StyleSheet::setLineCap ( TLineCap  s)

Set line cap.

Referenced by ipe::ImlParser::parseStyle().

void StyleSheet::setLineJoin ( TLineJoin  s)

Set line join.

Referenced by ipe::ImlParser::parseStyle().

void StyleSheet::setFillRule ( TFillRule  s)

Set fill rule.

Referenced by ipe::ImlParser::parseStyle().

TLineCap ipe::StyleSheet::lineCap ( ) const
inline

Return line cap.

TLineJoin ipe::StyleSheet::lineJoin ( ) const
inline

Return line join.

TFillRule ipe::StyleSheet::fillRule ( ) const
inline

Return path fill rule.

String ipe::StyleSheet::name ( ) const
inline

Return name of style sheet.

void ipe::StyleSheet::setName ( const String name)
inline

Set name of style sheet.

Referenced by ipe::ImlParser::parseStyle().


The documentation for this class was generated from the following files:
  • ipestyle.h
  • ipestdstyles.cpp
  • ipestyle.cpp

ipe-7.2.7/build/doc/classipe_1_1_sub_path-members.html000644 000766 000000 00000016070 13022535406 024657 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::SubPath Member List

This is the complete list of members for ipe::SubPath, including all inherited members.

addToBBox(Rect &box, const Matrix &m, bool cp) const =0ipe::SubPathpure virtual
asClosedSpline() const ipe::SubPathvirtual
asCurve() const ipe::SubPathvirtual
asEllipse() const ipe::SubPathvirtual
closed() const ipe::SubPathvirtual
distance(const Vector &v, const Matrix &m, double bound) const =0ipe::SubPathpure virtual
draw(Painter &painter) const =0ipe::SubPathpure virtual
EClosedSpline enum valueipe::SubPath
ECurve enum valueipe::SubPath
EEllipse enum valueipe::SubPath
save(Stream &stream) const =0ipe::SubPathpure virtual
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const =0ipe::SubPathpure virtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const =0ipe::SubPathpure virtual
type() const =0ipe::SubPathpure virtual
Type enum nameipe::SubPath
~SubPath()=0ipe::SubPathpure virtual

ipe-7.2.7/build/doc/classipe_1_1_sub_path.html000644 000766 000000 00000064256 13022535406 023240 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::SubPath Class Reference
ipe::SubPath Class Referenceabstract

#include <ipeshape.h>

Inherited by ipe::ClosedSpline, ipe::Curve, and ipe::Ellipse.

Public Types

enum  Type { ECurve, EEllipse, EClosedSpline }
 

Public Member Functions

virtual ~SubPath ()=0
 
virtual Type type () const =0
 
virtual bool closed () const
 
virtual const EllipseasEllipse () const
 
virtual const ClosedSplineasClosedSpline () const
 
virtual const CurveasCurve () const
 
virtual void save (Stream &stream) const =0
 
virtual void draw (Painter &painter) const =0
 
virtual void addToBBox (Rect &box, const Matrix &m, bool cp) const =0
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const =0
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound, bool cp) const =0
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const =0
 

Detailed Description

A subpath of a Path.

A subpath is either open, or closed. There are two special kinds of closed subpaths, namely ellipses and closed B-splines.

Member Enumeration Documentation

The subpath types.

Enumerator
ECurve 
EEllipse 
EClosedSpline 

Constructor & Destructor Documentation

SubPath::~SubPath ( )
pure virtual

Implementation of pure virtual destructor.

Referenced by ipe::Curve::closingSegment().

Member Function Documentation

virtual Type ipe::SubPath::type ( ) const
pure virtual

Return type of this subpath.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

Referenced by ipe::Shape::isSegment().

bool SubPath::closed ( ) const
virtual

Is this subpath closed?

Default implementation returns true.

Reimplemented in ipe::Curve.

Referenced by ipe::Path::clone(), and ipe::Shape::isSegment().

const Ellipse * SubPath::asEllipse ( ) const
virtual

Return this object as an Ellipse, or 0 if it's not an ellipse.

Reimplemented in ipe::Ellipse.

const ClosedSpline * SubPath::asClosedSpline ( ) const
virtual

Return this object as an ClosedSpline, or 0 if it's not a closed spline.

Reimplemented in ipe::ClosedSpline.

const Curve * SubPath::asCurve ( ) const
virtual

Return this object as an Curve, or else 0.

Reimplemented in ipe::Curve.

Referenced by ipe::Path::clone(), ipe::Path::draw(), and ipe::Shape::isSegment().

virtual void ipe::SubPath::save ( Stream stream) const
pure virtual

Save subpath to XML stream.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

virtual void ipe::SubPath::draw ( Painter painter) const
pure virtual

Draw subpath (does not call drawPath()).

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

virtual void ipe::SubPath::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
pure virtual

Add subpath to box.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

virtual double ipe::SubPath::distance ( const Vector v,
const Matrix m,
double  bound 
) const
pure virtual

Return distance from v to subpath transformed by m.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

virtual void ipe::SubPath::snapVtx ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound,
bool  cp 
) const
pure virtual

Snap to vertex.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.

virtual void ipe::SubPath::snapBnd ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
pure virtual

Snap to boundary of subpath.

Implemented in ipe::Curve, ipe::ClosedSpline, and ipe::Ellipse.


The documentation for this class was generated from the following files:
  • ipeshape.h
  • ipeshape.cpp

ipe-7.2.7/build/doc/classipe_1_1_symbol-members.html000644 000766 000000 00000010264 13022535406 024356 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Symbol Member List

This is the complete list of members for ipe::Symbol, including all inherited members.

iObjectipe::Symbol
iTransformationsipe::Symbol
iXFormipe::Symbol
operator=(const Symbol &rhs)ipe::Symbol
Symbol()ipe::Symbol
Symbol(Object *object)ipe::Symbol
Symbol(const Symbol &rhs)ipe::Symbol
~Symbol()ipe::Symbol

ipe-7.2.7/build/doc/classipe_1_1_tell_stream-members.html000644 000766 000000 00000014123 13022535406 025362 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::TellStream Member List

This is the complete list of members for ipe::TellStream, including all inherited members.

close()ipe::Streamvirtual
operator<<(char ch)ipe::Streaminline
operator<<(const String &s)ipe::Streaminline
operator<<(const char *s)ipe::Streaminline
operator<<(int i)ipe::Stream
operator<<(double d)ipe::Stream
putChar(char ch)=0ipe::Streampure virtual
putCString(const char *s)ipe::Streamvirtual
putHexByte(char b)ipe::Stream
putRaw(const char *data, int size)ipe::Streamvirtual
putString(String s)ipe::Streamvirtual
putXmlString(String s)ipe::Stream
tell() const =0ipe::TellStreampure virtual
~Stream()ipe::Streamvirtual

ipe-7.2.7/build/doc/classipe_1_1_tell_stream.html000644 000766 000000 00000026065 13022535406 023742 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::TellStream Class Reference
ipe::TellStream Class Referenceabstract

#include <ipebase.h>

Inherits ipe::Stream.

Inherited by ipe::FileStream, and ipe::StringStream.

Public Member Functions

virtual long tell () const =0
 
- Public Member Functions inherited from ipe::Stream
virtual ~Stream ()
 
virtual void putChar (char ch)=0
 
virtual void close ()
 
virtual void putString (String s)
 
virtual void putCString (const char *s)
 
virtual void putRaw (const char *data, int size)
 
Streamoperator<< (char ch)
 
Streamoperator<< (const String &s)
 
Streamoperator<< (const char *s)
 
Streamoperator<< (int i)
 
Streamoperator<< (double d)
 
void putHexByte (char b)
 
void putXmlString (String s)
 

Detailed Description

Adds position feedback to IpeStream.

Member Function Documentation

virtual long ipe::TellStream::tell ( ) const
pure virtual

Implemented in ipe::FileStream, and ipe::StringStream.


The documentation for this class was generated from the following file:
  • ipebase.h

ipe-7.2.7/build/doc/classipe_1_1_text-members.html000644 000766 000000 00000060523 13022535406 024040 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Text Member List

This is the complete list of members for ipe::Text, including all inherited members.

accept(Visitor &visitor) const ipe::Textvirtual
addToBBox(Rect &box, const Matrix &m, bool) const ipe::Textvirtual
align() const ipe::Text
asGroup()ipe::Objectvirtual
asGroup() const ipe::Objectvirtual
asImage()ipe::Objectvirtual
asPath()ipe::Objectvirtual
asReference()ipe::Objectvirtual
asText()ipe::Textvirtual
checkStyle(const Cascade *sheet, AttributeSeq &seq) const ipe::Textvirtual
checkSymbol(Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)ipe::Objectprotectedstatic
clone() const ipe::Textvirtual
depth() const ipe::Textinline
distance(const Vector &v, const Matrix &m, double bound) const ipe::Textvirtual
draw(Painter &painter) const ipe::Textvirtual
drawSimple(Painter &painter) const ipe::Textvirtual
EGroup enum valueipe::Object
EImage enum valueipe::Object
ELabel enum valueipe::Text
EMinipage enum valueipe::Text
EPath enum valueipe::Object
EReference enum valueipe::Object
EText enum valueipe::Object
getAttribute(Property prop) const noexceptipe::Textvirtual
getXForm() const ipe::Textinline
height() const ipe::Textinline
horizontalAlignment() const ipe::Textinline
iMatrixipe::Objectprotected
iPinnedipe::Objectprotected
isMinipage() const ipe::Textinline
iTransformationsipe::Objectprotected
makeHAlign(String str, THorizontalAlignment def)ipe::Textstatic
makeVAlign(String str, TVerticalAlignment def)ipe::Textstatic
matrix() const ipe::Objectinline
Object()ipe::Objectexplicitprotected
Object(const AllAttributes &attr)ipe::Objectexplicitprotected
Object(const Object &rhs)ipe::Objectprotected
Object(const XmlAttributes &attr)ipe::Objectexplicitprotected
opacity() const ipe::Textinline
pinned() const ipe::Objectvirtual
position() const ipe::Textinline
saveAlignment(Stream &stream, THorizontalAlignment h, TVerticalAlignment v)ipe::Textstatic
saveAsXml(Stream &stream, String layer) const ipe::Textvirtual
saveAttributesAsXml(Stream &stream, String layer) const ipe::Objectprotected
setAttribute(Property prop, Attribute value)ipe::Textvirtual
setHorizontalAlignment(THorizontalAlignment align)ipe::Text
setMatrix(const Matrix &matrix)ipe::Object
setOpacity(Attribute opaq)ipe::Text
setPinned(TPinned pin)ipe::Object
setSize(Attribute size)ipe::Text
setStroke(Attribute stroke)ipe::Text
setStyle(Attribute style)ipe::Text
setText(String text)ipe::Text
setTextType(TextType type)ipe::Text
setTransformations(TTransformations trans)ipe::Object
setVerticalAlignment(TVerticalAlignment align)ipe::Text
setWidth(double width)ipe::Text
setXForm(XForm *xform) const ipe::Text
size() const ipe::Textinline
snapBnd(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
snapCtl(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Textvirtual
snapVtx(const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const ipe::Objectvirtual
stroke() const ipe::Textinline
style() const ipe::Textinline
text() const ipe::Textinline
Text()ipe::Textexplicit
Text(const AllAttributes &attr, String data, const Vector &pos, TextType type, double width=10.0)ipe::Textexplicit
Text(const Text &rhs)ipe::Text
Text(const XmlAttributes &attr, String data)ipe::Textexplicit
textType() const ipe::Text
TextType enum nameipe::Text
totalHeight() const ipe::Textinline
transformations() const ipe::Objectinline
type() const ipe::Textvirtual
Type enum nameipe::Object
verticalAlignment() const ipe::Textinline
width() const ipe::Textinline
~Object()=0ipe::Objectpure virtual
~Text()ipe::Text

ipe-7.2.7/build/doc/classipe_1_1_text.html000644 000766 000000 00000357054 13022535406 022420 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Text Class Reference

#include <ipetext.h>

Inherits ipe::Object.

Classes

struct  XForm
 

Public Types

enum  TextType { ELabel, EMinipage }
 
- Public Types inherited from ipe::Object
enum  Type {
  EGroup, EPath, EText, EImage,
  EReference
}
 

Public Member Functions

 Text ()
 
 Text (const AllAttributes &attr, String data, const Vector &pos, TextType type, double width=10.0)
 
 Text (const Text &rhs)
 
 ~Text ()
 
 Text (const XmlAttributes &attr, String data)
 
virtual Objectclone () const
 
virtual TextasText ()
 
virtual Type type () const
 
virtual void saveAsXml (Stream &stream, String layer) const
 
virtual void draw (Painter &painter) const
 
virtual void drawSimple (Painter &painter) const
 
virtual void accept (Visitor &visitor) const
 
virtual void addToBBox (Rect &box, const Matrix &m, bool) const
 
virtual double distance (const Vector &v, const Matrix &m, double bound) const
 
virtual void snapCtl (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void checkStyle (const Cascade *sheet, AttributeSeq &seq) const
 
virtual bool setAttribute (Property prop, Attribute value)
 
virtual Attribute getAttribute (Property prop) const noexcept
 
Vector align () const
 
TextType textType () const
 
Vector position () const
 
String text () const
 
void setStroke (Attribute stroke)
 
void setOpacity (Attribute opaq)
 
Attribute stroke () const
 
Attribute size () const
 
Attribute style () const
 
Attribute opacity () const
 
bool isMinipage () const
 
void setTextType (TextType type)
 
THorizontalAlignment horizontalAlignment () const
 
TVerticalAlignment verticalAlignment () const
 
void setHorizontalAlignment (THorizontalAlignment align)
 
void setVerticalAlignment (TVerticalAlignment align)
 
double width () const
 
double height () const
 
double depth () const
 
double totalHeight () const
 
void setSize (Attribute size)
 
void setStyle (Attribute style)
 
void setWidth (double width)
 
void setText (String text)
 
void setXForm (XForm *xform) const
 
const XFormgetXForm () const
 
- Public Member Functions inherited from ipe::Object
virtual ~Object ()=0
 
virtual GroupasGroup ()
 
virtual const GroupasGroup () const
 
virtual PathasPath ()
 
virtual ImageasImage ()
 
virtual ReferenceasReference ()
 
virtual TPinned pinned () const
 
void setPinned (TPinned pin)
 
TTransformations transformations () const
 
void setTransformations (TTransformations trans)
 
void setMatrix (const Matrix &matrix)
 
const Matrixmatrix () const
 
virtual void snapVtx (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 
virtual void snapBnd (const Vector &mouse, const Matrix &m, Vector &pos, double &bound) const
 

Static Public Member Functions

static TVerticalAlignment makeVAlign (String str, TVerticalAlignment def)
 
static THorizontalAlignment makeHAlign (String str, THorizontalAlignment def)
 
static void saveAlignment (Stream &stream, THorizontalAlignment h, TVerticalAlignment v)
 

Additional Inherited Members

- Protected Member Functions inherited from ipe::Object
 Object ()
 
 Object (const AllAttributes &attr)
 
 Object (const Object &rhs)
 
 Object (const XmlAttributes &attr)
 
void saveAttributesAsXml (Stream &stream, String layer) const
 
- Static Protected Member Functions inherited from ipe::Object
static void checkSymbol (Kind kind, Attribute attr, const Cascade *sheet, AttributeSeq &seq)
 
- Protected Attributes inherited from ipe::Object
Matrix iMatrix
 
TPinned iPinned: 8
 
TTransformations iTransformations: 8
 

Detailed Description

The text object.

The text object stores a Latex source representation, which needs to be translated into PDF by Pdflatex before it can be saved as PDF.

There are two types of text objects: labels and minipages. The textType() method tells you which, or use isMinipage().

The dimensions of a text object are given by width(), height(), and depth(). They are recomputed by Ipe when running LaTeX, with the exception of the width for minipage objects (whose width is fixed). Before Latex has been run, the dimensions are not reliable.

The position of the reference point relative to the text box is given by verticalAlignment() and horizontalAlignment().

The text() must be a legal LaTeX fragment that can be interpreted by LaTeX inside \hbox, possibly using the macros or packages defined in the preamble.

Member Enumeration Documentation

Enumerator
ELabel 
EMinipage 

Constructor & Destructor Documentation

Text::Text ( )
explicit

Construct an empty internal text object.

Referenced by clone().

Text::Text ( const Text rhs)

Copy constructor.

References ipe::Text::XForm::iRefCount.

Text::~Text ( )

Destructor.

References ipe::Text::XForm::iRefCount.

Member Function Documentation

Object * Text::clone ( ) const
virtual

Clone object.

Implements ipe::Object.

References Text().

Text * Text::asText ( )
virtual

Return pointer to this object.

Reimplemented from ipe::Object.

Object::Type Text::type ( ) const
virtual

Implements ipe::Object.

References ipe::Object::EText.

Referenced by setTextType(), and Text().

void Text::accept ( Visitor visitor) const
virtual

Call visitText of visitor.

Implements ipe::Object.

References ipe::Visitor::visitText().

Referenced by ipe::Latex::scanPage().

void Text::addToBBox ( Rect box,
const Matrix m,
bool  cp 
) const
virtual

Extend box to include the object transformed by m.

For objects in a page, don't call this directly. The Page caches the bounding box of each object, so it is far more efficient to call Page::bbox.

Control points that lie outside the visual object are included if cp is true.

If called with an empty box and cp == false, the result of this function is a tight bounding box for the object, with a little leeway in case the boundary is determined by a spline (it has to be approximated to perform this operation).

Implements ipe::Object.

References ipe::Rect::addPoint().

double Text::distance ( const Vector v,
const Matrix m,
double  bound 
) const
virtual

Return distance of transformed object to point v. If larger than bound, can just return bound.

Implements ipe::Object.

void Text::snapCtl ( const Vector mouse,
const Matrix m,
Vector pos,
double &  bound 
) const
virtual

Compute control point snapping position for transformed object.

Looks only for positions closer than bound. If successful, modify pos and bound. The default implementation does nothing.

Reimplemented from ipe::Object.

References ipe::Object::matrix().

Vector Text::align ( ) const

Return position of reference point in text box coordinate system.

Assume a coordinate system where the text box has corners (0,0) and (Width(), TotalHeight()). This function returns the coordinates of the reference point in this coordinate system.

References depth(), ipe::EAlignBaseline, ipe::EAlignBottom, ipe::EAlignHCenter, ipe::EAlignLeft, ipe::EAlignRight, ipe::EAlignTop, ipe::EAlignVCenter, horizontalAlignment(), isMinipage(), totalHeight(), verticalAlignment(), width(), ipe::Vector::x, and ipe::Vector::y.

Referenced by checkStyle(), ipe::CairoPainter::doDrawText(), draw(), drawSimple(), setHorizontalAlignment(), and setVerticalAlignment().

Text::TextType Text::textType ( ) const

Return type of text object.

References ELabel.

Referenced by setWidth().

Vector ipe::Text::position ( ) const
inline

Return text position.

String ipe::Text::text ( ) const
inline
void Text::setStroke ( Attribute  stroke)

Set stroke color.

References stroke().

Referenced by ipe::Page::applyTitleStyle(), and setAttribute().

void Text::setOpacity ( Attribute  opaq)

Set opacity of the object.

Referenced by setAttribute().

Attribute ipe::Text::stroke ( ) const
inline

Return stroke color.

Referenced by ipe::Latex::createLatexSource(), getAttribute(), setAttribute(), and setStroke().

Attribute ipe::Text::size ( ) const
inline
Attribute ipe::Text::style ( ) const
inline

Return Latex style of text object.

Referenced by ipe::Latex::createLatexSource(), getAttribute(), setAttribute(), and setStyle().

bool ipe::Text::isMinipage ( ) const
inline

Return true if text object is formatted as a minipage.

Equivalent to type being EMinipage.

References EMinipage.

Referenced by align(), ipe::Latex::createLatexSource(), getAttribute(), opacity(), saveAsXml(), setAttribute(), setXForm(), and Text().

void Text::setTextType ( TextType  type)

Change type.

This invalidates (and destroys) the XForm.

References ipe::Attribute::NORMAL(), setXForm(), and type().

Referenced by opacity().

THorizontalAlignment ipe::Text::horizontalAlignment ( ) const
inline

Return horizontal alignment of text object.

Referenced by align(), getAttribute(), opacity(), and setAttribute().

TVerticalAlignment ipe::Text::verticalAlignment ( ) const
inline

Return vertical alignment of text object.

Referenced by align(), getAttribute(), opacity(), and setAttribute().

void Text::setHorizontalAlignment ( THorizontalAlignment  align)

Change horizontal alignment (text moves with respect to reference point).

References align().

Referenced by ipe::Page::applyTitleStyle(), and opacity().

void Text::setVerticalAlignment ( TVerticalAlignment  align)

Change vertical alignment (text moves with respect to reference point).

References align().

Referenced by ipe::Page::applyTitleStyle(), and opacity().

TVerticalAlignment Text::makeVAlign ( String  str,
TVerticalAlignment  def 
)
static

Return vertical alignment indicated by a name, or else default.

References ipe::EAlignBaseline, ipe::EAlignBottom, ipe::EAlignTop, and ipe::EAlignVCenter.

Referenced by opacity(), ipe::ImlParser::parseStyle(), and Text().

THorizontalAlignment Text::makeHAlign ( String  str,
THorizontalAlignment  def 
)
static

Return horizontal alignment indicated by a name, or else default.

References ipe::EAlignHCenter, ipe::EAlignLeft, and ipe::EAlignRight.

Referenced by opacity(), ipe::ImlParser::parseStyle(), and Text().

double ipe::Text::width ( ) const
inline
double ipe::Text::height ( ) const
inline

Return height of text object (from baseline to top).

Referenced by opacity().

double ipe::Text::depth ( ) const
inline

Return depth of text object.

References ipe::Text::XForm::iDepth.

Referenced by align(), and opacity().

double ipe::Text::totalHeight ( ) const
inline
void Text::setSize ( Attribute  size)

Set font size of text.

This invalidates (and destroys) the XForm.

References setXForm(), and size().

Referenced by ipe::Page::applyTitleStyle(), opacity(), and setAttribute().

void Text::setStyle ( Attribute  style)

Set Latex style of text.

This invalidates (and destroys) the XForm.

References setXForm(), and style().

Referenced by opacity(), and setAttribute().

void Text::setWidth ( double  width)

Set width of paragraph.

This invalidates (and destroys) the XForm. The function panics if object is not a (true) minipage.

References EMinipage, setXForm(), textType(), and width().

Referenced by opacity(), and setAttribute().

void Text::setText ( String  text)

Sets the text of the text object.

This invalidates (and destroys) the XForm.

References setXForm(), and text().

Referenced by opacity(), and ipe::Page::setTitle().

const Text::XForm * ipe::Text::getXForm ( ) const
inline

Return the PDF representation of this text object.

If Pdflatex has not been run yet, returns 0.

Referenced by ipe::Latex::createLatexSource(), ipe::PdfPainter::doDrawText(), and ipe::CairoPainter::doDrawText().


The documentation for this class was generated from the following files:
  • ipetext.h
  • ipetext.cpp

ipe-7.2.7/build/doc/classipe_1_1_thumbnail-members.html000644 000766 000000 00000013223 13022535406 025032 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Thumbnail Member List

This is the complete list of members for ipe::Thumbnail, including all inherited members.

EPDF enum valueipe::Thumbnail
EPNG enum valueipe::Thumbnail
EPS enum valueipe::Thumbnail
ESVG enum valueipe::Thumbnail
height() const ipe::Thumbnailinline
render(const Page *page, int view)ipe::Thumbnail
savePNG(cairo_surface_t *surface, const char *dst)ipe::Thumbnailstatic
saveRender(TargetFormat fm, const char *dst, const Page *page, int view, double zoom, bool transparent, bool nocrop)ipe::Thumbnail
TargetFormat enum nameipe::Thumbnail
Thumbnail(const Document *doc, int width)ipe::Thumbnail
width() const ipe::Thumbnailinline
~Thumbnail()ipe::Thumbnail

ipe-7.2.7/build/doc/classipe_1_1_thumbnail.html000644 000766 000000 00000047612 13022535406 023413 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Thumbnail Class Reference

#include <ipethumbs.h>

Public Types

enum  TargetFormat { ESVG, EPNG, EPS, EPDF }
 

Public Member Functions

 Thumbnail (const Document *doc, int width)
 
 ~Thumbnail ()
 
int width () const
 
int height () const
 
Buffer render (const Page *page, int view)
 
bool saveRender (TargetFormat fm, const char *dst, const Page *page, int view, double zoom, bool transparent, bool nocrop)
 

Static Public Member Functions

static void savePNG (cairo_surface_t *surface, const char *dst)
 

Member Enumeration Documentation

Enumerator
ESVG 
EPNG 
EPS 
EPDF 

Constructor & Destructor Documentation

Thumbnail::~Thumbnail ( )

Member Function Documentation

int ipe::Thumbnail::width ( ) const
inline
int ipe::Thumbnail::height ( ) const
inline
void Thumbnail::savePNG ( cairo_surface_t *  surface,
const char *  dst 
)
static

Referenced by height(), render(), and saveRender().


The documentation for this class was generated from the following files:
  • ipethumbs.h
  • ipethumbs.cpp

ipe-7.2.7/build/doc/classipe_1_1_tool-members.html000644 000766 000000 00000010763 13022535406 024032 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Tool Member List

This is the complete list of members for ipe::Tool, including all inherited members.

draw(Painter &painter) const =0ipe::Toolpure virtual
iCanvasipe::Toolprotected
key(String text, int modifiers)ipe::Toolvirtual
mouseButton(int button, bool press)ipe::Toolvirtual
mouseMove()ipe::Toolvirtual
snapVtx(const Vector &mouse, Vector &pos, double &bound, bool cp) const ipe::Toolvirtual
Tool(CanvasBase *canvas)ipe::Toolprotected
~Tool()ipe::Toolvirtual

ipe-7.2.7/build/doc/classipe_1_1_tool.html000644 000766 000000 00000043335 13022535406 022403 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Tool Class Reference

#include <ipetoolbase.h>

Inherited by ipe::PanTool, ipe::SelectTool, and ipe::TransformTool.

Public Member Functions

virtual ~Tool ()
 
virtual void draw (Painter &painter) const =0
 
virtual void mouseButton (int button, bool press)
 
virtual void mouseMove ()
 
virtual bool key (String text, int modifiers)
 
virtual void snapVtx (const Vector &mouse, Vector &pos, double &bound, bool cp) const
 

Protected Member Functions

 Tool (CanvasBase *canvas)
 

Protected Attributes

CanvasBaseiCanvas
 

Detailed Description

Abstract base class for various canvas tools.

The Canvas doesn't know about the various modes for object creation, editing, and moving, but delegates the handling to a subclass of Tool.

Constructor & Destructor Documentation

Tool::~Tool ( )
virtual

Virtual destructor.

Tool::Tool ( CanvasBase canvas)
protected

Constructor.

Member Function Documentation

virtual void ipe::Tool::draw ( Painter painter) const
pure virtual
void Tool::mouseButton ( int  button,
bool  press 
)
virtual

Called when a mouse button is pressed or released on the canvas.

button is 1, 2, or 3, with Shift/Ctrl/Alt/Meta modifiers added in (as defined in CanvasBase::TModifiers. press is true for button-down, and false for button-up.

Reimplemented in ipe::TransformTool, ipe::SelectTool, and ipe::PanTool.

Referenced by Canvas::drawRect(), ipe::Canvas::mouseButton(), and ipe::Canvas::tabletEvent().

void Tool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented in ipe::TransformTool, ipe::SelectTool, and ipe::PanTool.

Referenced by Canvas::mouseMove(), ipe::Canvas::mouseMoveEvent(), and ipe::Canvas::tabletEvent().

bool Tool::key ( String  text,
int  modifiers 
)
virtual

Called when a key is pressed.

modifiers are as defined in CanvasBase::TModifiers.

Reimplemented in ipe::SelectTool.

Referenced by Canvas::key(), and ipe::Canvas::keyPressEvent().

void Tool::snapVtx ( const Vector mouse,
Vector pos,
double &  bound,
bool  cp 
) const
virtual

Snapping to vertices on object currently being drawn.

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipetoolbase.h
  • ipetoolbase.cpp

ipe-7.2.7/build/doc/classipe_1_1_transform_tool-members.html000644 000766 000000 00000025475 13022535406 026133 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::TransformTool Member List

This is the complete list of members for ipe::TransformTool, including all inherited members.

compute(const Vector &v)ipe::TransformToolprotected
draw(Painter &painter) const ipe::TransformToolvirtual
ERotate enum valueipe::TransformTool
EScale enum valueipe::TransformTool
EShear enum valueipe::TransformTool
EStretch enum valueipe::TransformTool
ETranslate enum valueipe::TransformTool
iCanvasipe::Toolprotected
iDiripe::TransformToolprotected
iMouseDownipe::TransformToolprotected
iOnlyHorizontalipe::TransformToolprotected
iOnlyVerticalipe::TransformToolprotected
iOriginipe::TransformToolprotected
iPageipe::TransformToolprotected
isValid() const ipe::TransformTool
iTransformipe::TransformToolprotected
iTypeipe::TransformToolprotected
iValidipe::TransformToolprotected
iViewipe::TransformToolprotected
iWithShiftipe::TransformToolprotected
key(String text, int modifiers)ipe::Toolvirtual
mouseButton(int button, bool press)ipe::TransformToolvirtual
mouseMove()ipe::TransformToolvirtual
report()ipe::TransformToolvirtual
snapVtx(const Vector &mouse, Vector &pos, double &bound, bool cp) const ipe::Toolvirtual
Tool(CanvasBase *canvas)ipe::Toolprotected
TransformTool(CanvasBase *canvas, Page *page, int view, TType type, bool withShift)ipe::TransformTool
TType enum nameipe::TransformTool
~Tool()ipe::Toolvirtual

ipe-7.2.7/build/doc/classipe_1_1_transform_tool.html000644 000766 000000 00000120434 13022535406 024472 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::TransformTool Class Reference

#include <ipetool.h>

Inherits ipe::Tool.

Public Types

enum  TType {
  ETranslate, EScale, EStretch, ERotate,
  EShear
}
 

Public Member Functions

 TransformTool (CanvasBase *canvas, Page *page, int view, TType type, bool withShift)
 
bool isValid () const
 
virtual void draw (Painter &painter) const
 
virtual void mouseButton (int button, bool press)
 
virtual void mouseMove ()
 
virtual void report ()
 
- Public Member Functions inherited from ipe::Tool
virtual ~Tool ()
 
virtual bool key (String text, int modifiers)
 
virtual void snapVtx (const Vector &mouse, Vector &pos, double &bound, bool cp) const
 

Protected Member Functions

void compute (const Vector &v)
 
- Protected Member Functions inherited from ipe::Tool
 Tool (CanvasBase *canvas)
 

Protected Attributes

PageiPage
 
int iView
 
TType iType
 
bool iWithShift
 
bool iOnlyHorizontal
 
bool iOnlyVertical
 
Vector iMouseDown
 
Matrix iTransform
 
Vector iOrigin
 
Angle iDir
 
bool iValid
 
- Protected Attributes inherited from ipe::Tool
CanvasBaseiCanvas
 

Detailed Description

A tool for transforming the selected objects on the canvas.

Supports moving, rotating, scaling, stretching, and shearing.

Member Enumeration Documentation

Enumerator
ETranslate 
EScale 
EStretch 
ERotate 
EShear 

Constructor & Destructor Documentation

TransformTool::TransformTool ( CanvasBase canvas,
Page page,
int  view,
TType  type,
bool  withShift 
)

Member Function Documentation

bool TransformTool::isValid ( ) const

Check that the transformation can be performed.

References iValid.

void TransformTool::mouseButton ( int  button,
bool  press 
)
virtual

Called when a mouse button is pressed or released on the canvas.

button is 1, 2, or 3, with Shift/Ctrl/Alt/Meta modifiers added in (as defined in CanvasBase::TModifiers. press is true for button-down, and false for button-up.

Reimplemented from ipe::Tool.

References compute(), ipe::CanvasBase::finishTool(), ipe::Tool::iCanvas, ipe::CanvasBase::pos(), and report().

void TransformTool::mouseMove ( )
virtual

Called when the mouse is moved on the canvas.

Reimplemented from ipe::Tool.

References compute(), ipe::Tool::iCanvas, ipe::CanvasBase::pos(), and ipe::CanvasBase::updateTool().

void TransformTool::report ( )
virtual

Report the final transformation chosen.

The implementation in TransformTool does nothing. Derived classes should reimplement report().

Referenced by mouseButton().

Member Data Documentation

Page* ipe::TransformTool::iPage
protected

Referenced by draw(), and TransformTool().

int ipe::TransformTool::iView
protected

Referenced by TransformTool().

TType ipe::TransformTool::iType
protected

Referenced by compute(), and TransformTool().

bool ipe::TransformTool::iWithShift
protected

Referenced by compute(), and TransformTool().

bool ipe::TransformTool::iOnlyHorizontal
protected

Referenced by compute(), and TransformTool().

bool ipe::TransformTool::iOnlyVertical
protected

Referenced by compute(), and TransformTool().

Vector ipe::TransformTool::iMouseDown
protected

Referenced by compute(), and TransformTool().

Matrix ipe::TransformTool::iTransform
protected

Referenced by compute(), and draw().

Vector ipe::TransformTool::iOrigin
protected

Referenced by compute(), and TransformTool().

Angle ipe::TransformTool::iDir
protected

Referenced by compute(), and TransformTool().

bool ipe::TransformTool::iValid
protected

Referenced by isValid(), and TransformTool().


The documentation for this class was generated from the following files:
  • ipetool.h
  • ipetool.cpp

ipe-7.2.7/build/doc/classipe_1_1_vector-members.html000644 000766 000000 00000022264 13022535406 024356 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Vector Member List

This is the complete list of members for ipe::Vector, including all inherited members.

angle() const ipe::Vector
dot(const Vector &lhs, const Vector &rhs)ipe::Vectorrelated
factorize(Vector &unit) const ipe::Vector
len() const ipe::Vector
normalized() const ipe::Vector
operator!=(const Vector &rhs) const ipe::Vectorinline
operator*(double rhs) const ipe::Vectorinline
operator*(double lhs, const Vector &rhs)ipe::Vectorrelated
operator*=(double rhs)ipe::Vectorinline
operator+(const Vector &rhs) const ipe::Vectorinline
operator+=(const Vector &rhs)ipe::Vectorinline
operator-(const Vector &rhs) const ipe::Vectorinline
operator-() const ipe::Vectorinline
operator-=(const Vector &rhs)ipe::Vectorinline
operator<<(Stream &stream, const Vector &rhs)ipe::Vectorrelated
operator==(const Vector &rhs) const ipe::Vectorinline
orthogonal() const ipe::Vector
snap(const Vector &mouse, Vector &pos, double &bound) const ipe::Vector
sqLen() const ipe::Vectorinline
Vector()ipe::Vectorinline
Vector(Angle alpha)ipe::Vectorexplicit
Vector(double x0, double y0)ipe::Vectorinlineexplicit
xipe::Vector
yipe::Vector
ZEROipe::Vectorstatic

ipe-7.2.7/build/doc/classipe_1_1_vector.html000644 000766 000000 00000136162 13022535406 022731 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Vector Class Reference

#include <ipegeo.h>

Public Member Functions

 Vector ()
 
 Vector (Angle alpha)
 
 Vector (double x0, double y0)
 
double sqLen () const
 
double len () const
 
Angle angle () const
 
Vector normalized () const
 
Vector orthogonal () const
 
double factorize (Vector &unit) const
 
bool snap (const Vector &mouse, Vector &pos, double &bound) const
 
bool operator== (const Vector &rhs) const
 
bool operator!= (const Vector &rhs) const
 
void operator+= (const Vector &rhs)
 
void operator-= (const Vector &rhs)
 
void operator*= (double rhs)
 
Vector operator+ (const Vector &rhs) const
 
Vector operator- (const Vector &rhs) const
 
Vector operator* (double rhs) const
 
Vector operator- () const
 

Public Attributes

double x
 
double y
 

Static Public Attributes

static Vector ZERO = Vector(0.0, 0.0)
 

Related Functions

(Note that these are not member functions.)

Streamoperator<< (Stream &stream, const Vector &rhs)
 
Vector operator* (double lhs, const Vector &rhs)
 
double dot (const Vector &lhs, const Vector &rhs)
 

Detailed Description

Two-dimensional vector.

Unlike some other libraries, I don't make a difference between points and vectors.

Constructor & Destructor Documentation

ipe::Vector::Vector ( )
inline

Uninitialized vector.

Referenced by ipe::Angle::liesBetween().

Vector::Vector ( Angle  alpha)
explicit

Construct a unit vector with this direction.

ipe::Vector::Vector ( double  x0,
double  y0 
)
inlineexplicit

Construct a vector.

Member Function Documentation

double ipe::Vector::sqLen ( ) const
inline

Return square of Euclidean length.

Return square of vector's length.

Referenced by ipe::TransformTool::compute(), ipe::Line::Line(), and ipe::Snap::snap().

double Vector::len ( ) const
Angle Vector::angle ( ) const

Return angle of the vector (with positive x-direction).

The returned angle lies between -pi and +pi. Returns zero for the zero vector.

References ipe::Angle::Angle(), and ZERO.

Referenced by ipe::TransformTool::compute(), ipe::Arc::distance(), ipe::Snap::getLine(), ipe::Arc::intersect(), and ipe::Snap::setEdge().

Vector Vector::normalized ( ) const

Return this vector normalized (with length one).

Normalizing the zero vector returns the vector (1,0).

Referenced by ipe::Arc::distance().

Vector Vector::orthogonal ( ) const

Return this vector turned 90 degrees to the left.

double Vector::factorize ( Vector unit) const

Normalizes this vector into unit and returns length. If this is the zero vector, unit is set to (1,0).

Referenced by ipe::Segment::distance(), and ipe::Segment::project().

bool Vector::snap ( const Vector mouse,
Vector pos,
double &  bound 
) const

Snap to nearby vertex.

If distance between mouse and this vector is less than bound, set pos to this vector and bound to the distance, and return true.

References ipe::Rect::Rect(), x, and y.

Referenced by ipe::Segment::snap(), ipe::Bezier::snap(), and ipe::CanvasBase::snapToPaperAndFrame().

bool ipe::Vector::operator== ( const Vector rhs) const
inline

Equality.

References x, and y.

bool ipe::Vector::operator!= ( const Vector rhs) const
inline

Inequality.

References x, and y.

void ipe::Vector::operator+= ( const Vector rhs)
inline

Vector-addition.

References x, and y.

void ipe::Vector::operator-= ( const Vector rhs)
inline

Vector-subtraction.

References x, and y.

void ipe::Vector::operator*= ( double  rhs)
inline

Multiply vector by scalar.

Vector ipe::Vector::operator+ ( const Vector rhs) const
inline

Vector-addition.

Vector ipe::Vector::operator- ( const Vector rhs) const
inline

Vector-subtraction.

Vector ipe::Vector::operator* ( double  rhs) const
inline

Vector * scalar.

Vector ipe::Vector::operator- ( ) const
inline

Unary minus for Vector.

Friends And Related Function Documentation

Stream & operator<< ( Stream stream,
const Vector rhs 
)
related
Vector operator* ( double  lhs,
const Vector rhs 
)
related

Scalar * vector.

References x, and y.

double dot ( const Vector lhs,
const Vector rhs 
)
related

Dotproduct of two vectors.

References x, and y.

Member Data Documentation


The documentation for this class was generated from the following files:
  • ipegeo.h
  • ipegeo.cpp

ipe-7.2.7/build/doc/classipe_1_1_visitor-members.html000644 000766 000000 00000007723 13022535406 024556 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::Visitor Member List

This is the complete list of members for ipe::Visitor, including all inherited members.

visitGroup(const Group *obj)ipe::Visitorvirtual
visitImage(const Image *obj)ipe::Visitorvirtual
visitPath(const Path *obj)ipe::Visitorvirtual
visitReference(const Reference *obj)ipe::Visitorvirtual
visitText(const Text *obj)ipe::Visitorvirtual
~Visitor()ipe::Visitorvirtual

ipe-7.2.7/build/doc/classipe_1_1_visitor.html000644 000766 000000 00000026760 13022535406 023130 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::Visitor Class Reference

#include <ipeobject.h>

Inherited by CollectSegs, ipe::BitmapFinder, and ipe::TextCollectingVisitor.

Public Member Functions

virtual ~Visitor ()
 
virtual void visitGroup (const Group *obj)
 
virtual void visitPath (const Path *obj)
 
virtual void visitText (const Text *obj)
 
virtual void visitImage (const Image *obj)
 
virtual void visitReference (const Reference *obj)
 

Detailed Description

Base class for visitors to Object.

Many operations on Ipe Objects are implemented as visitors, all derived from Visitor.

The default implementation of each visitXXX member does nothing.

Constructor & Destructor Documentation

Visitor::~Visitor ( )
virtual

Pure virtual destructor.

Referenced by ipe::Object::snapBnd().

Member Function Documentation

void Visitor::visitGroup ( const Group obj)
virtual

Called on an Group object.

Reimplemented in ipe::BitmapFinder.

Referenced by ipe::Group::accept().

void Visitor::visitPath ( const Path obj)
virtual

Called on an Path object.

Referenced by ipe::Path::accept().

void Visitor::visitText ( const Text obj)
virtual

Called on an Text object.

Referenced by ipe::Text::accept().

void Visitor::visitImage ( const Image obj)
virtual

Called on an Image object.

Reimplemented in ipe::BitmapFinder.

Referenced by ipe::Image::accept().

void Visitor::visitReference ( const Reference obj)
virtual

Called on an Reference object.

Referenced by ipe::Reference::accept().


The documentation for this class was generated from the following files:
  • ipeobject.h
  • ipeobject.cpp

ipe-7.2.7/build/doc/classipe_1_1_xml_attributes-members.html000644 000766 000000 00000012536 13022535406 026123 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::XmlAttributes Member List

This is the complete list of members for ipe::XmlAttributes, including all inherited members.

add(String key, String val)ipe::XmlAttributes
begin() const ipe::XmlAttributesinline
clear()ipe::XmlAttributes
const_iterator typedefipe::XmlAttributes
end() const ipe::XmlAttributesinline
has(String str) const ipe::XmlAttributes
has(String str, String &val) const ipe::XmlAttributes
operator[](String str) const ipe::XmlAttributes
setSlash()ipe::XmlAttributesinline
slash() const ipe::XmlAttributesinline
XmlAttributes()ipe::XmlAttributes

ipe-7.2.7/build/doc/classipe_1_1_xml_attributes.html000644 000766 000000 00000043231 13022535406 024467 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::XmlAttributes Class Reference
ipe::XmlAttributes Class Reference

#include <ipexml.h>

Public Types

typedef Map::const_iterator const_iterator
 

Public Member Functions

const_iterator begin () const
 
const_iterator end () const
 
 XmlAttributes ()
 
void clear ()
 
String operator[] (String str) const
 
bool has (String str) const
 
bool has (String str, String &val) const
 
void add (String key, String val)
 
void setSlash ()
 
bool slash () const
 

Detailed Description

Stores attributes of an XML tag.

Member Typedef Documentation

typedef Map::const_iterator ipe::XmlAttributes::const_iterator

Iterator for (key, value) pairs.

Constructor & Destructor Documentation

XmlAttributes::XmlAttributes ( )

Constructor for an empty collection.

Referenced by end().

Member Function Documentation

const_iterator ipe::XmlAttributes::begin ( ) const
inline

Return const iterator for first attribute.

const_iterator ipe::XmlAttributes::end ( ) const
inline

Return const iterator for end of attributes.

References add(), clear(), has(), operator[](), and XmlAttributes().

void XmlAttributes::clear ( )

Remove all attributes.

Referenced by end(), and ipe::XmlParser::parseAttributes().

String XmlAttributes::operator[] ( String  str) const

Return attribute with given key.

Returns an empty string if no attribute with this key exists.

Referenced by end().

bool XmlAttributes::has ( String  str,
String val 
) const

Check whether attribute exists, set val if so.

void XmlAttributes::add ( String  key,
String  val 
)

Add a new attribute.

Referenced by end(), and ipe::XmlParser::parseAttributes().

void ipe::XmlAttributes::setSlash ( )
inline

Set that the tag contains the final /.

Referenced by ipe::XmlParser::parseAttributes().

bool ipe::XmlAttributes::slash ( ) const
inline

Return whether tag contains the final /.

Referenced by ipe::ImlParser::parseBitmap(), ipe::ImlParser::parseObject(), and ipe::ImlParser::parseStyle().


The documentation for this class was generated from the following files:
  • ipexml.h
  • ipexml.cpp

ipe-7.2.7/build/doc/classipe_1_1_xml_parser-members.html000644 000766 000000 00000014643 13022535406 025232 0ustar00otfried.cheongwheel000000 000000 Ipelib: Member List
ipe::XmlParser Member List

This is the complete list of members for ipe::XmlParser, including all inherited members.

eos()ipe::XmlParserinline
getChar()ipe::XmlParserinline
iChipe::XmlParserprotected
iPosipe::XmlParserprotected
iSourceipe::XmlParserprotected
isTagChar(int ch)ipe::XmlParserinline
iTopElementipe::XmlParserprotected
parseAttributes(XmlAttributes &attr, bool qm=false)ipe::XmlParser
parsePCDATA(String tag, String &pcdata)ipe::XmlParser
parsePosition() const ipe::XmlParserinline
parseToTag()ipe::XmlParser
parseToTagX()ipe::XmlParserprotected
skipWhitespace()ipe::XmlParser
XmlParser(DataSource &source)ipe::XmlParser
~XmlParser()ipe::XmlParservirtual

ipe-7.2.7/build/doc/classipe_1_1_xml_parser.html000644 000766 000000 00000054324 13022535406 023602 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipe::XmlParser Class Reference

#include <ipexml.h>

Inherited by ipe::ImlParser.

Public Member Functions

 XmlParser (DataSource &source)
 
virtual ~XmlParser ()
 
int parsePosition () const
 
String parseToTag ()
 
bool parseAttributes (XmlAttributes &attr, bool qm=false)
 
bool parsePCDATA (String tag, String &pcdata)
 
bool isTagChar (int ch)
 
void getChar ()
 
bool eos ()
 
void skipWhitespace ()
 

Protected Member Functions

String parseToTagX ()
 

Protected Attributes

DataSourceiSource
 
String iTopElement
 
int iCh
 
int iPos
 

Detailed Description

Base class for XML stream parsing.

This is the base class for Ipe's XML parser. It only provides some utility functions for parsing tags and PCDATA. Derived classes implement the actual parsing using recursive descent parsers—after experimenting with various schemes for XML parsing, this seems to work best for Ipe.

Tag names and attribute names must consist of ASCII letters only. Only entities for '&', '<', and '>' are recognized.

Constructor & Destructor Documentation

XmlParser::XmlParser ( DataSource source)

Construct with a data source.

Referenced by ipe::XmlAttributes::has().

XmlParser::~XmlParser ( )
virtual

Virtual destructor, so one can destroy through pointer.

Member Function Documentation

int ipe::XmlParser::parsePosition ( ) const
inline
String XmlParser::parseToTag ( )

Parse whitespace and the name of a tag.

Like ParseToTagX, but silently skips over all tags whose name starts with "x-"

References ipe::String::size().

Referenced by ipe::ImlParser::parseDocument(), ipe::ImlParser::parseObject(), ipe::ImlParser::parsePage(), ipe::ImlParser::parsePageSelection(), ipe::ImlParser::parseStyle(), and ipe::ImlParser::parseStyleSheet().

bool XmlParser::parseAttributes ( XmlAttributes attr,
bool  qm = false 
)

Parse XML attributes.

Returns with stream just after >. Caller can check whether the tag ended with a / by checking attr.slash().

Set qm to true to allow a question mark just before the >.

References ipe::XmlAttributes::add(), ipe::XmlAttributes::clear(), ipe::String::empty(), and ipe::XmlAttributes::setSlash().

Referenced by ipe::ImlParser::parseBitmap(), ipe::ImlParser::parseDocument(), ipe::ImlParser::parseObject(), ipe::ImlParser::parsePage(), ipe::ImlParser::parsePageSelection(), ipe::ImlParser::parseStyle(), and ipe::ImlParser::parseStyleSheet().

bool XmlParser::parsePCDATA ( String  tag,
String pcdata 
)

Parse PCDATA.

Checks whether the data is terminated by </tag>, and returns with stream past the >.

References ipe::String::size().

Referenced by ipe::ImlParser::parseBitmap(), ipe::ImlParser::parseDocument(), ipe::ImlParser::parseObject(), ipe::ImlParser::parsePage(), and ipe::ImlParser::parseStyle().

bool ipe::XmlParser::isTagChar ( int  ch)
inline
void ipe::XmlParser::getChar ( )
inline
bool ipe::XmlParser::eos ( )
inline
void XmlParser::skipWhitespace ( )
String XmlParser::parseToTagX ( )
protected

Parse whitespace and the name of a tag.

If the tag is a closing tag, skips > and returns with stream after that. Otherwise, returns with stream just after the tag name.

Comments and <!TAG .. > are skipped silently.

Member Data Documentation

DataSource& ipe::XmlParser::iSource
protected
String ipe::XmlParser::iTopElement
protected
int ipe::XmlParser::iCh
protected
int ipe::XmlParser::iPos
protected

The documentation for this class was generated from the following files:
  • ipexml.h
  • ipexml.cpp

ipe-7.2.7/build/doc/closed.png000644 000766 000000 00000000204 13022535406 020160 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR KIDATxm @!Gk7-`&sts@k}2 P%_N .:0Dk›x" ֛)x5IENDB`ipe-7.2.7/build/doc/cpp-ipelets.html000644 000766 000000 00000042202 13022535406 021320 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipelets written in C++
Ipelets written in C++

As in Ipe 6, it is possible to write ipelets entirely in C++. Different from Ipe 6, however, the labels of the ipelet and its functions must now be specified in a short Lua wrapper with some boilerplate code. This Lua code will invoke your C++ methods.

C++ ipelet framework

The C++ code is in a dynamically loaded library (DLL), that you place on Ipe's C++ ipelet path. The DLL has to be written in C++, and must export a function newIpelet that creates an object derived from the class Ipelet (defined in ipelet.h). Here is a minimal ipelet implementation:

#include "ipelet.h"

class MyIpelet : public ipe::Ipelet {
public:
  virtual int ipelibVersion() const { return IPELIB_VERSION; }
  virtual bool run(int function, ipe::IpeletData *data, ipe::IpeletHelper *helper);
};

bool MyIpelet::run(int function, ipe::IpeletData *data, ipe::IpeletHelper *helper)
{
  // this is where you do all the work
}

IPELET_DECLARE ipe::Ipelet *newIpelet()
{
  return new MyIpelet;
}

When the ipelet is executed, Ipe hands it a structure with some information about the document, in particular a pointer to the current page. The ipelet can examine the selected objects, and modify the page in any way it wishes. (It is not possible to modify the document outside the current page, as this would interfere with the undo stack). It can also request services from the Ipe application through the IpeletHelper object, for instance to display a message in the status bar, to pop up message boxes and to obtain input from the user.

The run method must return true if it modified the document page. This is used to create an item on the undo stack so that this change can be undone. If the run method returns false, then no undo stack item is created. In this case, the ipelet must not modify the page.

The Lua wrapper

You need to provide a small Lua wrapper that declares the names of the ipelet and its methods, and that calls your C++ code when an ipelet method is invoked. This wrapper will look as follows:

-- Lua wrapper for C++ ipelet "myipelet"

label = "My Ipelet"

about = "This ipelet is for explanation only"

-- this variable will store the C++ ipelet when it has been loaded
ipelet = false

function run(ui, num)
  if not ipelet then ipelet = assert(loadIpelet("myipelet"))
  ui:runIpelet(ipelet, mum) 
end

methods = { { label = "First function of my ipelet" },
            { label = "Second function of my ipelet" }
          }

If the ipelet contains only a single method, then the methods table is omitted.

The Lua wrapper needs to be placed in Ipe's ipelet directory. When Ipe starts up, it automatically loads all ipelets from this directory. Note that the wrapper above does not immediately load the C++ ipelet (using loadIpelet) when the Lua wrapper is loaded by Ipe, but only when the first method of the ipelet is called. This is considered good style.

An example ipelet

Kgon is a minimal ipelet that you can use as the basis for your own development. It defines only a single function, and makes no use of the function argument to run.

// --------------------------------------------------------------------
// Ipelet for creating regular k-gons
// --------------------------------------------------------------------
#include "ipelet.h"
#include "ipepath.h"
#include "ipepage.h"
using namespace ipe;
// --------------------------------------------------------------------
class KGonIpelet : public Ipelet {
public:
virtual int ipelibVersion() const { return IPELIB_VERSION; }
virtual bool run(int, IpeletData *data, IpeletHelper *helper);
};
// --------------------------------------------------------------------
bool KGonIpelet::run(int, IpeletData *data, IpeletHelper *helper)
{
Page *page = data->iPage;
int sel = page->primarySelection();
if (sel < 0) {
helper->message("No selection");
return false;
}
const Path *p = page->object(sel)->asPath();
if (p == 0 || p->shape().countSubPaths() != 1 ||
helper->message("Primary selection is not a circle");
return false;
}
String str;
if (!helper->getString("Enter k (number of corners)", str))
return false;
int k = Lex(str).getInt();
if (k < 3 || k > 1000)
return false;
const Ellipse *e = p->shape().subPath(0)->asEllipse();
Matrix m = p->matrix() * e->matrix();
Vector center = m.translation();
Vector v = m * Vector(1,0);
double radius = (v - center).len();
Curve *sp = new Curve;
double alpha = 2.0 * IpePi / k;
Vector v0 = center + radius * Vector(1,0);
for (int i = 1; i < k; ++i) {
Vector v1 = center + radius * Vector(Angle(i * alpha));
sp->appendSegment(v0, v1);
v0 = v1;
}
sp->setClosed(true);
Shape shape;
shape.appendSubPath(sp);
Path *obj = new Path(data->iAttributes, shape);
page->append(ESecondarySelected, data->iLayer, obj);
helper->message("Created regular k-gon");
return true;
}
// --------------------------------------------------------------------
IPELET_DECLARE Ipelet *newIpelet()
{
return new KGonIpelet;
}
// --------------------------------------------------------------------

The Lua wrapper would look like this:

----------------------------------------------------------------------
-- kgon ipelet description
----------------------------------------------------------------------
label = "Regular k-gon"
about = [[
Constructs a regular k-gon from a circle.
This ipelet is part of Ipe.
]]
-- this variable will store the C++ ipelet when it has been loaded
ipelet = false
function run(model)
if not ipelet then ipelet = assert(ipe.Ipelet(dllname)) end
model:runIpelet(label, ipelet)
end
-- define a shortcut for this function
shortcuts.ipelet_1_kgon = "Alt+Ctrl+K"
----------------------------------------------------------------------

Compiling ipelets on Unix

The ipelet must be compiled as a shared library and must be linked with the Ipe library ``libipe.so''. C++ mandates that it must be compiled with the same compiler that was used to compile Ipe. Have a look at the ipelet sources in the Ipe source distribution, and their makefiles for details on compiling them.

Compiling ipelets on Windows

The ipelet must be compiled as a DLL and must be linked with the Ipe library ``ipe.dll''. C++ mandates that it must be compiled with the same compiler that was used to compile Ipe. If you use the binary Ipe distribution for Windows, that means you have to use the MinGW compiler. (If you haven't used it before: MinGW is a port of g++ for Windows).

The Ipe Windows distribution contains the necessary header files and the library to compile ipelets, as well as the source of the kgon'' andgoodies'' ipelets as examples. To compile the ``kgon'' example, open a command shell, make sure MinGW g++ is on your path, and say:

  g++ -c -O2 -DWIN32 -fno-exceptions -fno-rtti -Iinclude kgon.cpp
  g++ -shared -o kgon.dll kgon.o -Llib -lipe

Place the resulting kgon.dll in the ipelets subdirectory, and restart Ipe.


ipe-7.2.7/build/doc/dir_7b54d492694b293bf8b54c70d2fe7f56.html000644 000766 000000 00000006477 13022535406 024274 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipecairo Directory Reference
ipecairo Directory Reference

Files

file  ipecairopainter.cpp
 
file  ipecairopainter.h
 
file  ipefonts.cpp
 
file  ipefonts.h
 
file  ipethumbs.cpp
 
file  ipethumbs.h
 

ipe-7.2.7/build/doc/dir_91a90e6e897462a7bb8a7a0fc103953b.html000644 000766 000000 00000014564 13022535407 024250 0ustar00otfried.cheongwheel000000 000000 Ipelib: ipecanvas Directory Reference
ipecanvas Directory Reference

Files

file  ipecanvas.cpp
 
file  ipecanvas.h
 
file  ipecanvas_cocoa.cpp
 
file  ipecanvas_cocoa.h
 
file  ipecanvas_gtk.cpp
 
file  ipecanvas_gtk.h
 
file  ipecanvas_qt.cpp
 
file  ipecanvas_qt.h
 
file  ipecanvas_win.cpp
 
file  ipecanvas_win.h
 
file  ipeselector_cocoa.cpp
 
file  ipeselector_cocoa.h
 
file  ipeselector_gtk.cpp
 
file  ipeselector_qt.cpp
 
file  ipeselector_qt.h
 
file  ipeselector_win.cpp
 
file  ipetool.cpp
 
file  ipetool.h
 

ipe-7.2.7/build/doc/dir_d44c64559bbebec7f509842c48db8b23.html000644 000766 000000 00000021457 13022535407 024416 0ustar00otfried.cheongwheel000000 000000 Ipelib: include Directory Reference
include Directory Reference

Files

file  ipeattributes.h
 
file  ipebase.h
 
file  ipebitmap.h
 
file  ipedoc.h
 
file  ipefactory.h
 
file  ipegeo.h
 
file  ipegroup.h
 
file  ipeimage.h
 
file  ipeiml.h
 
file  ipelatex.h
 
file  ipelet.h
 
file  ipelib.h
 
file  ipeobject.h
 
file  ipeosx.h
 
file  ipepage.h
 
file  ipepainter.h
 
file  ipepath.h
 
file  ipepdfparser.h
 
file  ipepdfwriter.h
 
file  ipepswriter.h
 
file  ipereference.h
 
file  iperesources.h
 
file  ipeshape.h
 
file  ipesnap.h
 
file  ipestyle.h
 
file  ipetext.h
 
file  ipetoolbase.h
 
file  ipeutils.h
 
file  ipexml.h
 

ipe-7.2.7/build/doc/doc.png000644 000766 000000 00000001352 13022535407 017462 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR}\IDATxMOS[sa?-XZ(PD4 AWbu`b 77wHFCԁ/`voAPqP@ 980 +y^Z9SW\83g3'Nçl_bpV"ֆXd]3xM[1W *PGz/Eg{ aoV:这1$RW,@56-,m/蹖 r5T*S(Vf89u գwa=<{ҡUr+dDF$`zNܮ0Q3~_^N=vpTLT}kqm<?ZhX_ݥ[) `ga_*2`'=F2EP l=8Wv%THqɿ<"GxH{#֫aJmKsVءM^ T ݛr߽m_?Wİ#uIENDB`ipe-7.2.7/build/doc/doxygen.css000644 000766 000000 00000062417 13022535407 020407 0ustar00otfried.cheongwheel000000 000000 /* The standard CSS for doxygen 1.8.11 */ body, table, div, p, dl { font: 400 14px/22px Roboto,sans-serif; } /* @group Heading Levels */ h1.groupheader { font-size: 150%; } .title { font: 400 14px/28px Roboto,sans-serif; font-size: 150%; font-weight: bold; margin: 10px 2px; } h2.groupheader { border-bottom: 1px solid #879ECB; color: #354C7B; font-size: 150%; font-weight: normal; margin-top: 1.75em; padding-top: 8px; padding-bottom: 4px; width: 100%; } h3.groupheader { font-size: 100%; } h1, h2, h3, h4, h5, h6 { -webkit-transition: text-shadow 0.5s linear; -moz-transition: text-shadow 0.5s linear; -ms-transition: text-shadow 0.5s linear; -o-transition: text-shadow 0.5s linear; transition: text-shadow 0.5s linear; margin-right: 15px; } h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { text-shadow: 0 0 15px cyan; } dt { font-weight: bold; } div.multicol { -moz-column-gap: 1em; -webkit-column-gap: 1em; -moz-column-count: 3; -webkit-column-count: 3; } p.startli, p.startdd { margin-top: 2px; } p.starttd { margin-top: 0px; } p.endli { margin-bottom: 0px; } p.enddd { margin-bottom: 4px; } p.endtd { margin-bottom: 2px; } /* @end */ caption { font-weight: bold; } span.legend { font-size: 70%; text-align: center; } h3.version { font-size: 90%; text-align: center; } div.qindex, div.navtab{ background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; } div.qindex, div.navpath { width: 100%; line-height: 140%; } div.navtab { margin-right: 15px; } /* @group Link Styling */ a { color: #3D578C; font-weight: normal; text-decoration: none; } .contents a:visited { color: #4665A2; } a:hover { text-decoration: underline; } a.qindex { font-weight: bold; } a.qindexHL { font-weight: bold; background-color: #9CAFD4; color: #ffffff; border: 1px double #869DCA; } .contents a.qindexHL:visited { color: #ffffff; } a.el { font-weight: bold; } a.elRef { } a.code, a.code:visited, a.line, a.line:visited { color: #4665A2; } a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { color: #4665A2; } /* @end */ dl.el { margin-left: -1cm; } pre.fragment { border: 1px solid #C4CFE5; background-color: #FBFCFD; padding: 4px 6px; margin: 4px 8px 4px 2px; overflow: auto; word-wrap: break-word; font-size: 9pt; line-height: 125%; font-family: monospace, fixed; font-size: 105%; } div.fragment { padding: 4px 6px; margin: 4px 8px 4px 2px; background-color: #FBFCFD; border: 1px solid #C4CFE5; } div.line { font-family: monospace, fixed; font-size: 13px; min-height: 13px; line-height: 1.0; text-wrap: unrestricted; white-space: -moz-pre-wrap; /* Moz */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */ text-indent: -53px; padding-left: 53px; padding-bottom: 0px; margin: 0px; -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } div.line:after { content:"\000A"; white-space: pre; } div.line.glow { background-color: cyan; box-shadow: 0 0 10px cyan; } span.lineno { padding-right: 4px; text-align: right; border-right: 2px solid #0F0; background-color: #E8E8E8; white-space: pre; } span.lineno a { background-color: #D8D8D8; } span.lineno a:hover { background-color: #C8C8C8; } div.ah, span.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px; padding: 0.2em; border: solid thin #333; border-radius: 0.5em; -webkit-border-radius: .5em; -moz-border-radius: .5em; box-shadow: 2px 2px 3px #999; -webkit-box-shadow: 2px 2px 3px #999; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); } div.classindex ul { list-style: none; padding-left: 0; } div.classindex span.ai { display: inline-block; } div.groupHeader { margin-left: 16px; margin-top: 12px; font-weight: bold; } div.groupText { margin-left: 16px; font-style: italic; } body { background-color: white; color: black; margin: 0; } div.contents { margin-top: 10px; margin-left: 12px; margin-right: 8px; } td.indexkey { background-color: #EBEFF6; font-weight: bold; border: 1px solid #C4CFE5; margin: 2px 0px 2px 0; padding: 2px 10px; white-space: nowrap; vertical-align: top; } td.indexvalue { background-color: #EBEFF6; border: 1px solid #C4CFE5; padding: 2px 10px; margin: 2px 0px; } tr.memlist { background-color: #EEF1F7; } p.formulaDsp { text-align: center; } img.formulaDsp { } img.formulaInl { vertical-align: middle; } div.center { text-align: center; margin-top: 0px; margin-bottom: 0px; padding: 0px; } div.center img { border: 0px; } address.footer { text-align: right; padding-right: 12px; } img.footer { border: 0px; vertical-align: middle; } /* @group Code Colorization */ span.keyword { color: #008000 } span.keywordtype { color: #604020 } span.keywordflow { color: #e08000 } span.comment { color: #800000 } span.preprocessor { color: #806020 } span.stringliteral { color: #002080 } span.charliteral { color: #008080 } span.vhdldigit { color: #ff00ff } span.vhdlchar { color: #000000 } span.vhdlkeyword { color: #700070 } span.vhdllogic { color: #ff0000 } blockquote { background-color: #F7F8FB; border-left: 2px solid #9CAFD4; margin: 0 24px 0 4px; padding: 0 12px 0 16px; } /* @end */ /* .search { color: #003399; font-weight: bold; } form.search { margin-bottom: 0px; margin-top: 0px; } input.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } */ td.tiny { font-size: 75%; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #A3B4D7; } th.dirtab { background: #EBEFF6; font-weight: bold; } hr { height: 0px; border: none; border-top: 1px solid #4A6AAA; } hr.footer { height: 1px; } /* @group Member Descriptions */ table.memberdecls { border-spacing: 0px; padding: 0px; } .memberdecls td, .fieldtable tr { -webkit-transition-property: background-color, box-shadow; -webkit-transition-duration: 0.5s; -moz-transition-property: background-color, box-shadow; -moz-transition-duration: 0.5s; -ms-transition-property: background-color, box-shadow; -ms-transition-duration: 0.5s; -o-transition-property: background-color, box-shadow; -o-transition-duration: 0.5s; transition-property: background-color, box-shadow; transition-duration: 0.5s; } .memberdecls td.glow, .fieldtable tr.glow { background-color: cyan; box-shadow: 0 0 15px cyan; } .mdescLeft, .mdescRight, .memItemLeft, .memItemRight, .memTemplItemLeft, .memTemplItemRight, .memTemplParams { background-color: #F9FAFC; border: none; margin: 4px; padding: 1px 0 0 8px; } .mdescLeft, .mdescRight { padding: 0px 8px 4px 8px; color: #555; } .memSeparator { border-bottom: 1px solid #DEE4F0; line-height: 1px; margin: 0px; padding: 0px; } .memItemLeft, .memTemplItemLeft { white-space: nowrap; } .memItemRight { width: 100%; } .memTemplParams { color: #4665A2; white-space: nowrap; font-size: 80%; } /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ .memtemplate { font-size: 80%; color: #4665A2; font-weight: normal; margin-left: 9px; } .memnav { background-color: #EBEFF6; border: 1px solid #A3B4D7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .mempage { width: 100%; } .memitem { padding: 0; margin-bottom: 10px; margin-right: 5px; -webkit-transition: box-shadow 0.5s linear; -moz-transition: box-shadow 0.5s linear; -ms-transition: box-shadow 0.5s linear; -o-transition: box-shadow 0.5s linear; transition: box-shadow 0.5s linear; display: table !important; width: 100%; } .memitem.glow { box-shadow: 0 0 15px cyan; } .memname { font-weight: bold; margin-left: 6px; } .memname td { vertical-align: bottom; } .memproto, dl.reflist dt { border-top: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 0px 6px 0px; color: #253555; font-weight: bold; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; /* opera specific markup */ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); border-top-right-radius: 4px; border-top-left-radius: 4px; /* firefox specific markup */ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; -moz-border-radius-topright: 4px; -moz-border-radius-topleft: 4px; /* webkit specific markup */ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -webkit-border-top-right-radius: 4px; -webkit-border-top-left-radius: 4px; } .memdoc, dl.reflist dd { border-bottom: 1px solid #A8B8D9; border-left: 1px solid #A8B8D9; border-right: 1px solid #A8B8D9; padding: 6px 10px 2px 10px; background-color: #FBFCFD; border-top-width: 0; background-image:url('nav_g.png'); background-repeat:repeat-x; background-color: #FFFFFF; /* opera specific markup */ border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); /* firefox specific markup */ -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; /* webkit specific markup */ -webkit-border-bottom-left-radius: 4px; -webkit-border-bottom-right-radius: 4px; -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); } dl.reflist dt { padding: 5px; } dl.reflist dd { margin: 0px 0px 10px 0px; padding: 5px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; white-space: nowrap; } .paramname em { font-style: normal; } .paramname code { line-height: 14px; } .params, .retval, .exception, .tparams { margin-left: 0px; padding-left: 0px; } .params .paramname, .retval .paramname { font-weight: bold; vertical-align: top; } .params .paramtype { font-style: italic; vertical-align: top; } .params .paramdir { font-family: "courier new",courier,monospace; vertical-align: top; } table.mlabels { border-spacing: 0px; } td.mlabels-left { width: 100%; padding: 0px; } td.mlabels-right { vertical-align: bottom; padding: 0px; white-space: nowrap; } span.mlabels { margin-left: 8px; } span.mlabel { background-color: #728DC1; border-top:1px solid #5373B4; border-left:1px solid #5373B4; border-right:1px solid #C4CFE5; border-bottom:1px solid #C4CFE5; text-shadow: none; color: white; margin-right: 4px; padding: 2px 3px; border-radius: 3px; font-size: 7pt; white-space: nowrap; vertical-align: middle; } /* @end */ /* these are for tree view inside a (index) page */ div.directory { margin: 10px 0px; border-top: 1px solid #9CAFD4; border-bottom: 1px solid #9CAFD4; width: 100%; } .directory table { border-collapse:collapse; } .directory td { margin: 0px; padding: 0px; vertical-align: top; } .directory td.entry { white-space: nowrap; padding-right: 6px; padding-top: 3px; } .directory td.entry a { outline:none; } .directory td.entry a img { border: none; } .directory td.desc { width: 100%; padding-left: 6px; padding-right: 6px; padding-top: 3px; border-left: 1px solid rgba(0,0,0,0.05); } .directory tr.even { padding-left: 6px; background-color: #F7F8FB; } .directory img { vertical-align: -30%; } .directory .levels { white-space: nowrap; width: 100%; text-align: right; font-size: 9pt; } .directory .levels span { cursor: pointer; padding-left: 2px; padding-right: 2px; color: #3D578C; } .arrow { color: #9CAFD4; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; cursor: pointer; font-size: 80%; display: inline-block; width: 16px; height: 22px; } .icon { font-family: Arial, Helvetica; font-weight: bold; font-size: 12px; height: 14px; width: 16px; display: inline-block; background-color: #728DC1; color: white; text-align: center; border-radius: 4px; margin-left: 2px; margin-right: 2px; } .icona { width: 24px; height: 22px; display: inline-block; } .iconfopen { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderopen.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .iconfclosed { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('folderclosed.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } .icondoc { width: 24px; height: 18px; margin-bottom: 4px; background-image:url('doc.png'); background-position: 0px -4px; background-repeat: repeat-y; vertical-align:top; display: inline-block; } table.directory { font: 400 14px Roboto,sans-serif; } /* @end */ div.dynheader { margin-top: 8px; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } address { font-style: normal; color: #2A3D61; } table.doxtable caption { caption-side: top; } table.doxtable { border-collapse:collapse; margin-top: 4px; margin-bottom: 4px; } table.doxtable td, table.doxtable th { border: 1px solid #2D4068; padding: 3px 7px 2px; } table.doxtable th { background-color: #374F7F; color: #FFFFFF; font-size: 110%; padding-bottom: 4px; padding-top: 5px; } table.fieldtable { /*width: 100%;*/ margin-bottom: 10px; border: 1px solid #A8B8D9; border-spacing: 0px; -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px; -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); } .fieldtable td, .fieldtable th { padding: 3px 7px 2px; } .fieldtable td.fieldtype, .fieldtable td.fieldname { white-space: nowrap; border-right: 1px solid #A8B8D9; border-bottom: 1px solid #A8B8D9; vertical-align: top; } .fieldtable td.fieldname { padding-top: 3px; } .fieldtable td.fielddoc { border-bottom: 1px solid #A8B8D9; /*width: 100%;*/ } .fieldtable td.fielddoc p:first-child { margin-top: 0px; } .fieldtable td.fielddoc p:last-child { margin-bottom: 2px; } .fieldtable tr:last-child td { border-bottom: none; } .fieldtable th { background-image:url('nav_f.png'); background-repeat:repeat-x; background-color: #E2E8F2; font-size: 90%; color: #253555; padding-bottom: 4px; padding-top: 5px; text-align:left; -moz-border-radius-topleft: 4px; -moz-border-radius-topright: 4px; -webkit-border-top-left-radius: 4px; -webkit-border-top-right-radius: 4px; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom: 1px solid #A8B8D9; } .tabsearch { top: 0px; left: 10px; height: 36px; background-image: url('tab_b.png'); z-index: 101; overflow: hidden; font-size: 13px; } .navpath ul { font-size: 11px; background-image:url('tab_b.png'); background-repeat:repeat-x; background-position: 0 -5px; height:30px; line-height:30px; color:#8AA0CC; border:solid 1px #C2CDE4; overflow:hidden; margin:0px; padding:0px; } .navpath li { list-style-type:none; float:left; padding-left:10px; padding-right:15px; background-image:url('bc_s.png'); background-repeat:no-repeat; background-position:right; color:#364D7C; } .navpath li.navelem a { height:32px; display:block; text-decoration: none; outline: none; color: #283A5D; font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); text-decoration: none; } .navpath li.navelem a:hover { color:#6884BD; } .navpath li.footer { list-style-type:none; float:right; padding-left:10px; padding-right:15px; background-image:none; background-repeat:no-repeat; background-position:right; color:#364D7C; font-size: 8pt; } div.summary { float: right; font-size: 8pt; padding-right: 5px; width: 50%; text-align: right; } div.summary a { white-space: nowrap; } table.classindex { margin: 10px; white-space: nowrap; margin-left: 3%; margin-right: 3%; width: 94%; border: 0; border-spacing: 0; padding: 0; } div.ingroups { font-size: 8pt; width: 50%; text-align: left; } div.ingroups a { white-space: nowrap; } div.header { background-image:url('nav_h.png'); background-repeat:repeat-x; background-color: #F9FAFC; margin: 0px; border-bottom: 1px solid #C4CFE5; } div.headertitle { padding: 5px 5px 5px 10px; } dl { padding: 0 0 0 10px; } /* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ dl.section { margin-left: 0px; padding-left: 0px; } dl.note { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #D0C000; } dl.warning, dl.attention { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #FF0000; } dl.pre, dl.post, dl.invariant { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #00D000; } dl.deprecated { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #505050; } dl.todo { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #00C0E0; } dl.test { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #3030E0; } dl.bug { margin-left:-7px; padding-left: 3px; border-left:4px solid; border-color: #C08050; } dl.section dd { margin-bottom: 6px; } #projectlogo { text-align: center; vertical-align: bottom; border-collapse: separate; } #projectlogo img { border: 0px none; } #projectalign { vertical-align: middle; } #projectname { font: 300% Tahoma, Arial,sans-serif; margin: 0px; padding: 2px 0px; } #projectbrief { font: 120% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #projectnumber { font: 50% Tahoma, Arial,sans-serif; margin: 0px; padding: 0px; } #titlearea { padding: 0px; margin: 0px; width: 100%; border-bottom: 1px solid #5373B4; } .image { text-align: center; } .dotgraph { text-align: center; } .mscgraph { text-align: center; } .diagraph { text-align: center; } .caption { font-weight: bold; } div.zoom { border: 1px solid #90A5CE; } dl.citelist { margin-bottom:50px; } dl.citelist dt { color:#334975; float:left; font-weight:bold; margin-right:10px; padding:5px; } dl.citelist dd { margin:2px 0; padding:5px 0; } div.toc { padding: 14px 25px; background-color: #F4F6FA; border: 1px solid #D8DFEE; border-radius: 7px 7px 7px 7px; float: right; height: auto; margin: 0 8px 10px 10px; width: 200px; } div.toc li { background: url("bdwn.png") no-repeat scroll 0 5px transparent; font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; margin-top: 5px; padding-left: 10px; padding-top: 2px; } div.toc h3 { font: bold 12px/1.2 Arial,FreeSans,sans-serif; color: #4665A2; border-bottom: 0 none; margin: 0; } div.toc ul { list-style: none outside none; border: medium none; padding: 0px; } div.toc li.level1 { margin-left: 0px; } div.toc li.level2 { margin-left: 15px; } div.toc li.level3 { margin-left: 30px; } div.toc li.level4 { margin-left: 45px; } .inherit_header { font-weight: bold; color: gray; cursor: pointer; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .inherit_header td { padding: 6px 0px 2px 5px; } .inherit { display: none; } tr.heading h2 { margin-top: 12px; margin-bottom: 4px; } /* tooltip related style info */ .ttc { position: absolute; display: none; } #powerTip { cursor: default; white-space: nowrap; background-color: white; border: 1px solid gray; border-radius: 4px 4px 4px 4px; box-shadow: 1px 1px 7px gray; display: none; font-size: smaller; max-width: 80%; opacity: 0.9; padding: 1ex 1em 1em; position: absolute; z-index: 2147483647; } #powerTip div.ttdoc { color: grey; font-style: italic; } #powerTip div.ttname a { font-weight: bold; } #powerTip div.ttname { font-weight: bold; } #powerTip div.ttdeci { color: #006318; } #powerTip div { margin: 0px; padding: 0px; font: 12px/16px Roboto,sans-serif; } #powerTip:before, #powerTip:after { content: ""; position: absolute; margin: 0px; } #powerTip.n:after, #powerTip.n:before, #powerTip.s:after, #powerTip.s:before, #powerTip.w:after, #powerTip.w:before, #powerTip.e:after, #powerTip.e:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.se:after, #powerTip.se:before, #powerTip.nw:after, #powerTip.nw:before, #powerTip.sw:after, #powerTip.sw:before { border: solid transparent; content: " "; height: 0; width: 0; position: absolute; } #powerTip.n:after, #powerTip.s:after, #powerTip.w:after, #powerTip.e:after, #powerTip.nw:after, #powerTip.ne:after, #powerTip.sw:after, #powerTip.se:after { border-color: rgba(255, 255, 255, 0); } #powerTip.n:before, #powerTip.s:before, #powerTip.w:before, #powerTip.e:before, #powerTip.nw:before, #powerTip.ne:before, #powerTip.sw:before, #powerTip.se:before { border-color: rgba(128, 128, 128, 0); } #powerTip.n:after, #powerTip.n:before, #powerTip.ne:after, #powerTip.ne:before, #powerTip.nw:after, #powerTip.nw:before { top: 100%; } #powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { border-top-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.n:before { border-top-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.n:after, #powerTip.n:before { left: 50%; } #powerTip.nw:after, #powerTip.nw:before { right: 14px; } #powerTip.ne:after, #powerTip.ne:before { left: 14px; } #powerTip.s:after, #powerTip.s:before, #powerTip.se:after, #powerTip.se:before, #powerTip.sw:after, #powerTip.sw:before { bottom: 100%; } #powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { border-bottom-color: #ffffff; border-width: 10px; margin: 0px -10px; } #powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { border-bottom-color: #808080; border-width: 11px; margin: 0px -11px; } #powerTip.s:after, #powerTip.s:before { left: 50%; } #powerTip.sw:after, #powerTip.sw:before { right: 14px; } #powerTip.se:after, #powerTip.se:before { left: 14px; } #powerTip.e:after, #powerTip.e:before { left: 100%; } #powerTip.e:after { border-left-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.e:before { border-left-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } #powerTip.w:after, #powerTip.w:before { right: 100%; } #powerTip.w:after { border-right-color: #ffffff; border-width: 10px; top: 50%; margin-top: -10px; } #powerTip.w:before { border-right-color: #808080; border-width: 11px; top: 50%; margin-top: -11px; } @media print { #top { display: none; } #side-nav { display: none; } #nav-path { display: none; } body { overflow:visible; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } .summary { display: none; } .memitem { page-break-inside: avoid; } #doc-content { margin-left:0 !important; height:auto !important; width:auto !important; overflow:inherit; display:inline; } } ipe-7.2.7/build/doc/doxygen.png000644 000766 000000 00000007303 13022535407 020374 0ustar00otfried.cheongwheel000000 000000 PNG  IHDRh ;IDATx]y\պ~45%TL QPE"q11]8aw*(*" z`8 m,p$%B(8k6lk[߷;?kPx'tz3_Q4g@m ci{~4:Hc'PP7^h zbcP 3}OqNkT(?d ~z<4ǡ؞vz٦Zd,6k]Fz< Zs?sU2Sw1c`[}%ѽ.Լ6BLZ!F8[ T #g]:vu?vbR?wgb$kF~;عƕX?lNʪ,HCgAzlӺg ]jM3oҳ'=$f}GS_co.ȹ:ds:1={9?zqviDp moaEqҵw}~{j{ºFNë[OqOSXO]>muľe5{Jկ(bl}`UyacCAklysA7oJ .Be. Z'-PyF.lp&.j7rez19HG%qz׈c_k_")HJn~֘5 q5#+9T Rܸrzϴ̝ =υ{áOfwg|/$;֙ƭ]W"/< DఽB}yIEc^=[VhM$l];Kr¦* t$]M;I1!M (f<5~z mՠ>کIz;u[ie^ӳNF6B\}7+,'a -yHY,^f~?Hc{Z+4\sٷnߣFơsغD?<vkx0MlذIxdEEAMg*YE7ۙ^[uv[wG=Edn׶l'pGk+C82 dz3H BS[wŘ ~xptmţiQ歉AB1fى4uI]6% 1t.NJphz̠R1"3-"&1[:N mW0_œ 6&)ꦬ}~{m]zMP~^:eQT_*798ˍ 347E¿uSɻU_ NWeNӏ|;;d"ȉ޵ᆴ"ĴMM+bY_E]PXKНIޥoE<_(EP|m,өZߺk,kM`jzeU t36˷r}w:Χ |TܵQK_pໃYd0!a –W$$/\$ 2mLH dHV,:RZJaz*>_NT(‚^SVFU8E܈nd;8\C]=m:bDd=ߞUU5O|]Pv\]2"y[yzg{Y{Ù5;w{N3nĨwKݭ29Id y)P8ũ@mPwjl,6 hWd ump.DžtwR xBδYcxg*vo y򑕓[?V0NO난~󒯷h#Hk8kӍ^q@]ӓ,56-κUn[>]@nϜp[6# 4tn:}8T9_Y$/GK(ђM`dѺ;OB &P{qhJ+閧l2M_1ӫtlya L^y.۽[ u/]iS}N>e1qjf&iT\=kϛX-.84V5u!TE .OH4zwTr. xքHHg hT$yqzp< qrwI]I鲘s":ՖbզL69VW<;3?M3AV#ޯKUr9!qtH+6V/TS^pqgLP'5E ޺ n"2|;W"֬TwtO' +W+Z̖<&nO,I06.Z.h*INڒOegBXZ9hDSʍ A/c`A"z|ş;H#|%OOD mcƤqmu&~n πZj =_n[nN$_bE)8?6l}#bW( d-p&a"9ņ$ڛA!;{~8ޣ10`#kuN Qbh 8Mawhq(bK Z%m֍(J)@> 7% {y ohf>{p.­_%glZ\B2B #Һphݚ[<#SpA7Ht4:|gtL*($Ʃ$;b`=MM5ǾHH.HeA5}rd)T};Q5i2O00;,냔}g]79_{C>h{.II?[Kswz6u;OJa˶zvd l舊yc'rTWӰL |ʽhB T'ò]K(=Kx  L,Pʵu׈ž1ݫ;pGDxZY kf676oھH~޸ 8Up6(? K+?%ݷ/19U?B)l @=ޞkIENDB`ipe-7.2.7/build/doc/dynsections.js000644 000766 000000 00000006104 13022535407 021107 0ustar00otfried.cheongwheel000000 000000 function toggleVisibility(linkObj) { var base = $(linkObj).attr('id'); var summary = $('#'+base+'-summary'); var content = $('#'+base+'-content'); var trigger = $('#'+base+'-trigger'); var src=$(trigger).attr('src'); if (content.is(':visible')===true) { content.hide(); summary.show(); $(linkObj).addClass('closed').removeClass('opened'); $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); } else { content.show(); summary.hide(); $(linkObj).removeClass('closed').addClass('opened'); $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); } return false; } function updateStripes() { $('table.directory tr'). removeClass('even').filter(':visible:even').addClass('even'); } function toggleLevel(level) { $('table.directory tr').each(function() { var l = this.id.split('_').length-1; var i = $('#img'+this.id.substring(3)); var a = $('#arr'+this.id.substring(3)); if (l ipe-7.2.7/build/doc/example2.svg000644 000766 000000 00000031277 13022535407 020456 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/example3.svg000644 000766 000000 00000012455 13022535407 020454 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/example4.svg000644 000766 000000 00000012653 13022535407 020455 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/example5.svg000644 000766 000000 00000022244 13022535407 020453 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/example6.svg000644 000766 000000 00000012206 13022535407 020451 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/folderclosed.png000644 000766 000000 00000001150 13022535407 021356 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR}\/IDATx]MO@~uؐlp]#]PYEC\9y`xC &=qvZv3m؃vLN}}ޝZA@n ONp xKxj8s _[D'yye+ 7#rNlk* 0Ь_d_(Öz=xvhzP-䍒̪u$\DJcB4.:Ϗ-}LE #gN;B6䬜@p&h>p9EEάʑ"un$R"?{<%PNt$߶+^<"2Dqq\ҙaA"ԵP}#Ez{.8i p(ADwDE߂z;Kק8t q:uvvݛvEn{MFXgfZ֝*ߩ:jYq#3SWr'  IENDB`ipe-7.2.7/build/doc/folderopen.png000644 000766 000000 00000001125 13022535407 021050 0ustar00otfried.cheongwheel000000 000000 PNG  IHDR}\IDATx]?oP9i4i;iiZ7`b٬,HU'$*T]TDP6w};C; aӝߟjAInS}9Hӎ|? =_Ɗue*;YEsYBėsٌ ɫYq !Gǿv̇خ F}qb]70)d-}PfY{4@}2ԗNIǃc%UImcƝ>xt9$ OVE*Û#׈r@l$PrHaa dZrqIoT\,tj2FAxv-Lp׌p TI/ \sf; jViTo^cpb]€<a՜y9:+,E f6NEKU}^;nZuUS4 ѬbN.kjT% iV )GJ@TxIENDB`ipe-7.2.7/build/doc/fontbbox.svg000644 000766 000000 00000022447 13022535407 020561 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/fontbbox2.svg000644 000766 000000 00000023366 13022535407 020644 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/functions.html000644 000766 000000 00000032631 13022535407 021111 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- a -


ipe-7.2.7/build/doc/functions_0x7e.html000644 000766 000000 00000021642 13022535407 021754 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- ~ -


ipe-7.2.7/build/doc/functions_b.html000644 000766 000000 00000017221 13022535407 021410 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- b -


ipe-7.2.7/build/doc/functions_c.html000644 000766 000000 00000037054 13022535407 021417 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- c -


ipe-7.2.7/build/doc/functions_d.html000644 000766 000000 00000045655 13022535407 021426 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- d -


ipe-7.2.7/build/doc/functions_e.html000644 000766 000000 00000057005 13022535407 021417 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- e -


ipe-7.2.7/build/doc/functions_enum.html000644 000766 000000 00000010474 13022535407 022136 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Enumerations
 

ipe-7.2.7/build/doc/functions_eval.html000644 000766 000000 00000047427 13022535407 022131 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Enumerator
 

- e -


ipe-7.2.7/build/doc/functions_f.html000644 000766 000000 00000023022 13022535407 021410 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- f -


ipe-7.2.7/build/doc/functions_func.html000644 000766 000000 00000032251 13022535407 022122 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- a -


ipe-7.2.7/build/doc/functions_func_0x7e.html000644 000766 000000 00000021602 13022535407 022763 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- ~ -


ipe-7.2.7/build/doc/functions_func_b.html000644 000766 000000 00000017161 13022535407 022426 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- b -


ipe-7.2.7/build/doc/functions_func_c.html000644 000766 000000 00000035632 13022535407 022432 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- c -


ipe-7.2.7/build/doc/functions_func_d.html000644 000766 000000 00000045224 13022535407 022431 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- d -


ipe-7.2.7/build/doc/functions_func_e.html000644 000766 000000 00000014201 13022535407 022421 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- e -


ipe-7.2.7/build/doc/functions_func_f.html000644 000766 000000 00000022762 13022535407 022435 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- f -


ipe-7.2.7/build/doc/functions_func_g.html000644 000766 000000 00000021432 13022535407 022427 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- g -


ipe-7.2.7/build/doc/functions_func_h.html000644 000766 000000 00000013151 13022535407 022427 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- h -


ipe-7.2.7/build/doc/functions_func_i.html000644 000766 000000 00000023243 13022535407 022433 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- i -


ipe-7.2.7/build/doc/functions_func_k.html000644 000766 000000 00000011505 13022535407 022433 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- k -


ipe-7.2.7/build/doc/functions_func_l.html000644 000766 000000 00000017733 13022535407 022445 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- l -


ipe-7.2.7/build/doc/functions_func_m.html000644 000766 000000 00000020240 13022535407 022431 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- m -


ipe-7.2.7/build/doc/functions_func_n.html000644 000766 000000 00000014416 13022535407 022442 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- n -


ipe-7.2.7/build/doc/functions_func_o.html000644 000766 000000 00000025652 13022535407 022447 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- o -


ipe-7.2.7/build/doc/functions_func_p.html000644 000766 000000 00000034150 13022535407 022441 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- p -


ipe-7.2.7/build/doc/functions_func_q.html000644 000766 000000 00000010656 13022535407 022447 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- q -


ipe-7.2.7/build/doc/functions_func_r.html000644 000766 000000 00000020754 13022535407 022450 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- r -


ipe-7.2.7/build/doc/functions_func_s.html000644 000766 000000 00000072242 13022535407 022450 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- s -


ipe-7.2.7/build/doc/functions_func_t.html000644 000766 000000 00000023470 13022535407 022450 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- t -


ipe-7.2.7/build/doc/functions_func_u.html000644 000766 000000 00000012630 13022535407 022445 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- u -


ipe-7.2.7/build/doc/functions_func_v.html000644 000766 000000 00000014627 13022535407 022456 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- v -


ipe-7.2.7/build/doc/functions_func_w.html000644 000766 000000 00000014446 13022535407 022456 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
ipe-7.2.7/build/doc/functions_func_x.html000644 000766 000000 00000011077 13022535407 022454 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- x -


ipe-7.2.7/build/doc/functions_func_z.html000644 000766 000000 00000011041 13022535407 022445 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Functions
 

- z -


ipe-7.2.7/build/doc/functions_g.html000644 000766 000000 00000021472 13022535407 021420 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- g -


ipe-7.2.7/build/doc/functions_h.html000644 000766 000000 00000013211 13022535407 021411 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- h -


ipe-7.2.7/build/doc/functions_i.html000644 000766 000000 00000077610 13022535407 021427 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- i -


ipe-7.2.7/build/doc/functions_k.html000644 000766 000000 00000011545 13022535407 021424 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- k -


ipe-7.2.7/build/doc/functions_l.html000644 000766 000000 00000020166 13022535407 021424 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- l -


ipe-7.2.7/build/doc/functions_m.html000644 000766 000000 00000020300 13022535407 021413 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- m -


ipe-7.2.7/build/doc/functions_n.html000644 000766 000000 00000014701 13022535407 021424 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- n -


ipe-7.2.7/build/doc/functions_o.html000644 000766 000000 00000026121 13022535407 021424 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- o -


ipe-7.2.7/build/doc/functions_p.html000644 000766 000000 00000035545 13022535407 021437 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- p -


ipe-7.2.7/build/doc/functions_q.html000644 000766 000000 00000010716 13022535407 021431 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- q -


ipe-7.2.7/build/doc/functions_r.html000644 000766 000000 00000021014 13022535407 021423 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- r -


ipe-7.2.7/build/doc/functions_rela.html000644 000766 000000 00000005551 13022535407 022115 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Related Functions
 

ipe-7.2.7/build/doc/functions_s.html000644 000766 000000 00000072707 13022535407 021443 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- s -


ipe-7.2.7/build/doc/functions_t.html000644 000766 000000 00000030527 13022535407 021436 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- t -


ipe-7.2.7/build/doc/functions_type.html000644 000766 000000 00000005313 13022535407 022147 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Typedefs
 

ipe-7.2.7/build/doc/functions_u.html000644 000766 000000 00000012670 13022535407 021436 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- u -


ipe-7.2.7/build/doc/functions_v.html000644 000766 000000 00000015106 13022535407 021434 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- v -


ipe-7.2.7/build/doc/functions_vars.html000644 000766 000000 00000007207 13022535407 022145 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- a -


ipe-7.2.7/build/doc/functions_vars_c.html000644 000766 000000 00000007320 13022535407 022443 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- c -


ipe-7.2.7/build/doc/functions_vars_d.html000644 000766 000000 00000007106 13022535407 022446 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- d -


ipe-7.2.7/build/doc/functions_vars_i.html000644 000766 000000 00000063007 13022535407 022455 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- i -


ipe-7.2.7/build/doc/functions_vars_n.html000644 000766 000000 00000007112 13022535410 022447 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- n -


ipe-7.2.7/build/doc/functions_vars_o.html000644 000766 000000 00000007076 13022535410 022461 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- o -


ipe-7.2.7/build/doc/functions_vars_p.html000644 000766 000000 00000010243 13022535410 022450 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- p -


ipe-7.2.7/build/doc/functions_vars_s.html000644 000766 000000 00000007126 13022535410 022461 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- s -


ipe-7.2.7/build/doc/functions_vars_t.html000644 000766 000000 00000010227 13022535410 022456 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
ipe-7.2.7/build/doc/functions_vars_v.html000644 000766 000000 00000007125 13022535410 022463 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
ipe-7.2.7/build/doc/functions_vars_x.html000644 000766 000000 00000007045 13022535410 022466 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- x -


ipe-7.2.7/build/doc/functions_vars_y.html000644 000766 000000 00000007045 13022535410 022467 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- y -


ipe-7.2.7/build/doc/functions_vars_z.html000644 000766 000000 00000007050 13022535410 022464 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members - Variables
 

- z -


ipe-7.2.7/build/doc/functions_w.html000644 000766 000000 00000014506 13022535410 021432 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- w -


ipe-7.2.7/build/doc/functions_x.html000644 000766 000000 00000011315 13022535410 021426 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- x -


ipe-7.2.7/build/doc/functions_y.html000644 000766 000000 00000010703 13022535410 021427 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- y -


ipe-7.2.7/build/doc/functions_z.html000644 000766 000000 00000011262 13022535410 021431 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Members
Here is a list of all class members with links to the classes they belong to:

- z -


ipe-7.2.7/build/doc/group__attr.html000644 000766 000000 00000133307 13022535410 021422 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Attributes
Ipe Attributes

Classes

struct  ipe::Tiling
 
struct  ipe::Gradient
 
struct  ipe::Layout
 
struct  ipe::TextPadding
 
class  ipe::Color
 
class  ipe::Effect
 
class  ipe::Repository
 
class  ipe::Attribute
 
class  ipe::AllAttributes
 
class  ipe::Symbol
 

Typedefs

typedef std::vector< Attribute > ipe::AttributeSeq
 

Enumerations

enum  ipe::Kind {
  ipe::EPen = 0, ipe::ESymbolSize, ipe::EArrowSize, ipe::EColor,
  ipe::EDashStyle, ipe::ETextSize, ipe::ETextStretch, ipe::ETextStyle,
  ipe::ELabelStyle, ipe::EGridSize, ipe::EAngleSize, ipe::EOpacity,
  ipe::ETiling, ipe::ESymbol, ipe::EGradient, ipe::EEffect
}
 
enum  ipe::Property {
  ipe::EPropPen = 0, ipe::EPropSymbolSize, ipe::EPropFArrow, ipe::EPropRArrow,
  ipe::EPropFArrowSize, ipe::EPropRArrowSize, ipe::EPropFArrowShape, ipe::EPropRArrowShape,
  ipe::EPropStrokeColor, ipe::EPropFillColor, ipe::EPropMarkShape, ipe::EPropPathMode,
  ipe::EPropDashStyle, ipe::EPropTextSize, ipe::EPropTextStyle, ipe::EPropLabelStyle,
  ipe::EPropOpacity, ipe::EPropTiling, ipe::EPropGradient, ipe::EPropHorizontalAlignment,
  ipe::EPropVerticalAlignment, ipe::EPropLineJoin, ipe::EPropLineCap, ipe::EPropFillRule,
  ipe::EPropPinned, ipe::EPropTransformations, ipe::EPropTransformableText, ipe::EPropMinipage,
  ipe::EPropWidth, ipe::EPropDecoration
}
 
enum  ipe::TPathMode { ipe::EStrokedOnly, ipe::EStrokedAndFilled, ipe::EFilledOnly }
 
enum  ipe::THorizontalAlignment { ipe::EAlignLeft, ipe::EAlignRight, ipe::EAlignHCenter }
 
enum  ipe::TVerticalAlignment { ipe::EAlignBottom, ipe::EAlignBaseline, ipe::EAlignTop, ipe::EAlignVCenter }
 
enum  ipe::TLineJoin { ipe::EDefaultJoin, ipe::EMiterJoin, ipe::ERoundJoin, ipe::EBevelJoin }
 
enum  ipe::TLineCap { ipe::EDefaultCap, ipe::EButtCap, ipe::ERoundCap, ipe::ESquareCap }
 
enum  ipe::TFillRule { ipe::EDefaultRule, ipe::EWindRule, ipe::EEvenOddRule }
 
enum  ipe::TPinned { ipe::ENoPin = 0x00, ipe::EHorizontalPin = 0x01, ipe::EVerticalPin = 0x02, ipe::EFixedPin = 0x03 }
 
enum  ipe::TTransformations { ipe::ETransformationsTranslations, ipe::ETransformationsRigidMotions, ipe::ETransformationsAffine }
 
enum  ipe::TSelect { ipe::ENotSelected = 0, ipe::EPrimarySelected, ipe::ESecondarySelected }
 

Variables

const char *const ipe::kind_names []
 
const char *const ipe::property_names []
 

Detailed Description

Attributes for Ipe objects.

Ipe objects have attributes such as color, line width, dash pattern, etc. Most attributes can be symbolic (the need to be looked up in a style sheet before rendering) or absolute.

The Color class represents absolute values of colors. The class Attribute encapsulates all attributes that can be either symbolic or absolute.

The Lua bindings for attributes are described here.

Typedef Documentation

A sequence of attribute values.

Enumeration Type Documentation

enum ipe::Kind

The different kinds of attributes.The same symbolic attribute (say "normal") has a different value in the StyleSheet depending on the Kind of attribute. The main use for Kind is as an argument to StyleSheet::find.

ESymbol, EGradient, ETiling, and EEffect have their own lookup methods in the StyleSheet. The values are still useful as an argument to allNames(), has(), and findDefinition().

Enumerator
EPen 
ESymbolSize 
EArrowSize 
EColor 
EDashStyle 
ETextSize 
ETextStretch 
ETextStyle 
ELabelStyle 
EGridSize 
EAngleSize 
EOpacity 
ETiling 
ESymbol 
EGradient 
EEffect 

A Property identifies an attribute that an object can have.The Property identifies a unique attribute of an object, while different Property values can be of the same ipe::Kind. For instance, both EPropStrokeColor and EPropFillColor identify an Attribute of Kind EColor.

Enumerator
EPropPen 
EPropSymbolSize 
EPropFArrow 
EPropRArrow 
EPropFArrowSize 
EPropRArrowSize 
EPropFArrowShape 
EPropRArrowShape 
EPropStrokeColor 
EPropFillColor 
EPropMarkShape 
EPropPathMode 
EPropDashStyle 
EPropTextSize 
EPropTextStyle 
EPropLabelStyle 
EPropOpacity 
EPropTiling 
EPropGradient 
EPropHorizontalAlignment 
EPropVerticalAlignment 
EPropLineJoin 
EPropLineCap 
EPropFillRule 
EPropPinned 
EPropTransformations 
EPropTransformableText 
EPropMinipage 
EPropWidth 
EPropDecoration 

Path mode (stroked, filled, or both).

Enumerator
EStrokedOnly 
EStrokedAndFilled 
EFilledOnly 

Horizontal alignment.

Enumerator
EAlignLeft 
EAlignRight 
EAlignHCenter 

Vertical alignment.

Enumerator
EAlignBottom 
EAlignBaseline 
EAlignTop 
EAlignVCenter 

Line join style.

The EDefaultJoin means to use the setting from the style sheet.

Enumerator
EDefaultJoin 
EMiterJoin 
ERoundJoin 
EBevelJoin 

Line cap style.

The EDefaultCap means to use the setting from the style sheet.

Enumerator
EDefaultCap 
EButtCap 
ERoundCap 
ESquareCap 

Fill rule.

The EDefaultRule means to use the setting from the style sheet.

Enumerator
EDefaultRule 
EWindRule 
EEvenOddRule 

Pinning status of objects.

Enumerator
ENoPin 
EHorizontalPin 
EVerticalPin 
EFixedPin 

Transformations that are permitted for an object.

Enumerator
ETransformationsTranslations 
ETransformationsRigidMotions 
ETransformationsAffine 

Selection status of an object on the page.

Enumerator
ENotSelected 
EPrimarySelected 
ESecondarySelected 

Variable Documentation

const char *const ipe::kind_names
Initial value:
= {
"pen", "symbolsize", "arrowsize", "color",
"dashstyle", "textsize", "textstretch", "textstyle", "labelstyle",
"gridsize", "anglesize", "opacity", "tiling",
"symbol", "gradient", "effect", 0 }

Referenced by ipe::StyleSheet::saveAsXml().

const char *const ipe::property_names
Initial value:
= {
"pen", "symbolsize",
"farrow", "rarrow",
"farrowsize", "rarrowsize",
"farrowshape", "rarrowshape",
"stroke", "fill", "markshape",
"pathmode", "dashstyle",
"textsize", "textstyle", "labelstyle",
"opacity", "tiling", "gradient",
"horizontalalignment", "verticalalignment",
"linejoin", "linecap", "fillrule",
"pinned", "transformations", "transformabletext",
"minipage", "width", "decoration", 0 }

ipe-7.2.7/build/doc/group__base.html000644 000766 000000 00000032672 13022535410 021365 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Base
Ipe Base

Classes

class  ipe::String
 
class  ipe::Fixed
 
class  ipe::Lex
 
class  ipe::Buffer
 
class  ipe::Stream
 
class  ipe::StringStream
 
class  ipe::FileStream
 
class  ipe::DataSource
 
class  ipe::FileSource
 
class  ipe::BufferSource
 
class  ipe::Bitmap::MRenderData
 
class  ipe::Bitmap
 
class  ipe::Painter
 
class  ipe::PdfObj
 
class  ipe::PdfNull
 
class  ipe::PdfBool
 
class  ipe::PdfNumber
 
class  ipe::PdfString
 
class  ipe::PdfName
 
class  ipe::PdfRef
 
class  ipe::PdfArray
 
class  ipe::PdfDict
 
class  ipe::PdfParser
 
class  ipe::PdfFile
 
class  ipe::Platform
 
class  ipe::PdfResources
 
class  ipe::XmlAttributes
 
class  ipe::XmlParser
 
class  ipe::TellStream
 

Variables

const int ipe::IPELIB_VERSION = 70207
 
const int ipe::OLDEST_FILE_FORMAT = 70000
 
const int ipe::FILE_FORMAT = 70206
 

Detailed Description

Basic classes for Ipe.

Some very basic type definitions, streams, lexical analysis, and XML parsing.

All parts of Ipe make use of the STL. The C++ I/O streams library is not used, as Ipelib doesn't do much I/O. Ipe objects support internalization and externalization through an abstract interface based on ipe::Stream's.

Clients of Ipelib can use any I/O library that implements this interface. Ipe simply uses cstdio.

Variable Documentation

const int ipe::IPELIB_VERSION = 70207
const int ipe::OLDEST_FILE_FORMAT = 70000

Oldest readable file format version.

Referenced by ipe::ImlParser::parseDocument().

const int ipe::FILE_FORMAT = 70206

Current file format version.

Referenced by ipe::Document::saveAsXml().


ipe-7.2.7/build/doc/group__cairo.html000644 000766 000000 00000005631 13022535410 021543 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Cairo interface
Ipe Cairo interface

Classes

class  ipe::CairoPainter
 
class  ipe::Fonts
 
class  ipe::Face
 

Detailed Description

Drawing Ipe objects using the Cairo library.

This module contains the classes needed to render Ipe objects using the Cairo and Freetype libraries.

These classes are not in Ipelib, but in a separate library libipecairo.


ipe-7.2.7/build/doc/group__canvas.html000644 000766 000000 00000007362 13022535410 021724 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe canvas
Ipe canvas

Classes

class  ipe::Tool
 
class  ipe::Canvas
 
class  ipe::PageSelector
 
class  ipe::PanTool
 
class  ipe::SelectTool
 
class  ipe::TransformTool
 

Detailed Description

A widget (control) that displays an Ipe document page.

This module contains the classes needed to display and edit Ipe objects using the selected toolkit.

These classes are not in Ipelib, but in a separate library libipecanvas.


ipe-7.2.7/build/doc/group__doc.html000644 000766 000000 00000006416 13022535410 021215 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Document
Ipe Document

Classes

class  ipe::Document
 
class  ipe::Page
 
class  ipe::StyleSheet
 
class  ipe::Cascade
 

Detailed Description

The classes managing an Ipe document.

The main class, Document, represents an entire Ipe document, and allows you to load, save, access, and modify such a document.

Other classes represent pages, layers, and views of a document. Another important class is the StyleSheet, which maps symbolic attributes to absolute values.


ipe-7.2.7/build/doc/group__geo.html000644 000766 000000 00000025110 13022535410 021212 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Geometry
Ipe Geometry

Classes

class  ipe::Angle
 
class  ipe::Vector
 
class  ipe::Rect
 
class  ipe::Line
 
class  ipe::Segment
 
class  ipe::Linear
 
class  ipe::Matrix
 
class  ipe::Bezier
 
class  ipe::Arc
 
class  ipe::CurveSegment
 
class  ipe::Curve
 
class  ipe::SubPath
 
class  ipe::Ellipse
 
class  ipe::ClosedSpline
 
class  ipe::Shape
 

Functions

template<class T >
ipe::max (const T &lhs, const T &rhs)
 
template<class T >
ipe::min (const T &lhs, const T &rhs)
 
double ipe::abs (double val)
 

Detailed Description

Geometric primitives for Ipe.

The IpeGeo module provides a few classes for constant-size geometric primitives, such as vector, axis-aligned rectangles, lines, rays, line segments, etc.

Function Documentation

template<class T >
T ipe::max ( const T &  lhs,
const T &  rhs 
)
inline

Maximum of two values.

template<class T >
T ipe::min ( const T &  lhs,
const T &  rhs 
)
inline

Minimum of two values.

double ipe::abs ( double  val)
inline

ipe-7.2.7/build/doc/group__high.html000644 000766 000000 00000013136 13022535410 021364 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Utilities
Ipe Utilities

Classes

class  ipe::ObjectFactory
 
class  ipe::ImlParser
 
class  ipe::Visitor
 
class  ipe::Snap
 
class  ipe::BitmapFinder
 
class  ipe::BBoxPainter
 
class  ipe::A85Stream
 
class  ipe::Base64Stream
 
class  ipe::A85Source
 
class  ipe::Base64Source
 
class  ipe::DeflateStream
 
class  ipe::InflateSource
 

Detailed Description

Classes to manage Ipe documents and objects.

This module contains classes used in the implementation of the Ipe program itself. The only classes from this module you may be interested in are Visitor (which is essential to traverse an Ipe object structure), and perhaps Snap (if you are writing an Ipelet whose behavior depends on the current snap setting in the Ipe program).


ipe-7.2.7/build/doc/group__ipelet.html000644 000766 000000 00000006335 13022535410 021732 0ustar00otfried.cheongwheel000000 000000 Ipelib: The Ipelet interface
The Ipelet interface

Classes

class  ipe::Ipelet
 
class  ipe::IpeletHelper
 

Detailed Description

Implementation of Ipe plugins.

Ipelets are dynamically loaded plugins for Ipe written in Lua.

The Ipelet class makes it easy for ipelet authors to write ipelets in C++ without using Lua's C API. They only need to provide some boilerplate Lua code to define the labels and functions of the ipelet, and use the Lua function "loadIpelet" to load a DLL containing a C++ class derived from Ipelet. The run() method of this class can then be called from Lua. The C++ code has access to services provided by Ipe through an IpeletHelper object.

Ipelet derived classes are restricted to operate on the current page of the document, and cannot modify the StyleSheet or other properties of the document. If you wish to write an ipelet doing this, you need to work in Lua (or create a C++ library using the Lua C API).


ipe-7.2.7/build/doc/group__obj.html000644 000766 000000 00000007140 13022535410 021215 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipe Objects
Ipe Objects

Classes

class  ipe::Group
 
class  ipe::Image
 
class  ipe::Object
 
class  ipe::Path
 
class  ipe::Reference
 
class  ipe::Text
 

Detailed Description

The Ipe object model.

This module deals with the actual objects inside an Ipe document. All Ipe objects are derived from Object.


ipe-7.2.7/build/doc/hierarchy.html000644 000766 000000 00000115721 13022535410 021053 0ustar00otfried.cheongwheel000000 000000 Ipelib: Class Hierarchy
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 123]
 Cipe::AllAttributesCollection of all object attributes
 Cipe::AngleA double that's an angle
 Cipe::ArcAn arc of an ellipse
 Cipe::AttributeAn attribute of an Ipe Object
 Cipe::BezierA cubic Bezier spline
 Cipe::BitmapA bitmap
 Cipe::BufferA memory buffer
 Cipe::CanvasBase
 Cipe::CanvasObserver
 Cipe::CascadeA cascade of style sheets
 Cipe::ColorAn absolute RGB color
 Cipe::CurveSegmentA segment on an SubPath
 Cipe::DataSourceInterface for getting data for parsing
 Cipe::DocumentThe model for an Ipe document
 Cipe::EffectEffect that Acrobat Reader will show on page change
 Cipe::FaceA typeface (aka font), actually loaded (from a font file or PDF file)
 Cipe::FixedFixed point number with three (decimal) fractional digits
 Cipe::FontsProvides the fonts used to render text
 Cipe::GradientA gradient pattern
 Cipe::IpeletAbstract base class for Ipelets
 Cipe::IpeletDataInformation provided to an ipelet when it is run
 Cipe::IpeletHelperService provider for Ipelets
 Cipe::LatexObject that converts latex source to PDF format
 Cipe::LayoutLayout of a Page
 Cipe::LexLexical analyser. Seeded with a string
 Cipe::LineA directed line
 Cipe::LinearLinear transformation in the plane (2x2 matrix)
 Cipe::MatrixHomogeneous transformation in the plane
 Cipe::Bitmap::MRenderDataAbstract base class for pixmap data stored by a client
 Cipe::ObjectBase class for all Ipe objects, composite or leaf
 Cipe::ObjectFactoryFactory for Ipe leaf objects
 Cipe::PageAn Ipe document page
 Cipe::StyleSheet::PageNumberStyleHow to show page numbers on the paper
 Cipe::PainterInterface for drawing
 Cipe::PdfFileAll information obtained by parsing a PDF file
 Cipe::PdfObjAbstract base class for PDF objects
 Cipe::PdfParserPDF parser
 Cipe::PdfResourcesAll the resources needed by the text objects in the document
 Cipe::PdfTokenA PDF lexical token
 Cipe::PdfWriterCreate PDF file
 Cipe::PlatformPlatform dependent methods
 Cipe::PsWriter
 CQListWidget
 CQWidget
 Cipe::RectAxis-parallel rectangle (which can be empty)
 Cipe::RepositoryRepository of strings
 Cipe::SegmentA directed line segment
 Cipe::ShapeA geometric shape, consisting of several (open or closed) subpaths
 Cipe::SnapPerforms snapping operations, and stores snapping state
 Cipe::SelectTool::SObj
 Cipe::PdfResources::SPageNumber
 Cipe::Document::SPropertiesProperties of a document
 Cipe::Painter::State
 Cipe::Gradient::StopA color stop
 Cipe::StreamAbstract base class for output streams
 Cipe::StringStrings and buffers
 Cipe::CanvasBase::Style
 Cipe::StyleSheetA style sheet maps symbolic names to absolute values
 Cipe::SubPathA subpath of a Path
 Cipe::SymbolA symbol is a named object defined in an ipe::StyleSheet
 Cipe::TextPaddingPadding for text bounding box
 Cipe::Thumbnail
 Cipe::TilingA tiling pattern
 Cipe::StyleSheet::TitleStyleStyle of the title on a page
 Cipe::ToolAbstract base class for various canvas tools
 Cipe::VectorTwo-dimensional vector
 Cipe::VisitorBase class for visitors to Object
 Cipe::Text::XForm
 Cipe::XmlAttributesStores attributes of an XML tag
 Cipe::XmlParserBase class for XML stream parsing

ipe-7.2.7/build/doc/index.html000644 000766 000000 00000022260 13022535410 020177 0ustar00otfried.cheongwheel000000 000000 Ipelib: The Ipe library documentation
The Ipe library documentation

The Ipe library ("Ipelib") provides the geometric primitives and implements all the geometric objects that appear in Ipe. Many tasks related to modifying an Ipe document are actually performed by Ipelib. For instance, the ipetoipe program consists of only a few calls to Ipelib.

Ipelib can easily be used by C++ programs to read, write, and modify Ipe documents. Compiling Ipelib is easy, it requires only the standard C++ library (including the STL), and the zlib compression library. Nearly all symbols in Ipelib are in the ipe namespace, those that aren't start with the letters "Ipe".

Many of the Ipelib classes are also made available as Lua objects. Programming in Lua describes the Lua bindings to Ipelib, to ipeui, and to the Ipe program itself. The Ipe program itself is mostly written in Lua and uses these Lua bindings.

All filenames passed to Ipelib are assumed to be in the local system's encoding. All Lua strings are assumed to be UTF-8 (filenames are converted by the ipelua bindings).

Ipelets explains how to write ipelets, that is, extensions to Ipe. Ipelets are either written in Lua or in C++ (using a small Lua wrapper to describe the ipelet). C++ ipelets have to be linked with Ipelib to access and modify Ipe objects.

The classes documented here are implemented in five different libraries:

  • libipe is the core Ipelib library. It implements geometric primitives, Ipe objects, and the Ipe document. However, it doesn't know anything about drawing to the screen or about the Lua bindings.
  • libipecairo implements the Ipe cairo module. It provides drawing of Ipe objects using the Cairo library.
  • libipelua implements the Lua bindings for Ipelib. If installed properly, it can be loaded dynamically from Lua using require. It is also used by ipescript.
  • libipecanvas implements the Ipe canvas module. It provides a widget for displaying and editing Ipe objects.
  • libipeui implements Lua bindings for user interfaces. This library does not depend on any other Ipe component, and can be used for other Lua projects.

Here is an annotated list of the modules:

Finally, here is list of the pages describing Lua bindings:


ipe-7.2.7/build/doc/intersection.svg000644 000766 000000 00000071670 13022535410 021442 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/ipe.dtd000644 000766 000000 00000014106 13022535410 017454 0ustar00otfried.cheongwheel000000 000000 ipe-7.2.7/build/doc/ipelets.html000644 000766 000000 00000006031 13022535410 020533 0ustar00otfried.cheongwheel000000 000000 Ipelib: Ipelets
Ipelets

Ipe is an extensible drawing editor, and you can write extensions to Ipe that will appear on the Ipe menu and can be called from inside Ipe like other Ipe functions.

Ipe extensions are called Ipelets. They are most easily written in the language Lua (www.lua.org), in which also most of Ipe's user interface is written. Lua is a high-level interpreted language, in which interesting classes like vectors, matrices, and Ipe objects are made available. See Programming in Lua for more information about programming with Ipelib in Lua.

Ipelets written in Lua explains how to write ipelets in Lua.

Often, however, you will already have code that provides some geometric computation in another programming language such as C++. In such a situation you can create Lua bindings for your code and use it from your Lua ipelet. Creating Lua bindings is not documented here, as Ipe also provides an easier solution that will suffice in many cases. You can implement your ipelet entirely in C++, and only need some boilerplate code in Lua that defines the labels and functions inside the ipelet. Ipe will take care of loading and calling your C++ code.

Ipelets written in C++ explains how to write ipelets in C++.


ipe-7.2.7/build/doc/jquery.js000644 000766 000000 00000435642 13022535410 020073 0ustar00otfried.cheongwheel000000 000000 /*! * jQuery JavaScript Library v1.7.1 * http://jquery.com/ * * Copyright 2011, John Resig * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * Includes Sizzle.js * http://sizzlejs.com/ * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * * Date: Mon Nov 21 21:11:03 2011 -0500 */ (function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); /*! * Sizzle CSS Selector Engine * Copyright 2011, The Dojo Foundation * Released under the MIT, BSD, and GPL Licenses. * More information: http://sizzlejs.com/ */ (function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! * jQuery UI 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI */ (function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! * jQuery UI Widget 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Widget */ (function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! * jQuery UI Mouse 1.8.18 * * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) * Dual licensed under the MIT or GPL Version 2 licenses. * http://jquery.org/license * * http://docs.jquery.com/UI/Mouse * * Depends: * jquery.ui.widget.js */ (function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! * jQuery hashchange event - v1.3 - 7/21/2010 * http://benalman.com/projects/jquery-hashchange-plugin/ * * Copyright (c) 2010 "Cowboy" Ben Alman * Dual licensed under the MIT and GPL licenses. * http://benalman.com/about/license/ */ (function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('